From bcd877953ffaac50144c2e1a7b52d52f13ee3ced Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 19 Aug 2020 16:38:49 +0200
Subject: [PATCH 001/251] ORGANISATION_REPORT_DATA Field in Organisation_entity
 was calculated unnecessarily

---
 .../entityfields/organisation_report_data/valueProcess.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/entity/Organisation_entity/entityfields/organisation_report_data/valueProcess.js b/entity/Organisation_entity/entityfields/organisation_report_data/valueProcess.js
index 873ef5f798..0088b85da1 100644
--- a/entity/Organisation_entity/entityfields/organisation_report_data/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/organisation_report_data/valueProcess.js
@@ -1,13 +1,13 @@
-import("system.logging");
 import("system.vars");
 import("system.result");
 import("system.neon");
 import("Organisation_lib");
 
 var presentationMode = vars.get("$sys.presentationmode");
-if (presentationMode != neon.CONTEXT_PRESENTATIONMODE_EDIT) {
-    var reportData = OrgUtils.buildOrgReport(vars.get("$field.ORGANISATIONID"), vars.get("$field.CONTACTID"))
-
+var opState = vars.get("$sys.operatingstate");
+if (opState == neon.OPERATINGSTATE_VIEW && presentationMode == neon.CONTEXT_PRESENTATIONMODE_FULL ) 
+{
+    var reportData = OrgUtils.buildOrgReport(vars.get("$field.ORGANISATIONID"), vars.get("$field.CONTACTID"));
     if (reportData != null) {
         result.string(reportData[1]);
     }
-- 
GitLab


From 527ac66584077c3bb34250d1d117e7cdb8588d66 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Thu, 9 Jul 2020 11:35:52 +0000
Subject: [PATCH 002/251] =?UTF-8?q?#1061243-Bugfix=5FL=C3=B6schenAllerDate?=
 =?UTF-8?q?ns=C3=A4tze=20Verwendung=20des=20Alias?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit 2e142812a5e95755ab31ef586f89dcb8bbfca7f5)
---
 .../entityfields/leadimportreset/onActionProcess.js             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js b/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
index c7b4f0fdf7..e3ab27e0a1 100644
--- a/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
+++ b/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
@@ -46,7 +46,7 @@ function _deleteData (pTableName, pleadimportId, pdateADayBefor)
 {
     let uTableName = pTableName.charAt(0);
     newWhere(pTableName + "." + pTableName + "ID", 
-        newSelect(pTableName + "." + pTableName + "ID")
+        newSelect(uTableName + "." + pTableName + "ID")
         .from(pTableName, uTableName)
         .join("LEADLOG", "LEADLOG.DATE_NEW = " + uTableName + ".DATE_NEW")
         .where(uTableName + ".USER_NEW = LEADLOG.USER_NEW")
-- 
GitLab


From 74dc7403b1ee7e02e4e35b043a47c2fb53a009d3 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Mon, 14 Sep 2020 11:08:59 +0000
Subject: [PATCH 003/251] Calendar_lib: exchangeEmail Fix

(cherry picked from commit 8026e5e52db88fc59b24b36897c6f92f3dd96ddb)

(cherry picked from commit bed0d02e3e58c584835e4436f7faba2bbed5bde5)
---
 process/Calendar_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js
index 7cc5df8675..13fb9288d3 100644
--- a/process/Calendar_lib/process.js
+++ b/process/Calendar_lib/process.js
@@ -108,7 +108,7 @@ CalendarUtil.getEffectiveCalendarIdFromUser = function(pUser)
     var email = userParams["email"];
     
     if(exchangeEmail)
-        return exhangeEmail;
+        return exchangeEmail;
     else if(calendarId)
         return calendarId;
     else if(email)
-- 
GitLab


From b3191d89988064662ae586c7127ff52ace0de8e3 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Tue, 15 Sep 2020 12:57:05 +0000
Subject: [PATCH 004/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1063955][Dashlet - Salesfunnel-Graphik mit Vertriebsprojekttabelle]

---
 .../Salesproject_entity.aod                   | 95 +++++++++++--------
 .../filterConditionProcess.js                 |  5 +
 .../groupQueryProcess.js                      | 31 ++++++
 .../recordcontainers/db/fromClauseProcess.js  |  1 +
 .../recordcontainers/db/orderClauseProcess.js | 10 +-
 neonContext/Salesproject/Salesproject.aod     |  8 ++
 .../SalesprojectAnalyses.aod                  |  4 -
 .../Vertriebsdashboard/Vertriebsdashboard.aod |  2 +-
 .../SalesprojectAnalysesPhases_view.aod       | 58 +++++++++++
 .../SalesprojectAnalyses_view.aod             | 84 ++++++++++++++++
 .../SalesprojectPhases_view.aod               | 59 ------------
 11 files changed, 251 insertions(+), 106 deletions(-)
 create mode 100644 entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/filterConditionProcess.js
 create mode 100644 entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
 create mode 100644 neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod
 create mode 100644 neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
 delete mode 100644 neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod

diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index c3ff1ca80c..efb2194b52 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -14,7 +14,7 @@
   <useFavorites v="true" />
   <iconId>VAADIN:BOOK_DOLLAR</iconId>
   <imageProcess>%aditoprj%/entity/Salesproject_entity/imageProcess.js</imageProcess>
-  <titlePlural>Salesprojects</titlePlural>
+  <titlePlural>Sales Projects</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
@@ -257,7 +257,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Member_entity</entityName>
-        <fieldName>WithDistrictResponsibles</fieldName>
+        <fieldName>Links</fieldName>
       </dependency>
       <children>
         <entityParameter>
@@ -595,7 +595,6 @@
     </entityConsumer>
     <entityConsumer>
       <name>Classifications</name>
-      <refreshParent v="true" />
       <dependency>
         <name>dependency</name>
         <entityName>Classification_entity</entityName>
@@ -626,6 +625,13 @@
       <title>Days running</title>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/runtime/valueProcess.js</valueProcess>
     </entityField>
+    <entityField>
+      <name>ClassificationResult</name>
+      <title>Classification</title>
+      <groupable v="false" />
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationresult/valueProcess.js</valueProcess>
+    </entityField>
     <entityConsumer>
       <name>SalesprojectForecastCharts</name>
       <dependency>
@@ -666,6 +672,28 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>ClassificationGroups</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ClassificationGroupAnalyses_entity</entityName>
+        <fieldName>GroupAnalyses</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ClassificationType_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/classificationtype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectRowid_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/objectrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
     <entityField>
       <name>PHASEINFO</name>
       <title>phase information</title>
@@ -746,10 +774,6 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
-    <entityField>
-      <name>CLASSIFICATIONSTORAGE_ID</name>
-      <title>Classification</title>
-    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -763,19 +787,26 @@
       <onDBDelete>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
-          <name>c8b6f1e0-630c-45d1-bdfb-d1eb3f6d6bef</name>
+          <name>75cc0cd9-09fc-46a8-b25d-369c4e9c0fd7</name>
           <tableName>SALESPROJECT</tableName>
           <primaryKey>SALESPROJECTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>5f687ee0-15eb-4e19-aa5a-461c446e7d91</name>
+          <name>a7b7adf3-c2fd-4688-9970-0000841712d7</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
+        <linkInformation>
+          <name>b14de4fd-28a8-4503-9c29-0c4dd8b31607</name>
+          <tableName>AB_KEYWORD_ENTRY</tableName>
+          <primaryKey>AB_KEYWORD_ENTRYID</primaryKey>
+          <isUIDTable v="false" />
+          <readonly v="true" />
+        </linkInformation>
         <linkInformation>
           <name>1c73b0de-0e70-421e-a8aa-660dbd177f81</name>
           <tableName>CLASSIFICATIONSTORAGE</tableName>
@@ -789,25 +820,25 @@
           <name>ENDDATE.value</name>
           <recordfield>SALESPROJECT.ENDDATE</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>INFO.value</name>
           <recordfield>SALESPROJECT.INFO</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PHASE.value</name>
           <recordfield>SALESPROJECT.PHASE</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PROBABILITY.value</name>
           <recordfield>SALESPROJECT.PROBABILITY</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PROJECTCODE.value</name>
@@ -829,19 +860,19 @@
           <name>STARTDATE.value</name>
           <recordfield>SALESPROJECT.STARTDATE</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>VOLUME.value</name>
           <recordfield>SALESPROJECT.VOLUME</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
           <recordfield>SALESPROJECT.CONTACT_ID</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.displayValue</name>
@@ -859,13 +890,13 @@
           <name>REASONS.value</name>
           <recordfield>SALESPROJECT.REASONS</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <consumerMapping>
           <name>Organisations</name>
           <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js</filterConditionProcess>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
           <filtertype>BASIC</filtertype>
         </consumerMapping>
         <consumerMapping>
@@ -882,19 +913,13 @@
           <name>STATUS.value</name>
           <recordfield>SALESPROJECT.STATUS</recordfield>
           <isFilterable v="true" />
-          <isLookupFilter v="false" />
+          <isLookupFilter v="true" />
         </dbRecordFieldMapping>
         <aggregateFieldDbMapping>
           <name>COUNT_aggregate.value</name>
           <recordfield>SALESPROJECT.SALESPROJECTID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
-        <dbRecordFieldMapping>
-          <name>CLASSIFICATIONSTORAGE_ID.value</name>
-          <recordfield>CLASSIFICATIONSTORAGE.CLASSIFICATIONVALUE</recordfield>
-          <isFilterable v="true" />
-          <isLookupFilter v="false" />
-        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
@@ -905,21 +930,17 @@
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtensionSet>
-          <name>ClassificationType_filter</name>
-          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterFieldsProcess.js</filterFieldsProcess>
-          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterConditionProcess.js</filterConditionProcess>
-          <isGroupable v="true" />
-          <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js</groupQueryProcess>
+          <name>ClassificationSummary_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtensionSet>
-          <name>ClassificationGroup_filter</name>
-          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterFieldsProcess.js</filterFieldsProcess>
-          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterConditionProcess.js</filterConditionProcess>
-          <isGroupable v="true" />
-          <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js</groupQueryProcess>
+          <name>ClassificationScore_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
       </filterExtensions>
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/filterConditionProcess.js
new file mode 100644
index 0000000000..f410cb6d05
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Sql_lib");
+import("system.vars");
+
+result.string(newWhereIfSet( "SALESPROJECT.PHASE", vars.get("$local.rawvalue")));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
new file mode 100644
index 0000000000..341994efdf
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
@@ -0,0 +1,31 @@
+import("system.logging");
+import("Sql_lib");
+import("system.result");
+import("system.vars");
+import("KeywordRegistry_basic");
+import("Keyword_lib");
+        
+var order = vars.get("$local.order");
+var sqlHelper = new SqlMaskingUtils();
+var groupedList = "SALESPROJECT.PHASE"
+var condition = vars.get("$local.condition");
+var stmt = new SqlBuilder().from("SALESPROJECT").join("AB_KEYWORD_ENTRY", newWhere("AB_KEYWORD_ENTRY.KEYID = SALESPROJECT.PHASE").and("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase())).groupBy(groupedList + ", AB_KEYWORD_ENTRY.SORTING, AB_KEYWORD_ENTRY.KEYID");
+
+if (condition != "  ")
+    stmt.where(condition);
+
+if (vars.get("$local.count")) // TRUE if the count of the records is needed
+{
+    stmt.select(["1 COUNT", groupedList]) //from ACTIVITY where " + condition + " group by "+groupedList+") X";
+    stmt = newSelect("STMT.COUNT")
+    .from(stmt, "STMT")
+    
+} 
+else 
+{
+    stmt.select([groupedList , KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(),"AB_KEYWORD_ENTRY.KEYID"), "count(*)", "count(*)"])
+    if (order != null)
+        stmt.orderBy("AB_KEYWORD_ENTRY.SORTING, " +order);
+}
+
+result.string(stmt.toString());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js b/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
index f7c4fec24f..435ef5659c 100644
--- a/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
@@ -1,5 +1,6 @@
 import("system.vars");
 import("system.result");
+import("KeywordRegistry_basic");
 
 //CLASSIFICATIONSTORAGE is necessaray to make it possible to get the classifications of the organisations and making it possible to group by them
 result.string("SALESPROJECT \n\
diff --git a/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js b/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js
index 71ac17c111..319594ed7e 100644
--- a/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.db");
-
-result.object({
-    "SALESPROJECT.PROJECTTITLE": db.ASCENDING
+import("system.result");
+import("system.db");
+
+result.object({
+    "SALESPROJECT.PROJECTTITLE": db.ASCENDING
 });
\ No newline at end of file
diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod
index fc51006101..4b997e115a 100644
--- a/neonContext/Salesproject/Salesproject.aod
+++ b/neonContext/Salesproject/Salesproject.aod
@@ -67,5 +67,13 @@
       <name>50993084-896d-4d90-9f5e-cd84d3a4dce5</name>
       <view>SalesprojectMultiEdit_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>70a70c7a-ac4e-4022-bfb5-5d13de4cfe6b</name>
+      <view>SalesprojectAnalysesPhases_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>079db4ee-86fc-4985-a253-249622d9f3ce</name>
+      <view>SalesprojectAnalyses_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/SalesprojectAnalyses/SalesprojectAnalyses.aod b/neonContext/SalesprojectAnalyses/SalesprojectAnalyses.aod
index 686800c1bf..fcebed52c4 100644
--- a/neonContext/SalesprojectAnalyses/SalesprojectAnalyses.aod
+++ b/neonContext/SalesprojectAnalyses/SalesprojectAnalyses.aod
@@ -4,10 +4,6 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <entity>SalesprojectAnalyses_entity</entity>
   <references>
-    <neonViewReference>
-      <name>c50b2e10-86ca-4a5b-83d4-946a78c18786</name>
-      <view>SalesprojectPhases_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>ccb97c28-966a-4206-b981-140e87e680bf</name>
       <view>SalesprojectScoreCard_view</view>
diff --git a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
index 61143b9768..0da4c5bde0 100644
--- a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
+++ b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
@@ -60,7 +60,7 @@
     </neonDashlet>
     <neonDashlet>
       <name>Dashlet3</name>
-      <viewName>SalesprojectPhases_view</viewName>
+      <viewName>SalesprojectAnalyses_view</viewName>
       <configName>SalesprojectPhases</configName>
       <uiConfiguration>
         <name>uiConfiguration</name>
diff --git a/neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod b/neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod
new file mode 100644
index 0000000000..86524aca75
--- /dev/null
+++ b/neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>SalesprojectAnalysesPhases_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <dynamicSingleDataChartViewTemplate>
+      <name>PhaseFunnelChart</name>
+      <chartType>FUNNEL</chartType>
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT</element>
+      </defaultGroupFields>
+      <columns>
+        <neonDynamicSingleDataChartColumn>
+          <name>b9df936d-3079-41d2-a73d-4090b189eaa4</name>
+          <entityField>COUNT</entityField>
+          <aggregateEntityField>COUNT_aggregate</aggregateEntityField>
+        </neonDynamicSingleDataChartColumn>
+      </columns>
+    </dynamicSingleDataChartViewTemplate>
+    <dynamicSingleDataChartViewTemplate>
+      <name>PhasePieChart</name>
+      <chartType>PIE</chartType>
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT</element>
+      </defaultGroupFields>
+      <columns>
+        <neonDynamicSingleDataChartColumn>
+          <name>b9df936d-3079-41d2-a73d-4090b189eaa4</name>
+          <entityField>COUNT</entityField>
+          <aggregateEntityField>COUNT_aggregate</aggregateEntityField>
+        </neonDynamicSingleDataChartColumn>
+      </columns>
+    </dynamicSingleDataChartViewTemplate>
+    <dynamicSingleDataChartViewTemplate>
+      <name>PhasePyramidChart</name>
+      <chartType>PYRAMID</chartType>
+      <shareParent v="true" />
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT</element>
+      </defaultGroupFields>
+      <columns>
+        <neonDynamicSingleDataChartColumn>
+          <name>b9df936d-3079-41d2-a73d-4090b189eaa4</name>
+          <entityField>COUNT</entityField>
+          <aggregateEntityField>COUNT_aggregate</aggregateEntityField>
+        </neonDynamicSingleDataChartColumn>
+      </columns>
+    </dynamicSingleDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
new file mode 100644
index 0000000000..1228d3cc49
--- /dev/null
+++ b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>SalesprojectAnalyses_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>SalesprojectPhases</name>
+      <title>Salesproject phases</title>
+      <description>Shows how many sales projects are in the various sales phases</description>
+      <fragment>Salesproject/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJQSEFTRSIsIm9wZXJhdG9yIjoiTk9UX0VRVUFMIiwidmFsdWUiOiJOZWdvdGlhdGlvbiIsImtleSI6IlNBTFBST0pQSEFTRU5FR08iLCJjb250ZW50dHlwZSI6IlRFWFQifV19&amp;axes=COUNT&amp;grouping=%23EXTENSION.Phase_filterExtention.Phase_filterExtention%23TEXT</fragment>
+      <singleton v="true" />
+      <storeRoles>
+        <element>PROJECT_FieldStaff</element>
+        <element>PROJECT_OfficeStaff</element>
+      </storeRoles>
+      <icon>VAADIN:FUNNEL</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>sales</name>
+          <title>Sales</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>charts</name>
+          <title>Charts</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>807efd75-92f1-4e9b-83fa-05894a17eaec</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectAnalysesPhases_view</view>
+    </neonViewReference>
+    <treeTableViewTemplate>
+      <name>Treetable</name>
+      <entityField>#ENTITY</entityField>
+      <linkedColumns>
+        <element>PROJECTCODE</element>
+        <element>PROJECTTITLE</element>
+      </linkedColumns>
+      <columns>
+        <neonTreeTableColumn>
+          <name>3440687e-1e9a-4c34-87f6-e1541e165d9d</name>
+          <entityField>IMAGE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>873e3b1d-a80c-40a0-83f4-3aec77bcc199</name>
+          <entityField>PROJECTCODE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>35bd61d9-a2b6-4b72-a622-e96599fdc302</name>
+          <entityField>PROJECTTITLE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>9c67056d-8d19-4f4c-9404-57bebc5aa021</name>
+          <entityField>CONTACT_ID</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>0ddf35d7-9690-47f3-8cad-ab2a1fbbac4f</name>
+          <entityField>STARTDATE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>8a0e6555-84dc-4272-b982-7674e38ef7ff</name>
+          <entityField>ENDDATE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>9f159348-ac27-40e5-a159-a35ca1b229c5</name>
+          <entityField>PHASE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>e80ae8ab-5910-430d-b743-89b4fb8a1849</name>
+          <entityField>STATUS</entityField>
+        </neonTreeTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod b/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod
deleted file mode 100644
index 8489daf21c..0000000000
--- a/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
-  <name>SalesprojectPhases_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>SalesprojectPhases</name>
-      <title>Salesproject phases</title>
-      <description>Shows how many sales projects are in the various sales phases</description>
-      <fragment>SalesprojectAnalyses/full</fragment>
-      <singleton v="true" />
-      <storeRoles>
-        <element>PROJECT_FieldStaff</element>
-        <element>PROJECT_OfficeStaff</element>
-      </storeRoles>
-      <icon>VAADIN:FUNNEL</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>sales</name>
-          <title>Sales</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>charts</name>
-          <title>Charts</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <singleDataChartViewTemplate>
-      <name>PhaseFunnelChart</name>
-      <chartType>FUNNEL</chartType>
-      <xAxis>X_PHASE</xAxis>
-      <yAxis>Y_COUNT</yAxis>
-      <parentField></parentField>
-      <entityField>#ENTITY</entityField>
-    </singleDataChartViewTemplate>
-    <singleDataChartViewTemplate>
-      <name>PhasePieChart</name>
-      <chartType>PIE</chartType>
-      <xAxis>X_PHASE</xAxis>
-      <yAxis>Y_COUNT</yAxis>
-      <parentField></parentField>
-      <entityField>#ENTITY</entityField>
-    </singleDataChartViewTemplate>
-    <singleDataChartViewTemplate>
-      <name>PhasePyramidChart</name>
-      <chartType>PYRAMID</chartType>
-      <xAxis>X_PHASE</xAxis>
-      <yAxis>Y_COUNT</yAxis>
-      <entityField>#ENTITY</entityField>
-    </singleDataChartViewTemplate>
-  </children>
-</neonView>
-- 
GitLab


From f73aa802b419b78484e1819249b79a8f95cb3cb9 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Tue, 15 Sep 2020 15:45:50 +0200
Subject: [PATCH 005/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201064655][Aktivit=C3=A4t:=20Link=20bei=20Firma=20zeigt?=
 =?UTF-8?q?=20nur=20noch=20leer=20an]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../_demoData/generatedData/activitylink.xml  | 118 +++++++++---------
 1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
index 4baba39a61..bb0371a32f 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
@@ -14,7 +14,7 @@
       <column name="ACTIVITYLINKID" value="01ff4193-d5b4-41eb-b2db-ea31e5ed7df4"/>
       <column name="ACTIVITY_ID" value="94365b81-cddd-4f56-8379-7ba0a98840a4"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -30,7 +30,7 @@
       <column name="ACTIVITYLINKID" value="05ccef04-86cd-4b29-96b7-e106c015a82f"/>
       <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:57:11"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -38,7 +38,7 @@
       <column name="ACTIVITYLINKID" value="0aaad19f-daa1-44d3-b7df-cba2a88b2745"/>
       <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:56:54"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -78,7 +78,7 @@
       <column name="ACTIVITYLINKID" value="10aa8b38-509c-4385-bfe0-775ab92571a8"/>
       <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:45:07"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -86,7 +86,7 @@
       <column name="ACTIVITYLINKID" value="10b9499b-2f14-4251-8001-ac9e838c59a8"/>
       <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
       <column name="DATE_NEW" valueDate="2019-05-17T07:55:56"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -134,7 +134,7 @@
       <column name="ACTIVITYLINKID" value="20a50d5d-fe87-4ed2-8f94-b2571b6b34e7"/>
       <column name="ACTIVITY_ID" value="9f498736-c523-4c63-8c53-28e49324b52b"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -150,7 +150,7 @@
       <column name="ACTIVITYLINKID" value="26b0f97e-30fc-4808-85a1-5d95cd5f6b34"/>
       <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:56:37"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -158,7 +158,7 @@
       <column name="ACTIVITYLINKID" value="26f94d20-7f3a-4b3e-9655-fcf3e971ce1d"/>
       <column name="ACTIVITY_ID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
       <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -174,7 +174,7 @@
       <column name="ACTIVITYLINKID" value="2de91976-7c5e-4676-87e6-1869381235b0"/>
       <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:51:56"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -182,7 +182,7 @@
       <column name="ACTIVITYLINKID" value="2e4494d3-0160-4e9a-a78a-54884dd465f7"/>
       <column name="ACTIVITY_ID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
       <column name="DATE_NEW" valueDate="2019-06-11T02:41:00"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -208,7 +208,7 @@
       <column name="ACTIVITYLINKID" value="3385ac40-6f0e-45eb-bb71-ca3027325133"/>
       <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
       <column name="DATE_NEW" valueDate="2019-05-17T07:56:49"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -256,7 +256,7 @@
       <column name="ACTIVITYLINKID" value="4247ff5e-db95-4114-a1e6-21bbea86098e"/>
       <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:14:49"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -264,7 +264,7 @@
       <column name="ACTIVITYLINKID" value="44ae4bcc-ccec-493c-a0db-32b136c450bc"/>
       <column name="ACTIVITY_ID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:07:31"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -280,7 +280,7 @@
       <column name="ACTIVITYLINKID" value="46d9d317-1b7d-4046-8278-9a4957cc1dfe"/>
       <column name="ACTIVITY_ID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -312,7 +312,7 @@
       <column name="ACTIVITYLINKID" value="4c526e91-a6b1-4d53-8ecc-a79418c81941"/>
       <column name="ACTIVITY_ID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:03:18"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -392,7 +392,7 @@
       <column name="ACTIVITYLINKID" value="565f3c19-3a81-4af6-b2ae-5b4fdccb87eb"/>
       <column name="ACTIVITY_ID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
       <column name="DATE_NEW" valueDate="2019-05-23T09:30:34"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -416,7 +416,7 @@
       <column name="ACTIVITYLINKID" value="5a4672ac-99ff-4a2e-a4ca-aad217bef144"/>
       <column name="ACTIVITY_ID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:22:44"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -424,7 +424,7 @@
       <column name="ACTIVITYLINKID" value="5a4d249a-e3e4-48e5-80a5-2fd1567a82b8"/>
       <column name="ACTIVITY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -432,7 +432,7 @@
       <column name="ACTIVITYLINKID" value="5ad45b3e-72a0-419e-a183-17aaead38158"/>
       <column name="ACTIVITY_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -448,7 +448,7 @@
       <column name="ACTIVITYLINKID" value="60c58962-9b76-4d22-855d-b0cf9ef388dc"/>
       <column name="ACTIVITY_ID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
       <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -496,7 +496,7 @@
       <column name="ACTIVITYLINKID" value="6c212e64-a9db-4395-a118-5279dbc6761d"/>
       <column name="ACTIVITY_ID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -536,7 +536,7 @@
       <column name="ACTIVITYLINKID" value="75b42e7c-4748-41ca-9a23-3436b55cadf6"/>
       <column name="ACTIVITY_ID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:00:40"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -544,7 +544,7 @@
       <column name="ACTIVITYLINKID" value="769721cc-a526-4e61-989f-71296085e7df"/>
       <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:14:26"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -552,7 +552,7 @@
       <column name="ACTIVITYLINKID" value="777ed544-bcb2-43b2-914f-31bfa684e5c3"/>
       <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:11:53"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -568,7 +568,7 @@
       <column name="ACTIVITYLINKID" value="7a4b1e70-1773-4529-8506-3243c9349ebc"/>
       <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:54:52"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -576,7 +576,7 @@
       <column name="ACTIVITYLINKID" value="7f9cbd45-7ff0-4d7d-9412-58db6245f400"/>
       <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:48:02"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -584,7 +584,7 @@
       <column name="ACTIVITYLINKID" value="80d3de8f-fd86-401b-aeae-63b389b9310c"/>
       <column name="ACTIVITY_ID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -616,7 +616,7 @@
       <column name="ACTIVITYLINKID" value="869c8987-7239-4f61-a0dc-b2f9e83ab2db"/>
       <column name="ACTIVITY_ID" value="a416d1f7-553a-43b6-a084-021ad1f92dd9"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:47:38"/>
-      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -640,7 +640,7 @@
       <column name="ACTIVITYLINKID" value="8d136835-b822-49a2-a516-87d4af34e8e1"/>
       <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
       <column name="DATE_NEW" valueDate="2019-05-17T07:58:03"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -648,7 +648,7 @@
       <column name="ACTIVITYLINKID" value="8d2ff9ea-5416-47ac-839f-3f7c7b517129"/>
       <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:42:09"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -656,7 +656,7 @@
       <column name="ACTIVITYLINKID" value="8d384436-9989-4571-a193-cc3061249f97"/>
       <column name="ACTIVITY_ID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -672,7 +672,7 @@
       <column name="ACTIVITYLINKID" value="918ec650-9e5a-430b-b6a7-d0f5e9780935"/>
       <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:19:41"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -680,7 +680,7 @@
       <column name="ACTIVITYLINKID" value="93c76b23-fc2c-4544-9e18-2422b2721860"/>
       <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:16:16"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -696,7 +696,7 @@
       <column name="ACTIVITYLINKID" value="94ed9437-9050-4358-975b-c07988c36117"/>
       <column name="ACTIVITY_ID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:50:27"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -704,7 +704,7 @@
       <column name="ACTIVITYLINKID" value="9715d82b-5239-46c3-a651-fdc7ca4c1d0e"/>
       <column name="ACTIVITY_ID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:51:50"/>
-      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -736,7 +736,7 @@
       <column name="ACTIVITYLINKID" value="9f20ee40-22b8-440a-93e3-749bc6d6e273"/>
       <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:54:23"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -744,7 +744,7 @@
       <column name="ACTIVITYLINKID" value="9f2616fb-7d78-44f6-9f5e-94ef5268dad4"/>
       <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:57:56"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -776,7 +776,7 @@
       <column name="ACTIVITYLINKID" value="a631ea8d-c09a-4bff-83ab-4573df6dbe4f"/>
       <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
       <column name="DATE_NEW" valueDate="2019-05-17T07:52:12"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -792,7 +792,7 @@
       <column name="ACTIVITYLINKID" value="aa944406-61f4-4044-9f69-51a42b270113"/>
       <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:46:52"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -816,7 +816,7 @@
       <column name="ACTIVITYLINKID" value="b0fae79b-0b1e-4650-8d94-853d17cca7bd"/>
       <column name="ACTIVITY_ID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -856,7 +856,7 @@
       <column name="ACTIVITYLINKID" value="baa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="ACTIVITY_ID" value="de110a33-bcab-407e-9d60-7a65f028159b"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -872,7 +872,7 @@
       <column name="ACTIVITYLINKID" value="bc86224f-8266-4c8a-950b-b8cb9e1a5569"/>
       <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:58:08"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -912,7 +912,7 @@
       <column name="ACTIVITYLINKID" value="c3751fb7-ae77-402b-8716-3e3a477dc813"/>
       <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
       <column name="DATE_NEW" valueDate="2019-05-15T04:58:50"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -928,7 +928,7 @@
       <column name="ACTIVITYLINKID" value="c419929e-2b07-4cc4-9c7d-b0cf8b47b252"/>
       <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:52:55"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -944,7 +944,7 @@
       <column name="ACTIVITYLINKID" value="caa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="ACTIVITY_ID" value="de110a35-aaab-407e-9d60-7a65f028159b"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -960,7 +960,7 @@
       <column name="ACTIVITYLINKID" value="cfb3f5f6-c148-42c9-b86c-14900e8d30c9"/>
       <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:54:10"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -976,7 +976,7 @@
       <column name="ACTIVITYLINKID" value="d1cfe415-bf05-4ee0-98b6-56ba560a39b6"/>
       <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:00:39"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1040,7 +1040,7 @@
       <column name="ACTIVITYLINKID" value="da68ccb2-09c8-4a63-9dc3-16bec0777ad6"/>
       <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:53:44"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1088,7 +1088,7 @@
       <column name="ACTIVITYLINKID" value="e090084f-d2e4-42e5-b524-7e79dafcb78e"/>
       <column name="ACTIVITY_ID" value="36ec539c-a451-4166-b64d-fb98f1b73481"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:49:00"/>
-      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1128,7 +1128,7 @@
       <column name="ACTIVITYLINKID" value="e80cdefe-ff46-49f9-84ce-393882730337"/>
       <column name="ACTIVITY_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
       <column name="DATE_NEW" valueDate="2019-06-11T02:30:33"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1136,7 +1136,7 @@
       <column name="ACTIVITYLINKID" value="ef66f553-93f4-4df5-a97c-d7a93b57ae6a"/>
       <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:00:17"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1144,7 +1144,7 @@
       <column name="ACTIVITYLINKID" value="f1b02cad-2a68-45fb-9313-1983b83bb310"/>
       <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
       <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1152,7 +1152,7 @@
       <column name="ACTIVITYLINKID" value="f20857e3-3191-4fdf-b803-9ffd1a0668d7"/>
       <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:43:15"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1168,7 +1168,7 @@
       <column name="ACTIVITYLINKID" value="f37c2f14-27ce-4782-a7d4-c9f6d6fbcecd"/>
       <column name="ACTIVITY_ID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
       <column name="DATE_NEW" valueDate="2019-05-23T09:28:27"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1176,7 +1176,7 @@
       <column name="ACTIVITYLINKID" value="f43ce26b-e728-41cd-9a93-745718b98972"/>
       <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:49:12"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1200,7 +1200,7 @@
       <column name="ACTIVITYLINKID" value="f91f6e28-01f1-4b45-98f5-b0fb42ac3c38"/>
       <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:17:16"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1224,7 +1224,7 @@
       <column name="ACTIVITYLINKID" value="fb08245a-d14b-4a41-bfb3-973aa560d079"/>
       <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:57:37"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1232,7 +1232,7 @@
       <column name="ACTIVITYLINKID" value="fbd5ad75-92ac-48e2-ae11-d2f6e135123e"/>
       <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
       <column name="DATE_NEW" valueDate="2019-05-23T09:07:02"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -1240,7 +1240,7 @@
       <column name="ACTIVITYLINKID" value="fedb7c1b-0a41-4dba-8abb-2e4af7b4ee2d"/>
       <column name="ACTIVITY_ID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
       <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
-- 
GitLab


From ae1e3b8c372087d3a9bcbfa6feb0a79af6637529 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Wed, 16 Sep 2020 08:23:51 +0200
Subject: [PATCH 006/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201055641][Attribute=20Filtern=20in=20Eigenschaften=20?=
 =?UTF-8?q?=20nicht=20m=C3=B6glich]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Attribute_entity/recordcontainers/jdito/contentProcess.js   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
index c5b4ef81cd..fe6bcdd18f 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
@@ -80,7 +80,7 @@ var filterCondition = new FilterSqlTranslator(vars.get("$local.filter"), "AB_ATT
             {
                 case "EQUAL":
                 case "NOT_EQUAL":
-                    subSelect.and(["AB_ATTRIBUTEUSAGE", "AB_ATTRIBUTE_ID", "attrUse"], pValue);
+                    subSelect.and(["AB_ATTRIBUTEUSAGE", "OBJECT_TYPE", "attrUse"], pValue);
                 case "ISNULL":
                 case "ISNOTNULL":
                     return cond.and(null, subSelect, pOperator == "NOT_EQUAL" || pOperator == "ISNULL" ? SqlBuilder.NOT_EXISTS() : SqlBuilder.EXISTS());
-- 
GitLab


From 8c2e12a76dd7ef22cb3806f22c330f0638140952 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Wed, 16 Sep 2020 06:29:49 +0000
Subject: [PATCH 007/251] Calendar_lib: exchangeEmail Fix

(cherry picked from commit 8026e5e52db88fc59b24b36897c6f92f3dd96ddb)

(cherry picked from commit bed0d02e3e58c584835e4436f7faba2bbed5bde5)
---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 383204d77c..2c13ca7d22 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8910,6 +8910,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Receive new Department Permission</key>
+      <value>Neue Abteilungsberechtigung erhalten</value>
     </entry>
     <entry>
       <key>No new recipients found that can be added to the serial letter.</key>
@@ -8923,12 +8924,14 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Receive new User Permission</key>
+      <value>Neue Benutzerberechtigung erhalten</value>
     </entry>
     <entry>
       <key>workflow notification</key>
     </entry>
     <entry>
       <key>Permission received</key>
+      <value>Erhaltene Berechtigungen</value>
     </entry>
     <entry>
       <key>leadimport notification</key>
@@ -9123,6 +9126,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>granted permission</key>
+      <value>Vergebene Berechtigungen</value>
     </entry>
     <entry>
       <key>Bulk mail sent</key>
@@ -9404,6 +9408,9 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Grant new User Permission</key>
     </entry>
+    <entry>
+      <key>export using the selected  template</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From bea8231968f60af893d349341ab8ea6485d085a7 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Wed, 16 Sep 2020 07:36:01 +0000
Subject: [PATCH 008/251] Calendar_lib: exchangeEmail Fix

(cherry picked from commit 8026e5e52db88fc59b24b36897c6f92f3dd96ddb)

(cherry picked from commit bed0d02e3e58c584835e4436f7faba2bbed5bde5)
---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 2c13ca7d22..2a754002b8 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -305,7 +305,7 @@
     </entry>
     <entry>
       <key>SEEN</key>
-      <value>Neu</value>
+      <value>Ungelesen</value>
     </entry>
     <entry>
       <key>UNSEEN</key>
-- 
GitLab


From 39f11ecc3965eb62c4b76bfd4f332d8b5f24dc11 Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 16 Sep 2020 10:16:20 +0200
Subject: [PATCH 009/251] Fix for broken linkinformations in
 Notification_entity (db-rc)

---
 entity/Notification_entity/Notification_entity.aod | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index ee2693457f..e9a4c15689 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -180,6 +180,13 @@
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
+        <linkInformation>
+          <name>c4e34b96-6081-4d04-8377-040a8ed3e14c</name>
+          <tableName>ASYS_NOTIFICATIONS</tableName>
+          <primaryKey>ID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
       </linkInformation>
       <recordFieldMappings>
         <dbRecordFieldMapping>
-- 
GitLab


From e5faf9a19e625101781469138904ad4501cd558e Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Wed, 16 Sep 2020 13:03:46 +0200
Subject: [PATCH 010/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1053788][Notifications: Buttonlabel inkonsistent zu Statusnamen]

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 2a754002b8..9e16a897b9 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8921,6 +8921,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Archived</key>
+      <value>Archiviert</value>
     </entry>
     <entry>
       <key>Receive new User Permission</key>
@@ -9408,9 +9409,6 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Grant new User Permission</key>
     </entry>
-    <entry>
-      <key>export using the selected  template</key>
-    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From 3bc089f1c205977a958783d4c6a2c83971f6951e Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 16 Sep 2020 14:48:29 +0200
Subject: [PATCH 011/251] Notification actions with same behavior

---
 entity/Notification_entity/Notification_entity.aod    |  2 +-
 .../children/setread/onActionProcess.js               | 11 -----------
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index e9a4c15689..e76d45a274 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -105,7 +105,7 @@
           <title>set Read</title>
           <description></description>
           <onActionProcess>%aditoprj%/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js</onActionProcess>
-          <isSelectionAction v="false" />
+          <isSelectionAction v="true" />
           <iconId>VAADIN:OPEN_BOOK</iconId>
           <tooltip></tooltip>
           <tooltipProcess>%aditoprj%/entity/Notification_entity/entityfields/setnotificationstate/children/setread/tooltipProcess.js</tooltipProcess>
diff --git a/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js b/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
index f28870eaa2..3e00593f26 100644
--- a/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
+++ b/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
@@ -8,17 +8,6 @@ import("KeywordRegistry_basic");
 var user = tools.getCurrentUser();
 var selectedNotifications = vars.get("$sys.selection");
 
-if (selectedNotifications.length == 0)
-{
-    let userid = tools.getCurrentUser()["name"];
-    
-    selectedNotifications = newSelect("ASYS_NOTIFICATIONS.ID")
-    .from("ASYS_NOTIFICATIONS")
-    .where("ASYS_NOTIFICATIONS.STATE", [notification.STATE_SEEN.toString(), notification.STATE_UNSEEN.toString()], SqlBuilder.IN())
-    .and("ASYS_NOTIFICATIONS.USERID", userid, SqlBuilder.EQUAL())
-    .arrayColumn();
-}
-
 for(var i = 0; i < selectedNotifications.length; i++)
     notification.updateUserNotificationState(user["name"], selectedNotifications[i], notification.STATE_CONFIRMED);
 
-- 
GitLab


From 889dd2e1ff05e23058dea578d7c30432b52aabd6 Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 16 Sep 2020 15:07:39 +0200
Subject: [PATCH 012/251] Initial filter for notifications (only new and
 unread)

---
 .../Notification_entity.aod                   |  1 +
 .../Notification_entity/initFilterProcess.js  | 34 +++++++++++++++++++
 process/KeywordRegistry_basic/process.js      |  4 ++-
 3 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 entity/Notification_entity/initFilterProcess.js

diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index e76d45a274..ab5335b380 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -4,6 +4,7 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Notification_entity/documentation.adoc</documentation>
   <title>Notifications</title>
+  <initFilterProcess>%aditoprj%/entity/Notification_entity/initFilterProcess.js</initFilterProcess>
   <iconId>VAADIN:BELL</iconId>
   <titlePlural>Notifications</titlePlural>
   <recordContainer>db</recordContainer>
diff --git a/entity/Notification_entity/initFilterProcess.js b/entity/Notification_entity/initFilterProcess.js
new file mode 100644
index 0000000000..fbd4e05855
--- /dev/null
+++ b/entity/Notification_entity/initFilterProcess.js
@@ -0,0 +1,34 @@
+import("system.logging");
+import("system.neon");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+import("system.result");
+
+if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER) 
+{
+    var statusNew = $KeywordRegistry.notificationState$unseen();
+    var statusUnread = $KeywordRegistry.notificationState$seen();
+        
+    var filter = {
+        type: "group",
+        operator: "OR",
+        childs: [{
+            type: "row",
+            name: "STATE",
+            operator: "EQUAL",
+            contenttype: "TEXT",
+            key: statusNew,
+            value: KeywordUtils.getViewValue($KeywordRegistry.notificationState(), statusNew)
+        },
+        {
+            type: "row",
+            name: "STATE",
+            operator: "EQUAL",
+            contenttype: "TEXT",
+            key: statusUnread,
+            value: KeywordUtils.getViewValue($KeywordRegistry.notificationState(), statusUnread)
+        }]
+    };
+    result.string(JSON.stringify(filter));
+}
\ No newline at end of file
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index 41a3be1f1b..09a3ba8264 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -292,4 +292,6 @@ $KeywordRegistry.visitRecommendationPrioSource$manual = function(){return "MANUA
 
 $KeywordRegistry.workflowCategory = function(){return "WorkflowCategory";};
 
-$KeywordRegistry.notificationState = function () { return "NotificationState";};
+$KeywordRegistry.notificationState = function(){ return "NotificationState";};
+$KeywordRegistry.notificationState$unseen = function(){return "UNSEEN";};
+$KeywordRegistry.notificationState$seen = function(){return "SEEN";};
-- 
GitLab


From 859e67436ee04b59168e3f598d6a9dbc118866e9 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Wed, 16 Sep 2020 15:41:36 +0200
Subject: [PATCH 013/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065027][Verkn=C3=BCpfung=20Supportticket=20in=20Supp?=
 =?UTF-8?q?ortticket=20funktioniert=20nicht]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Object_entity/Object_entity.aod               | 8 ++++++++
 entity/SupportTicket_entity/SupportTicket_entity.aod | 6 ++++++
 process/Context_lib/process.js                       | 2 ++
 3 files changed, 16 insertions(+)

diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod
index 7fe6b0ab3b..1a571fad30 100644
--- a/entity/Object_entity/Object_entity.aod
+++ b/entity/Object_entity/Object_entity.aod
@@ -275,6 +275,14 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityConsumer>
+      <name>SupportTickets</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>SupportTicket_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index 23f83fc09c..15878584d0 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -22,6 +22,12 @@
           <fieldName>SupportTickets</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>3190ea51-a767-436f-af75-869b43d0c568</name>
+          <entityName>Object_entity</entityName>
+          <fieldName>SupportTickets</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 2c8d2229d6..b41bd7451e 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -147,6 +147,8 @@ ContextUtils.getContextConsumer = function(pContextId)
             return "Leadimport";
         case ContextUtils.getContextName("Task"):
             return "Tasks";
+        case ContextUtils.getContextName("SupportTicket"):
+            return "SupportTickets";
         case ContextUtils.getContextName("Activity"):
             return "Activities";
         default:
-- 
GitLab


From e2ee537f80db565827f01f75356db1937c440e33 Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 16 Sep 2020 17:37:05 +0200
Subject: [PATCH 014/251] Improvements for the notification timeline view

---
 entity/Notification_entity/Notification_entity.aod   | 12 ++++++++++++
 .../NotificationFilter_view.aod                      |  5 +++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index ab5335b380..8dead6bc11 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -162,6 +162,14 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>CREATEDAY</name>
+      <title>Date</title>
+      <contentType>DATE</contentType>
+      <resolution>DAY</resolution>
+      <outputFormat>dd.MM.yyyy</outputFormat>
+      <inputFormat>dd.MM.yyyy</inputFormat>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -270,6 +278,10 @@
           <name>DELETEDATE.value</name>
           <recordfield>ASYS_NOTIFICATIONCONTENTS.DELETEDATE</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CREATEDAY.value</name>
+          <recordfield>ASYS_NOTIFICATIONCONTENTS.CREATEDATE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/neonView/NotificationFilter_view/NotificationFilter_view.aod b/neonView/NotificationFilter_view/NotificationFilter_view.aod
index 8a6a92a861..26ee281b76 100644
--- a/neonView/NotificationFilter_view/NotificationFilter_view.aod
+++ b/neonView/NotificationFilter_view/NotificationFilter_view.aod
@@ -29,13 +29,14 @@
     <timelineViewTemplate>
       <name>NotificationTimeline</name>
       <favoriteActionGroup1>setNotificationState</favoriteActionGroup1>
-      <dateField>CREATEDATE</dateField>
+      <dateField>CREATEDAY</dateField>
       <titleField>CAPTION</titleField>
       <descriptionField>DESCRIPTION</descriptionField>
+      <subdescriptionField>CREATEDATE</subdescriptionField>
       <iconIdField>ICON</iconIdField>
+      <additionalInfoField>STATE</additionalInfoField>
       <entityField>#ENTITY</entityField>
       <isEditable v="false" />
-      <informationField>STATE</informationField>
     </timelineViewTemplate>
     <tableViewTemplate>
       <name>NotificationTable</name>
-- 
GitLab


From 3f3465d7ff5bc6c1f272a62324de92162dfdfa29 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Thu, 17 Sep 2020 05:39:15 +0000
Subject: [PATCH 015/251] #1058859: Removed departmentAttributeName field from
 multiEditView (department is now visible in EmployeeLookup_view) #1058859:
 Set EMPLOYEE_CONTACT_ID to full width.

---
 .../departmentattributename/documentation.adoc |  1 +
 entity/District_entity/District_entity.aod     |  1 +
 entity/Person_entity/Person_entity.aod         |  2 ++
 .../entityfields/districts/stateProcess.js     | 10 ++++++++++
 neonContext/Person/Person.aod                  |  4 ----
 .../DistrictResponsibleMultiEdit_view.aod      |  5 +----
 .../EmployeeLookup_view.aod                    |  4 ++++
 .../PersonDistricts_view.aod                   | 18 ------------------
 neonView/PersonMain_view/PersonMain_view.aod   | 10 +++++-----
 9 files changed, 24 insertions(+), 31 deletions(-)
 create mode 100644 entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc
 create mode 100644 entity/Person_entity/entityfields/districts/stateProcess.js
 delete mode 100644 neonView/PersonDistricts_view/PersonDistricts_view.aod

diff --git a/entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc b/entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc
new file mode 100644
index 0000000000..5bfe0dc511
--- /dev/null
+++ b/entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc
@@ -0,0 +1 @@
+Used in DistrictPreview_view and also in the contentProcess of the JDito RC from Member_entity.
\ No newline at end of file
diff --git a/entity/District_entity/District_entity.aod b/entity/District_entity/District_entity.aod
index b42efad4e6..e775acd3c2 100644
--- a/entity/District_entity/District_entity.aod
+++ b/entity/District_entity/District_entity.aod
@@ -80,6 +80,7 @@
       <name>ResponsibleDistricts</name>
       <lookupIdfield>DISTRICTID</lookupIdfield>
       <documentation>%aditoprj%/entity/District_entity/entityfields/responsibledistricts/documentation.adoc</documentation>
+      <titlePlural>Responsible Districts</titlePlural>
       <recordContainer>db</recordContainer>
       <dependencies>
         <entityDependency>
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 2cc3bad53c..42bc254b23 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1313,6 +1313,8 @@
     </entityProvider>
     <entityConsumer>
       <name>Districts</name>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districts/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>District_entity</entityName>
diff --git a/entity/Person_entity/entityfields/districts/stateProcess.js b/entity/Person_entity/entityfields/districts/stateProcess.js
new file mode 100644
index 0000000000..813a3a0226
--- /dev/null
+++ b/entity/Person_entity/entityfields/districts/stateProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+import("Employee_lib");
+
+
+if (EmployeeUtils.isUser(vars.get("$field.CONTACTID")))
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/neonContext/Person/Person.aod b/neonContext/Person/Person.aod
index 0d4160ba11..5a9b1ecbe9 100644
--- a/neonContext/Person/Person.aod
+++ b/neonContext/Person/Person.aod
@@ -63,9 +63,5 @@
       <name>2a6c44be-53e2-469e-84b3-615841bd4430</name>
       <view>PersonDuplicateEditview_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>93a274f8-8d73-4e18-b77c-a7eda6028116</name>
-      <view>PersonDistricts_view</view>
-    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/DistrictResponsibleMultiEdit_view/DistrictResponsibleMultiEdit_view.aod b/neonView/DistrictResponsibleMultiEdit_view/DistrictResponsibleMultiEdit_view.aod
index b03d4f1669..9e04ed897b 100644
--- a/neonView/DistrictResponsibleMultiEdit_view/DistrictResponsibleMultiEdit_view.aod
+++ b/neonView/DistrictResponsibleMultiEdit_view/DistrictResponsibleMultiEdit_view.aod
@@ -13,13 +13,10 @@
       <name>genericViewTemplate</name>
       <entityField>#ENTITY</entityField>
       <columns>
-        <neonGenericMultipleTableColumn>
-          <name>e1988e26-68a4-4a96-a484-4d9f7506505d</name>
-          <entityField>departmentAttributeName</entityField>
-        </neonGenericMultipleTableColumn>
         <neonGenericMultipleTableColumn>
           <name>2c588be3-a0df-4c3f-9632-574e5b975073</name>
           <entityField>EMPLOYEE_CONTACT_ID</entityField>
+          <fullWidth v="true" />
         </neonGenericMultipleTableColumn>
       </columns>
     </genericMultipleViewTemplate>
diff --git a/neonView/EmployeeLookup_view/EmployeeLookup_view.aod b/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
index cece487a66..a213204aaa 100644
--- a/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
+++ b/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
@@ -24,6 +24,10 @@
           <name>7c1a3e27-e7da-4e50-bef0-e987d9e1c4c8</name>
           <entityField>LASTNAME</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>bda739a9-24b9-4f58-8a28-9eed99f8bcc2</name>
+          <entityField>DEPARTMENT</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
diff --git a/neonView/PersonDistricts_view/PersonDistricts_view.aod b/neonView/PersonDistricts_view/PersonDistricts_view.aod
deleted file mode 100644
index d665b77e67..0000000000
--- a/neonView/PersonDistricts_view/PersonDistricts_view.aod
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
-  <name>PersonDistricts_view</name>
-  <title>Responsible Districts</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>c461b0a2-316c-481f-9697-0b24adbcf8bc</name>
-      <entityField>Districts</entityField>
-      <view>DistrictList_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod
index 918eaa3936..4cc0562f16 100644
--- a/neonView/PersonMain_view/PersonMain_view.aod
+++ b/neonView/PersonMain_view/PersonMain_view.aod
@@ -44,16 +44,16 @@
       <entityField>#ENTITY</entityField>
       <view>PersonAttributeRestriction_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>1f6cf193-61c3-4681-bafd-c7f9c906cdf6</name>
+      <entityField>Districts</entityField>
+      <view>DistrictList_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>4b50b784-484f-4cdf-a705-4c356da763fa</name>
       <entityField>Documents</entityField>
       <view>DocumentFilter_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>f826f154-bf7f-4c7e-9ce2-3105cc629851</name>
-      <entityField>#ENTITY</entityField>
-      <view>PersonDistricts_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>5754fc3a-c81c-42ba-90ea-2859b10bb391</name>
       <entityField>LogHistories</entityField>
-- 
GitLab


From e8a40f94ac11ea483cdd00b80ff872d63ae0a9d4 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 05:40:37 +0000
Subject: [PATCH 016/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201061095][Aktivit=C3=A4t=20-=20Registerreiter=20Verlau?=
 =?UTF-8?q?f=20-=20Icons=20der=20Aktvivt=C3=A4ten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../recordcontainers/jdito/contentProcess.js  | 67 ++++++++++++++-----
 1 file changed, 49 insertions(+), 18 deletions(-)

diff --git a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
index c0609d7b57..e202a9bbe7 100644
--- a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,5 @@
+import("system.entities");
+import("Keyword_lib");
 import("KeywordRegistry_basic");
 import("system.vars");
 import("Sql_lib")
@@ -99,12 +101,22 @@ function queryChildrenElements (pContextName, pID) {
  * @param pGetFirst start from the first element
  */
 function queryRootElement (pContextName, pID, pGetFirst) {
-    var resultArray;
+    var resultArray, rowValues, conf, icon;
+    
     if (pContextName === "Task") {
-        resultArray = newSelect("TASKID, PARENT_ID, PARENT_CONTEXT, SUBJECT, DESCRIPTION")
-                        .from("TASK")
-                        .where("TASK.TASKID", pID)
-                        .arrayRow();
+        
+        conf = entities.createConfigForLoadingRows()
+                        .entity("Task_entity")
+                        .fields(["TASKID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "DESCRIPTION"])
+                        .uid(pID);
+                                
+        rowValues = entities.getRow(conf);
+        
+        resultArray = [rowValues["TASKID"],
+                        rowValues["PARENT_ID"],
+                        rowValues["PARENT_CONTEXT"],
+                        rowValues["SUBJECT"],
+                        rowValues["DESCRIPTION"]];
                         
         if (resultArray.length === 0) {
             return null;
@@ -118,11 +130,21 @@ function queryRootElement (pContextName, pID, pGetFirst) {
         }
         return augmentData(resultArray, "Task");
     } else if (pContextName === "Activity") {
-        resultArray = newSelect("ACTIVITYID, PARENT_ID, PARENT_CONTEXT, SUBJECT, INFO")
-                        .from("ACTIVITY")
-                        .where("ACTIVITY.ACTIVITYID", pID)
-                        .arrayRow();
-            
+        conf = entities.createConfigForLoadingRows()
+                        .entity("Activity_entity")
+                        .fields(["ACTIVITYID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "INFO", "#IMAGE"])
+                        .uid(pID);
+                                
+        rowValues = entities.getRow(conf);
+        
+        resultArray = [rowValues["ACTIVITYID"],
+                        rowValues["PARENT_ID"],
+                        rowValues["PARENT_CONTEXT"],
+                        rowValues["SUBJECT"],
+                        rowValues["INFO"]];
+        
+        icon = rowValues["#IMAGE"];
+        
         if (resultArray.length === 0) {
             return null;
         }
@@ -133,14 +155,22 @@ function queryRootElement (pContextName, pID, pGetFirst) {
             fixedContextName = "Activity";
             fixedID = resultArray[0];
         }
-        return augmentData(resultArray, "Activity");
+        return augmentData(resultArray, "Activity", icon);
     }
     else if (pContextName === "SupportTicket") {
-        resultArray = newSelect("TICKETID, PARENT_ID, PARENT_CONTEXT, SUBJECT, DESCRIPTION")
-                        .from("TICKET")
-                        .leftJoin("TASK", "TASK_ID = TASKID")
-                        .where("TICKET.TICKETID", pID)
-                        .arrayRow();
+
+        conf = entities.createConfigForLoadingRows()
+                        .entity("SupportTicket_entity")
+                        .fields(["TICKETID", "TASK_PARENT_ID", "TASK_PARENT_CONTEXT", "TASK_SUBJECT", "TASK_DESCRIPTION"])
+                        .uid(pID);
+                                
+        rowValues = entities.getRow(conf);
+        
+        resultArray = [rowValues["TICKETID"],
+                        rowValues["TASK_PARENT_ID"],
+                        rowValues["TASK_PARENT_CONTEXT"],
+                        rowValues["TASK_SUBJECT"],
+                        rowValues["TASK_DESCRIPTION"]];
                         
         if (resultArray.length === 0) {
             return null;
@@ -164,11 +194,12 @@ function queryRootElement (pContextName, pID, pGetFirst) {
  * @param pDataRow Requires the following format:
  *                 UID, PARENT_ID, PARENT_CONTEXT, TITLE, DESCRIPTION
  * @param pType The type of the row which needs adjustment.
+ * @param pIcon The Icon (only needed for activities)
  * @return Returns the following format:
  *         UID, KIND, PARENT_ID, PARENT_CONTEX, TITL, DESCRIPTION, ICON
  * 
  */
-function augmentData (pDataRow, pType) {
+function augmentData (pDataRow, pType, pIcon) {
     if (pDataRow === null || pDataRow === undefined)
         return null;
     
@@ -190,7 +221,7 @@ function augmentData (pDataRow, pType) {
     pDataRow.splice(1, 0, pType);
     
     // Insert icon
-    pDataRow.splice(6, 0, pType === "Task" ? "VAADIN:TASKS" : pType === "Activity" ? "VAADIN:HOURGLASS_END": pType==="SupportTicket" ? "VAADIN:chat": null);
+    pDataRow.splice(6, 0, pType === "Task" ? "VAADIN:TASKS" : pType === "Activity" ? pIcon : pType ==="SupportTicket" ? "VAADIN:chat": null);
     
     return pDataRow;
 }
\ No newline at end of file
-- 
GitLab


From f0d28cac6bb5a8830d3eb73b70a1fac4f62c3111 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 07:10:18 +0000
Subject: [PATCH 017/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064714][SQL-Query der Indexgruppe Person wird falsch zusammengebaut]

---
 entity/Person_entity/recordcontainers/index/query.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/entity/Person_entity/recordcontainers/index/query.js b/entity/Person_entity/recordcontainers/index/query.js
index efd61cfbef..0aea379f73 100644
--- a/entity/Person_entity/recordcontainers/index/query.js
+++ b/entity/Person_entity/recordcontainers/index/query.js
@@ -49,9 +49,11 @@ var querySelect = newSelect([
     .leftJoin("COMMUNICATION", newWhere("phone.CONTACT_ID = CONTACT.CONTACTID")
         .and(["COMMUNICATION", "MEDIUM_ID", "phone"], commMediumPhoneIds, SqlBuilder.IN()), "phone")
     .where("CONTACT.STATUS", $KeywordRegistry.contactStatus$inactive(), SqlBuilder.NOT_EQUAL())
-                    .orderBy("CONTACT.CONTACTID");
+
 
 if (vars.exists("$local.idvalue"))
-    querySelect.whereIfSet("CONTACT.CONTACTID", "$local.idvalue");
+    querySelect.andIfSet("CONTACT.CONTACTID", "$local.idvalue");
+
+querySelect = querySelect.orderBy("CONTACT.CONTACTID");
 
 result.string(querySelect);
\ No newline at end of file
-- 
GitLab


From b51816f16394fb0475aaca7221f499c20a696fd1 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 07:20:07 +0000
Subject: [PATCH 018/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1058030][Falsches Verhalten der Aktionen in Filterview (Kontakte und Firmen)]

---
 .../CampaignAddParticipants_entity.aod        |  1 -
 .../addparticipants/onActionProcess.js        | 18 ++++++++-----
 .../isoperationvalid/valueProcess.js          |  2 +-
 .../onValidation.js                           |  8 ------
 .../addtobulkmailfromtable/stateProcess.js    |  4 +--
 .../addtocampaignfromtable/stateProcess.js    |  2 +-
 .../addtobulkmailfromtable/stateProcess.js    |  2 +-
 .../addtocampaignfromtable/stateProcess.js    |  2 +-
 .../addtoserialletter/stateProcess.js         |  2 +-
 .../children/export/stateProcess.js           |  2 +-
 .../SerialLetterAddRecipients_entity.aod      |  3 +++
 .../recipientcontactids/valueProcess.js       | 15 ++++++++---
 .../recipientcountmessage/valueProcess.js     |  9 ++++++-
 .../_____LANGUAGE_EXTRA.aod                   | 14 +---------
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  9 +++++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  3 +++
 .../CampaignCostVariable_view.aod             |  1 +
 process/Bulkmail_lib/process.js               | 26 +++++++++++++++++-
 process/Campaign_lib/process.js               | 27 ++++++++++++-------
 process/FilterviewMenuAction_lib/process.js   |  9 ++++---
 20 files changed, 104 insertions(+), 55 deletions(-)
 delete mode 100644 entity/CampaignAddParticipants_entity/onValidation.js

diff --git a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
index 739af475cf..447fef3d43 100644
--- a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
+++ b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
@@ -7,7 +7,6 @@
   <siblings>
     <element>CampaignParticipant_entity</element>
   </siblings>
-  <onValidation>%aditoprj%/entity/CampaignAddParticipants_entity/onValidation.js</onValidation>
   <recordContainer>datalessConfig</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
index da55ecfd80..1b59874195 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
@@ -40,7 +40,7 @@ function _handleCondition(pCampaignId, pTargetTableName, pCondition)
     let contactIdsToHandle = [];
     
     let useRightJoinToGetOrgs = "false";
-    if(pTargetTableName == "ORGANISATION")
+    if(pTargetTableName == "Organisation")
     {
         useRightJoinToGetOrgs = "true";
         pCondition += "  and PERSON.PERSONID is NULL"
@@ -96,23 +96,27 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
 
     let statementArray = [];
     let logArray = [];
+    let participantRowIds = pParticipantRowIds;
+    if(participantRowIds[0].length == 1) //pParticipantRowIds isn't parsed yet when the data has been selected, so we parse it here
+        participantRowIds = JSON.parse(pParticipantRowIds);
 
-    for (let participant in pParticipantRowIds)
+
+    for (let participantRowId of participantRowIds)
     {
         let campaignParticipantLogId = util.getNewUUID();
 
         if(isUpdate == "true")
         {
-            let oldCampaignStepId = oldStepIds[pParticipantRowIds[participant]] || "";
+            let oldCampaignStepId = oldStepIds[participantRowId] || "";
             let updatedValues = [newCampaignStepId,
             vars.get("$sys.user"),
             vars.get("$sys.date")];
 
-            let condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds[participant])
-            .or("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", pParticipantRowIds[participant]);
+            let condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", participantRowId)
+            .or("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", participantRowId);
                                  
             let valsCampaignParticipantLog = [
-            pParticipantRowIds[participant], 
+            participantRowId, 
             campaignId, 
             newCampaignStepId, 
             campaignParticipantLogId,
@@ -129,7 +133,7 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
             let campaignParticipantId = util.getNewUUID();
 
             let valsCampaignParticipant = [ campaignParticipantId
-            , pParticipantRowIds[participant]
+            , participantRowId
             , campaignId
             , newCampaignStepId
             , vars.get("$sys.user")
diff --git a/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
index 512ffebcbe..915d12d13a 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
@@ -63,7 +63,7 @@ if(selectedCampaignId != '')
         participantCondition = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
         
         let useRightJoinToGetOrgs = "false";
-        if(targetTable == "ORGANISATION")
+        if(targetTable == "Organisation")
         {
             useRightJoinToGetOrgs = "true";
             
diff --git a/entity/CampaignAddParticipants_entity/onValidation.js b/entity/CampaignAddParticipants_entity/onValidation.js
deleted file mode 100644
index 26f9361c06..0000000000
--- a/entity/CampaignAddParticipants_entity/onValidation.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import("system.translate");
-import("system.vars");
-import("system.result");
-
-if (vars.get("$field.isOperationValid") == "false") 
-{
-    result.object(translate.text("no valid selection"));    
-}
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
index 81097eaaf9..eca60a8c04 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
@@ -2,6 +2,6 @@ import("FilterviewMenuAction_lib");
 import("system.vars");
 import("system.result");
 
-var contactCount = vars.get("$sys.datarowcount");
+var orgCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(orgCount));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
index 98d07ed943..81097eaaf9 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -4,4 +4,4 @@ import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount);
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
index 98d07ed943..81097eaaf9 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
@@ -4,4 +4,4 @@ import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount);
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
index 98d07ed943..81097eaaf9 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -4,4 +4,4 @@ import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount);
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
index 98d07ed943..81097eaaf9 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
@@ -4,4 +4,4 @@ import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount);
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
index 98d07ed943..81097eaaf9 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
@@ -4,4 +4,4 @@ import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount);
\ No newline at end of file
+result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod b/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
index 0de13f5543..1f64a27f20 100644
--- a/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
+++ b/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
@@ -74,6 +74,9 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>notAddedRecipients</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <datalessRecordContainer>
diff --git a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
index 385706891b..f88ef04fc2 100644
--- a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
+++ b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
@@ -1,3 +1,5 @@
+import("system.eMath");
+import("system.neon");
 import("FilterviewMenuAction_lib");
 import("Contact_lib");
 import("system.result");
@@ -10,7 +12,7 @@ import("system.vars");
 
 var selection = JSON.parse(vars.getString("$param.ContactIds_param"));
 var comingfrom = vars.getString("$param.comingFrom_param");
-var contactIds;
+var contactIds = selection;
 
 if(!Array.isArray(selection)) //if selection is an array, data has been selected
 {
@@ -24,8 +26,15 @@ var serialLetterId = vars.get("$field.SERIALLETTER_ID")
 
 var res;
 if (serialLetterId)
-    res = JSON.stringify(BulkMailUtils.filterNewRecipients(serialLetterId, contactIds));
+{
+    res = SerialLetterUtils.filterNewRecipients(serialLetterId, contactIds);
+    neon.setFieldValue("$field.notAddedRecipients", eMath.subInt(contactIds.length, res.length));
+    res = JSON.stringify(res);
+}
 else
+{
     res = null;
-    
+    neon.setFieldValue("$field.notAddedRecipients", 0);
+}
+
 result.string(res);
\ No newline at end of file
diff --git a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcountmessage/valueProcess.js b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcountmessage/valueProcess.js
index 2b4640522a..3b3d66c60e 100644
--- a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcountmessage/valueProcess.js
+++ b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcountmessage/valueProcess.js
@@ -4,11 +4,18 @@ import("system.vars");
 
 var count = vars.getString("$field.recipientcount")
 var res = "";
+var resNotAdded = "\n\
+";
 if (count && !vars.get("$sys.validationerrors"))
 {
     if (count == "0")
         res = translate.text("No new recipients found that can be added to the serial letter.");
     else
+    {
         res = translate.withArguments("%0 new recipients will be added to the serial letter.", [count]);
+        var notAdded = vars.get("$field.notAddedRecipients")
+        if (notAdded > 0)
+            resNotAdded += translate.withArguments("%0 of the chosen records are already recipients.", [notAdded]);
+    }
 }
-result.string(res);
\ No newline at end of file
+result.string(res + resNotAdded);
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index ee5347bbda..70cdce02dc 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7369,19 +7369,7 @@
       <key>Mark all cached record containers as invalid</key>
     </entry>
     <entry>
-      <key>Current Recipients</key>
-    </entry>
-    <entry>
-      <key>Date (Month)</key>
-    </entry>
-    <entry>
-      <key>Date (Year)</key>
-    </entry>
-    <entry>
-      <key>Date (Day)</key>
-    </entry>
-    <entry>
-      <key>Grant new User Permission</key>
+      <key>%0 of the chosen records are already recipients.</key>
     </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 9e16a897b9..cce78d3ebc 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8982,6 +8982,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Add Recipients</key>
+      <value>Empfänger hinzufügen</value>
     </entry>
     <entry>
       <key>{SEND_MAIL}</key>
@@ -9409,6 +9410,14 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Grant new User Permission</key>
     </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients.</key>
+      <value>%0 der ausgewählten Datensätze sind schon Empfänger.
+      </value>
+    </entry>
+    <entry>
+      <key>export using the selected  template</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 9aeb4aa1c6..060014ed35 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7464,6 +7464,9 @@
     <entry>
       <key>Grant new User Permission</key>
     </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
index 95a79e654d..c29615b901 100644
--- a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
+++ b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
@@ -14,6 +14,7 @@
   <children>
     <treeTableViewTemplate>
       <name>CostTreeTable</name>
+      <entityField>#ENTITY</entityField>
       <defaultGroupFields>
         <element>CAMPAIGNSTEP_ID</element>
       </defaultGroupFields>
diff --git a/process/Bulkmail_lib/process.js b/process/Bulkmail_lib/process.js
index 0715bd9e1c..66bb5a8691 100644
--- a/process/Bulkmail_lib/process.js
+++ b/process/Bulkmail_lib/process.js
@@ -613,4 +613,28 @@ SerialLetterUtils.addParticipantsByCondition = function(pCondition, pSourceTable
         "ContactIds_param" : pCondition,
         "comingFrom_param" : pSourceTableName}
     neon.openContext("SerialLetterAddRecipients", "SerialLetterAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
-}
\ No newline at end of file
+}
+
+/**
+ * Filters the given contactIds if they can be added as new recipients.
+ * Checks if a contact is already a recipient or if there is a advertising ban.
+ * 
+ * @param {String} pSerialLetterId id of the seroal letter the contacts should be added to
+ * @param {String[]} pContactIds contacts to filter
+ * @return {String[]} contacts that can be added as recipients
+ */
+SerialLetterUtils.filterNewRecipients = function (pSerialLetterId, pContactIds)
+{
+    return newSelect("CONTACTID")
+                .from("CONTACT")
+                .whereIfSet("CONTACT.CONTACTID", pContactIds, SqlBuilder.IN())
+                // only add contacts that aren't already recipients
+                .and(null, newSelect("LETTERRECIPIENTID")
+                                    .from("LETTERRECIPIENT")
+                                    .where("LETTERRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
+                                    .and("LETTERRECIPIENT.SERIALLETTER_ID", pSerialLetterId)
+                        , SqlBuilder.NOT_EXISTS())
+                // check if there's a commrestriction
+                .and(ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$mail(), true))  
+                .arrayColumn();
+}
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 2791c6b51f..7a2b2ead82 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -502,15 +502,24 @@ CampaignUtils.GetParticipantsAlreadyAddedCountByCondition = function(pWhereCondi
  */
 CampaignUtils.GetContactIdsNotInCampaignByRowIds = function(pCampaignId, pParticipantRowIds)
 {   
-    return newSelect("CONTACT.CONTACTID")
-        .from("CONTACT")
-        .where("CONTACT.CONTACTID", pParticipantRowIds, SqlBuilder.IN())
-        .and("CONTACT.CONTACTID", 
-            newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
-            .from("CAMPAIGNPARTICIPANT")
-            .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
-            , SqlBuilder.NOT_IN())
-        .arrayColumn();
+
+    var isNotOrg = newSelect("CONTACT.PERSON_ID").from("CONTACT").where("CONTACT.CONTACTID", pParticipantRowIds[0]).cell()
+    
+    var contactIds = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
+                                                .from("CAMPAIGNPARTICIPANT")
+                                                .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
+                                                .arrayColumn();
+    if(contactIds.length <= 0)
+        contactIds = [""];
+    var contactidsNotInCampaign = newSelect("CONTACT.CONTACTID")
+                                            .from("CONTACT")
+                                            .where("CONTACT.CONTACTID", pParticipantRowIds, SqlBuilder.IN())
+                                            .and("CONTACT.CONTACTID", contactIds, SqlBuilder.NOT_IN())
+
+    if(!isNotOrg)
+        contactidsNotInCampaign = contactidsNotInCampaign.and("CONTACT.PERSON_ID is null")
+
+    return contactidsNotInCampaign.arrayColumn();
 }
 
 /**
diff --git a/process/FilterviewMenuAction_lib/process.js b/process/FilterviewMenuAction_lib/process.js
index 9dbcc8e25b..ed2e0a7135 100644
--- a/process/FilterviewMenuAction_lib/process.js
+++ b/process/FilterviewMenuAction_lib/process.js
@@ -28,20 +28,21 @@ FilterviewMenuActionUtils.contactIdsFilter = function (pCondition)
 };
 
 /**
- * Generates an Array of all the organisationIds using the filtercondition
+ * Generates an Array of all the organisationContactIds using the filtercondition
  * 
  * @param {String} pCondition the condition of the filter
  * 
- * @return {Array} all the organisationids (=contactIds of the organisations) limited by the filtercondition
+ * @return {Array} all the organisationContactIds (=contactIds of the organisations) limited by the filtercondition
  */
 FilterviewMenuActionUtils.organisationIdsFilter = function (pCondition)
 {
-    let query = newSelect("distinct ORGANISATION.ORGANISATIONID").from("ORGANISATION");
+    let query = newSelect("distinct CONTACT.CONTACTID").from("ORGANISATION")
     
     query.leftJoin("CONTACT", "CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID")
         .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
         .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
-        .where(pCondition);
+        .where(pCondition)
+        .and("CONTACT.PERSON_ID is null");
 
     return query.arrayColumn();
 };
-- 
GitLab


From f6b9c2230f567c0d79d51d38a515c50fc4ceec91 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Thu, 17 Sep 2020 09:45:12 +0200
Subject: [PATCH 019/251] #1065404: Added #ICON as iconField and
 DISTRICT_STATUS (mandatory) to preview.

---
 neonView/DistrictPreview_view/DistrictPreview_view.aod | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/neonView/DistrictPreview_view/DistrictPreview_view.aod b/neonView/DistrictPreview_view/DistrictPreview_view.aod
index 041618ad4f..4f778e7540 100644
--- a/neonView/DistrictPreview_view/DistrictPreview_view.aod
+++ b/neonView/DistrictPreview_view/DistrictPreview_view.aod
@@ -13,6 +13,7 @@
   <children>
     <cardViewTemplate>
       <name>cardViewTemplate</name>
+      <iconField>#ICON</iconField>
       <titleField>DISTRICT_NAME</titleField>
       <descriptionField>DISTRICT_NUMBER_fieldGroup</descriptionField>
       <entityField>#ENTITY</entityField>
@@ -39,6 +40,10 @@
           <name>0dddb53a-30ea-4c82-b7c2-7c3372a2968a</name>
           <entityField>DISTRICT_FILTER</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>98be594e-6209-4046-b0e9-07200c8c294e</name>
+          <entityField>DISTRICT_STATUS</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <scoreCardViewTemplate>
-- 
GitLab


From 751a8379a4159d1c8ac16e2f2d94af9dd2d53f16 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 10:50:00 +0200
Subject: [PATCH 020/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064454][Order by aus Index.query entfernen]

---
 entity/Offer_entity/recordcontainers/index/query.js        | 3 +--
 entity/Order_entity/recordcontainers/index/query.js        | 3 +--
 entity/Person_entity/recordcontainers/index/query.js       | 2 --
 entity/Product_entity/recordcontainers/index/query.js      | 3 +--
 entity/Salesproject_entity/recordcontainers/index/query.js | 3 +--
 5 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/entity/Offer_entity/recordcontainers/index/query.js b/entity/Offer_entity/recordcontainers/index/query.js
index 32864cdd4a..7d975c8bb3 100644
--- a/entity/Offer_entity/recordcontainers/index/query.js
+++ b/entity/Offer_entity/recordcontainers/index/query.js
@@ -18,8 +18,7 @@ var querySelect = newSelect([
     ])
     .from("OFFER")
     .join("CONTACT", "OFFER.CONTACT_ID = CONTACTID")
-    .join("ORGANISATION", "ORGANISATIONID = CONTACT.ORGANISATION_ID")
-    .orderBy("OFFER.OFFERCODE");
+    .join("ORGANISATION", "ORGANISATIONID = CONTACT.ORGANISATION_ID");
 
 if (vars.exists("$local.idvalue")) 
     querySelect.whereIfSet("OFFER.OFFERID", "$local.idvalue", SqlBuilder.IN());
diff --git a/entity/Order_entity/recordcontainers/index/query.js b/entity/Order_entity/recordcontainers/index/query.js
index e8aa2e8036..75ed9d1999 100644
--- a/entity/Order_entity/recordcontainers/index/query.js
+++ b/entity/Order_entity/recordcontainers/index/query.js
@@ -17,8 +17,7 @@ var querySelect = newSelect([
     ])
     .from("SALESORDER")
     .join("CONTACT", "SALESORDER.CONTACT_ID = CONTACTID")
-    .join("ORGANISATION", "ORGANISATIONID = CONTACT.ORGANISATION_ID")
-    .orderBy("SALESORDERCODE");
+    .join("ORGANISATION", "ORGANISATIONID = CONTACT.ORGANISATION_ID");
                     
 if (vars.exists("$local.idvalue")) 
     querySelect.whereIfSet("SALESORDER.SALESORDERID", "$local.idvalue", SqlBuilder.IN());
diff --git a/entity/Person_entity/recordcontainers/index/query.js b/entity/Person_entity/recordcontainers/index/query.js
index 0aea379f73..57faf58999 100644
--- a/entity/Person_entity/recordcontainers/index/query.js
+++ b/entity/Person_entity/recordcontainers/index/query.js
@@ -54,6 +54,4 @@ var querySelect = newSelect([
 if (vars.exists("$local.idvalue"))
     querySelect.andIfSet("CONTACT.CONTACTID", "$local.idvalue");
 
-querySelect = querySelect.orderBy("CONTACT.CONTACTID");
-
 result.string(querySelect);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/index/query.js b/entity/Product_entity/recordcontainers/index/query.js
index ad3ce1ae86..e06093cbeb 100644
--- a/entity/Product_entity/recordcontainers/index/query.js
+++ b/entity/Product_entity/recordcontainers/index/query.js
@@ -11,8 +11,7 @@ var sqlQuery = newSelect([
         KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODEID"), //#DESCRIPTION
         "PRODUCTCODE"
     ])
-    .from("PRODUCT")
-    .orderBy("PRODUCTCODE");
+    .from("PRODUCT");
 
 if (vars.exists("$local.idvalue")) 
     sqlQuery.whereIfSet("PRODUCT.PRODUCTID", "$local.idvalue", SqlBuilder.IN());
diff --git a/entity/Salesproject_entity/recordcontainers/index/query.js b/entity/Salesproject_entity/recordcontainers/index/query.js
index b39c8d68ff..000f54e04c 100644
--- a/entity/Salesproject_entity/recordcontainers/index/query.js
+++ b/entity/Salesproject_entity/recordcontainers/index/query.js
@@ -21,8 +21,7 @@ var sqlQuery = newSelect([
         "PHASE",
         KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "PHASE") //PHASE.displayValue
     ])
-    .from("SALESPROJECT")
-    .orderBy("PROJECTCODE");
+    .from("SALESPROJECT");
 
 if (vars.exists("$local.idvalue"))
     sqlQuery.whereIfSet("SALESPROJECT.SALESPROJECTID", "$local.idvalue", SqlBuilder.IN());
-- 
GitLab


From efc0738436015fb0daafec5e7c4683dcfbe541e5 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Thu, 17 Sep 2020 11:14:39 +0000
Subject: [PATCH 021/251] =?UTF-8?q?#1049212-Vertriebscontrolling=20Entfern?=
 =?UTF-8?q?en=20der=20=C3=BCberfl=C3=BCssigen=20Filterextention=20und=20er?=
 =?UTF-8?q?weiterung=20der=20Expression=20#1063050=20#1063052?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../_____SYSTEM_APPLICATION_NEON.aod          |   4 +
 entity/Activity_entity/Activity_entity.aod    |  18 +-
 .../entityfields/entryday/valueProcess.js     |   6 -
 .../entrymonth/displayValueProcess.js         |  13 +
 .../entityfields/entrymonth/valueProcess.js   |   6 -
 .../entityfields/entryyear/valueProcess.js    |   6 -
 .../filterConditionProcess.js                 |  21 ++
 .../filterValuesProcess.js                    |  13 +
 .../recordcontainers/db/fromClauseProcess.js  |   3 +
 .../entryday.value/expression.js              |   7 +-
 .../entrymonth.value/expression.js            |   7 +-
 .../entryyear.value/expression.js             |   7 +-
 .../responsible.displayvalue/expression.js    |   4 +-
 .../SalesprojectConversionRate_entity.aod     | 108 +++++++
 .../documentation.adoc                        |   3 +
 .../displayValueProcess.js                    |   8 +
 .../openforecast/onActionProcess.js           |   7 +
 .../opensalesprojects/onActionProcess.js      |   6 +
 .../openturnover/onActionProcess.js           |   7 +
 .../sentoffers/onActionProcess.js             |   6 +
 .../initFilterProcess.js                      |  16 +
 .../recordcontainers/jdito/contentProcess.js  | 130 ++++++++
 .../recordcontainers/jdito/rowCountProcess.js |  32 ++
 .../_____LANGUAGE_EXTRA.aod                   | 288 +++++++++---------
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |   6 +-
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     | 147 +++++----
 neonContext/Activity/Activity.aod             |   4 +
 .../SalesprojectConversionRate.aod            |  14 +
 .../Vertriebsdashboard/Vertriebsdashboard.aod |  38 ++-
 .../ActivityAnalyses_view.aod                 |  46 +++
 .../ActivityFilter_view.aod                   |  16 +-
 .../SalesprojectConversionRate_view.aod       |  72 +++++
 process/KeywordRegistry_basic/process.js      |   1 +
 process/Salesproject_lib/process.js           | 143 +++++++--
 34 files changed, 935 insertions(+), 278 deletions(-)
 delete mode 100644 entity/Activity_entity/entityfields/entryday/valueProcess.js
 create mode 100644 entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
 delete mode 100644 entity/Activity_entity/entityfields/entrymonth/valueProcess.js
 delete mode 100644 entity/Activity_entity/entityfields/entryyear/valueProcess.js
 create mode 100644 entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterConditionProcess.js
 create mode 100644 entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterValuesProcess.js
 create mode 100644 entity/Activity_entity/recordcontainers/db/fromClauseProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
 create mode 100644 entity/SalesprojectConversionRate_entity/documentation.adoc
 create mode 100644 entity/SalesprojectConversionRate_entity/entityfields/ab_keyword_entryid_title/displayValueProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/entityfields/openforecast/onActionProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/entityfields/opensalesprojects/onActionProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/entityfields/openturnover/onActionProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/entityfields/sentoffers/onActionProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/initFilterProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
 create mode 100644 entity/SalesprojectConversionRate_entity/recordcontainers/jdito/rowCountProcess.js
 create mode 100644 neonContext/SalesprojectConversionRate/SalesprojectConversionRate.aod
 create mode 100644 neonView/ActivityAnalyses_view/ActivityAnalyses_view.aod
 create mode 100644 neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod

diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index 6113055f4e..2885448e52 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -96,6 +96,10 @@
                 <kind v="10077" />
                 <title></title>
               </entityNode>
+              <entityNode>
+                <name>SalesprojectConversionRate</name>
+                <kind v="10077" />
+              </entityNode>
             </childNodes>
           </entityNode>
           <entityNode>
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 2c1db41005..ad558ab066 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -4,9 +4,6 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Activity_entity/documentation.adoc</documentation>
   <title>Activity</title>
-  <siblings>
-    <element>ActivityLink_entity</element>
-  </siblings>
   <grantDeleteProcess>%aditoprj%/entity/Activity_entity/grantDeleteProcess.js</grantDeleteProcess>
   <contentTitleProcess>%aditoprj%/entity/Activity_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Activity_entity/afterUiInit.js</afterUiInit>
@@ -317,6 +314,7 @@
       <documentation>%aditoprj%/entity/Activity_entity/entityfields/responsible/documentation.adoc</documentation>
       <title>Responsible</title>
       <consumer>Employees</consumer>
+      <groupable v="true" />
       <linkedContext>Person</linkedContext>
       <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/responsible/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/responsible/displayValueProcess.js</displayValueProcess>
@@ -634,6 +632,7 @@
       <name>db</name>
       <alias>Data_alias</alias>
       <maximumDbRows v="10000" />
+      <fromClauseProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
       <conditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
       <onDBInsert>%aditoprj%/entity/Activity_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
@@ -734,6 +733,10 @@
           <recordfield>ACTIVITY.ACTIVITYID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>COUNT.value</name>
+          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/count.value/expression.js</expression>
+        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ENTRYDAY.value</name>
           <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js</expression>
@@ -767,6 +770,15 @@
           <isLookupFilter v="false" />
           <filtertype>BASIC</filtertype>
         </filterExtension>
+        <filterExtension>
+          <name>ResponsibleDepartment_filter</name>
+          <title>Responsible Department</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterConditionProcess.js</filterConditionProcess>
+          <isLookupFilter v="false" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Activity_entity/entityfields/entryday/valueProcess.js b/entity/Activity_entity/entityfields/entryday/valueProcess.js
deleted file mode 100644
index b5449ca198..0000000000
--- a/entity/Activity_entity/entityfields/entryday/valueProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.datetime");
-import("system.result");
-import("system.vars");
-
-var entryDate = vars.get("$field.ENTRYDATE");
-result.string(datetime.toDate(entryDate, "dd MMMM yyyy"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js b/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
new file mode 100644
index 0000000000..e95bca5a3e
--- /dev/null
+++ b/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
@@ -0,0 +1,13 @@
+import("system.translate");
+import("system.datetime");
+import("system.result");
+import("system.vars");
+
+let m = vars.get("$field.ENTRYMONTH");
+
+if (m) {
+    // When convert the Number of the Month to the Month name it doesn't matter which Year is used, so here is the Year 2020 hard-coded.
+    let monthDate = new Date(2020, m-1);
+    result.string(translate.text(datetime.toDate(monthDate.getTime(), "MMMM", "UTC")));
+}
+
diff --git a/entity/Activity_entity/entityfields/entrymonth/valueProcess.js b/entity/Activity_entity/entityfields/entrymonth/valueProcess.js
deleted file mode 100644
index 12df6162c9..0000000000
--- a/entity/Activity_entity/entityfields/entrymonth/valueProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.datetime");
-import("system.result");
-import("system.vars");
-
-var entryDate = vars.get("$field.ENTRYDATE");
-result.string(datetime.toDate(entryDate, "MMMM yyyy"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/entryyear/valueProcess.js b/entity/Activity_entity/entityfields/entryyear/valueProcess.js
deleted file mode 100644
index d0a0b4c327..0000000000
--- a/entity/Activity_entity/entityfields/entryyear/valueProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.datetime");
-import("system.result");
-import("system.vars");
-
-var entryDate = vars.get("$field.ENTRYDATE");
-result.string(datetime.toDate(entryDate, "yyyy"));
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..9af3c32fd6
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterConditionProcess.js
@@ -0,0 +1,21 @@
+import("system.tools");
+import("Sql_lib");
+import("Attribute_lib");
+import("system.logging");
+import("system.vars");
+import("PermissionCalendar_lib");
+import("system.result");
+
+var contactIDs = [];
+
+var data = tools.getUsersByAttribute("department", AttributeUtil.getAllChildren([vars.get("$local.rawvalue")]).concat([vars.get("$local.rawvalue")]));
+
+for (let i = 0; i < data.length; i++) {
+    contactIDs.push(data[i].params.contactID);
+}
+                
+if (data.length > 0) {
+    result.string(newWhere("ACTIVITY.RESPONSIBLE", contactIDs, SqlBuilder.IN()).toString());
+} else {
+    result.string(newWhere("1 = 2").toString());
+}
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterValuesProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..542e998eaa
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/responsibledepartment_filter/filterValuesProcess.js
@@ -0,0 +1,13 @@
+import("Sql_lib");
+import("AttributeRegistry_basic");
+import("Attribute_lib");
+import("system.result");
+import("system.translate");
+
+let data = newSelect("AB_ATTRIBUTE.AB_ATTRIBUTEID, AB_ATTRIBUTE.ATTRIBUTE_NAME").from("AB_ATTRIBUTE").where("AB_ATTRIBUTE.AB_ATTRIBUTEID", AttributeUtil.getAllChildren($AttributeRegistry.departments()), SqlBuilder.IN()).table()
+
+for (let row of data){
+    row[1] = translate.text(row[1]);
+}
+
+result.object(data);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/fromClauseProcess.js b/entity/Activity_entity/recordcontainers/db/fromClauseProcess.js
new file mode 100644
index 0000000000..38457662e0
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/fromClauseProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("ACTIVITY left join CONTACT on CONTACT.CONTACTID = ACTIVITY.RESPONSIBLE left join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID");
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js
index 16e52cf56f..d76ea5ff3f 100644
--- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js
@@ -1,5 +1,8 @@
+import("system.SQLTYPES");
+import("Sql_lib");
 import("system.result");
 import("Sql_lib");
 
-var helper = new SqlMaskingUtils();
-result.string(helper.dayFromDate("ACTIVITY.ENTRYDATE"));
\ No newline at end of file
+var sqlHelper = new SqlMaskingUtils();
+
+result.string(sqlHelper.cast(sqlHelper.dayFromDate("ACTIVITY.ENTRYDATE"), SQLTYPES.CHAR, 2));
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js
index b6df066c20..9cb7c78c1a 100644
--- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js
@@ -1,5 +1,8 @@
+import("system.SQLTYPES");
+import("Sql_lib");
 import("system.result");
 import("Sql_lib");
 
-var helper = new SqlMaskingUtils();
-result.string(helper.monthFromDate("ACTIVITY.ENTRYDATE"));
\ No newline at end of file
+var sqlHelper = new SqlMaskingUtils();
+
+result.string(sqlHelper.cast(sqlHelper.monthFromDate("ACTIVITY.ENTRYDATE"), SQLTYPES.CHAR, 2));
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js
index a882e16947..d13d775080 100644
--- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js
@@ -1,5 +1,8 @@
+import("system.SQLTYPES");
+import("Sql_lib");
 import("system.result");
 import("Sql_lib");
 
-var helper = new SqlMaskingUtils();
-result.string(helper.yearFromDate("ACTIVITY.ENTRYDATE"));
\ No newline at end of file
+var sqlHelper = new SqlMaskingUtils();
+
+result.string(sqlHelper.cast(sqlHelper.yearFromDate("ACTIVITY.ENTRYDATE"), SQLTYPES.CHAR, 4));
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js
index fdec89201f..e5f6d2a490 100644
--- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js
@@ -1,4 +1,4 @@
-import("system.result");
 import("Person_lib");
+import("system.result");
 
-result.string(PersUtils.getResolvingDisplaySubSql("RESPONSIBLE"))
\ No newline at end of file
+result.string(PersUtils.getDisplaySqlExpression());
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod b/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
new file mode 100644
index 0000000000..3a7099a2d8
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
+  <name>SalesprojectConversionRate_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/SalesprojectConversionRate_entity/documentation.adoc</documentation>
+  <title>Conversion Rate</title>
+  <initFilterProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/initFilterProcess.js</initFilterProcess>
+  <iconId>VAADIN:PIE_CHART</iconId>
+  <recordContainer>jdito</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityField>
+      <name>UID</name>
+      <title>AB_KEYWORD_ENTRYID</title>
+    </entityField>
+    <entityField>
+      <name>AB_KEYWORD_ENTRYID_TITLE</name>
+      <title>Phase</title>
+      <displayValueProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/entityfields/ab_keyword_entryid_title/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityActionField>
+      <name>openSalesprojects</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/entityfields/opensalesprojects/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>sentOffers</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/entityfields/sentoffers/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>openForecast</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/entityfields/openforecast/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>openTurnover</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/entityfields/openturnover/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityField>
+      <name>AB_KEYWORD_ENTRYID_KEYID</name>
+      <title>Phase</title>
+      <groupable v="true" />
+    </entityField>
+    <entityAggregateField>
+      <name>conversionRate_aggregate</name>
+      <parentField>conversionRate</parentField>
+    </entityAggregateField>
+    <entityField>
+      <name>conversionRate</name>
+      <title>Conversion Rate</title>
+      <contentType>NUMBER</contentType>
+      <outputFormat>0.00 %</outputFormat>
+    </entityField>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+  </entityFields>
+  <recordContainers>
+    <jDitoRecordContainer>
+      <name>jdito</name>
+      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <isPageable v="true" />
+      <isFilterable v="true" />
+      <isGroupable v="true" />
+      <contentProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
+      <rowCountProcess>%aditoprj%/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/rowCountProcess.js</rowCountProcess>
+      <recordFieldMappings>
+        <jDitoRecordFieldMapping>
+          <name>UID.value</name>
+        </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>AB_KEYWORD_ENTRYID_KEYID.value</name>
+        </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>AB_KEYWORD_ENTRYID_TITLE.value</name>
+        </jDitoRecordFieldMapping>
+      </recordFieldMappings>
+      <aggregateFieldMappings>
+        <jDitoRecordFieldMapping>
+          <name>conversionRate_aggregate.value</name>
+        </jDitoRecordFieldMapping>
+      </aggregateFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Year</name>
+          <title>Year</title>
+          <contentType>NUMBER</contentType>
+          <isGroupable v="true" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+        <filterExtension>
+          <name>Month</name>
+          <title>Month</title>
+          <contentType>NUMBER</contentType>
+          <isGroupable v="true" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+        <filterExtension>
+          <name>DATE_START</name>
+          <title>Date</title>
+          <contentType>DATE</contentType>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
+    </jDitoRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/SalesprojectConversionRate_entity/documentation.adoc b/entity/SalesprojectConversionRate_entity/documentation.adoc
new file mode 100644
index 0000000000..152aa4b415
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/documentation.adoc
@@ -0,0 +1,3 @@
+== Salesproject Analyses ==
+
+This entity provides analyses to display different things of all salesproject.
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/entityfields/ab_keyword_entryid_title/displayValueProcess.js b/entity/SalesprojectConversionRate_entity/entityfields/ab_keyword_entryid_title/displayValueProcess.js
new file mode 100644
index 0000000000..dc763b0c61
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/entityfields/ab_keyword_entryid_title/displayValueProcess.js
@@ -0,0 +1,8 @@
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+import("system.vars");
+import("system.translate");
+import("system.result");
+
+// It's important to translate twice, because there are Phase with an extra translation.
+result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectPhase(), vars.get("$field.AB_KEYWORD_ENTRYID_TITLE")));
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/entityfields/openforecast/onActionProcess.js b/entity/SalesprojectConversionRate_entity/entityfields/openforecast/onActionProcess.js
new file mode 100644
index 0000000000..a4f17e146f
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/entityfields/openforecast/onActionProcess.js
@@ -0,0 +1,7 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Turnover", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "ShowForecast_param": "true",
+    "ShowTurnover_param": "false"
+});
diff --git a/entity/SalesprojectConversionRate_entity/entityfields/opensalesprojects/onActionProcess.js b/entity/SalesprojectConversionRate_entity/entityfields/opensalesprojects/onActionProcess.js
new file mode 100644
index 0000000000..f4db85d348
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/entityfields/opensalesprojects/onActionProcess.js
@@ -0,0 +1,6 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Salesproject", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "Status_param": $KeywordRegistry.salesprojectState$open()
+});
diff --git a/entity/SalesprojectConversionRate_entity/entityfields/openturnover/onActionProcess.js b/entity/SalesprojectConversionRate_entity/entityfields/openturnover/onActionProcess.js
new file mode 100644
index 0000000000..b278ec2dce
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/entityfields/openturnover/onActionProcess.js
@@ -0,0 +1,7 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Turnover", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "ShowForecast_param": "false",
+    "ShowTurnover_param": "true"
+});
diff --git a/entity/SalesprojectConversionRate_entity/entityfields/sentoffers/onActionProcess.js b/entity/SalesprojectConversionRate_entity/entityfields/sentoffers/onActionProcess.js
new file mode 100644
index 0000000000..90c452b640
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/entityfields/sentoffers/onActionProcess.js
@@ -0,0 +1,6 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Offer", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "OfferStatus_param": $KeywordRegistry.offerStatus$sent()
+});
diff --git a/entity/SalesprojectConversionRate_entity/initFilterProcess.js b/entity/SalesprojectConversionRate_entity/initFilterProcess.js
new file mode 100644
index 0000000000..b3c81f9c83
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/initFilterProcess.js
@@ -0,0 +1,16 @@
+import("system.result");
+
+let filter = {
+    "type":"group",
+    "operator":"AND",
+    "childs":[{
+        "type":"row",
+        "name":"#EXTENSION.DATE_START.DATE_START#DATE",
+        "operator":"TIMEFRAME_EQUAL",
+        "value":"Dieses Jahr",
+        "key":"REL=ADJUSTED;UNIT=YEAR",
+        "contenttype":"DATE"
+    }]
+};
+
+result.string(JSON.stringify(filter));
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
new file mode 100644
index 0000000000..95781d3251
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
@@ -0,0 +1,130 @@
+import("JditoFilter_lib");
+import("Salesproject_lib");
+import("system.datetime");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Sql_lib");
+import("KeywordRegistry_basic");
+import("system.neon");
+
+let sqlHelper = new SqlMaskingUtils();
+let filter = vars.get("$local.filters");
+let dateStartYear = sqlHelper.yearFromDate("SALESPROJECT_MILESTONE.DATE_START");
+let dateStartMonth = sqlHelper.monthFromDate("SALESPROJECT_MILESTONE.DATE_START");
+let isFirstPhase = true;
+let data = [];
+
+    
+let  gruppingFields =  {
+    "AB_KEYWORD_ENTRYID_KEYID": ["AB_KEYWORD_ENTRY.KEYID", "AB_KEYWORD_ENTRY.TITLE", "AB_KEYWORD_ENTRY.SORTING"], 
+    "#EXTENSION.Year.Year#NUMBER" : [dateStartYear, dateStartYear, dateStartYear], 
+    "#EXTENSION.Month.Month#NUMBER" : [dateStartMonth, dateStartMonth, dateStartMonth]
+};
+
+let sql = new SqlBuilder()
+.from("AB_KEYWORD_ENTRY")
+.where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase())
+.and("AB_KEYWORD_ENTRY.KEYID", $KeywordRegistry.salesprojectPhase$nego(), SqlBuilder.NOT_EQUAL());
+
+if (filter != null)
+{
+    if (JSON.stringify(filter).indexOf("AB_KEYWORD_ENTRYID_KEYID") > -1)
+    {
+        let phasenFilter = filter.childs.filter(function (child) {
+            return (child.childs.filter(function (child) {
+                return child.name == "AB_KEYWORD_ENTRYID_KEYID";
+            })).length > 0
+        })[0];
+        phasenFilter.operator = "OR";
+        let pre = newSelect("PRE.KEYID").from("AB_KEYWORD_ENTRY").join("AB_KEYWORD_ENTRY", "AB_KEYWORD_ENTRY.SORTING -1 = PRE.SORTING", "PRE").where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase()).and("PRE.CONTAINER = '" + $KeywordRegistry.salesprojectPhase() + "'").and("AB_KEYWORD_ENTRY.KEYID", phasenFilter.childs[0].value).cell()
+        if (pre != "") {
+            let temp = JSON.parse(JSON.stringify(phasenFilter.childs[0]));
+            temp.value = temp.key  = pre;
+            phasenFilter.childs.push(temp);
+            isFirstPhase = false;
+        }
+    }
+    
+    let filterCondition = JditoFilterUtils.getSqlCondition(filter, "AB_KEYWORD_ENTRY", null, SalesprojectConversionRate.filterMapping(null));
+    sql.andIfSet(filterCondition);
+}
+
+
+
+if (vars.exists("$local.grouped"))
+{
+    let groupedfield = vars.get("$local.grouped");
+    sql.join("SALESPROJECT_MILESTONE", newWhere("SALESPROJECT_MILESTONE.MILESTONEVALUE = AB_KEYWORD_ENTRY.KEYID"))
+        // COUNT, ID, TITLE
+        .select(["COUNT(*)", gruppingFields[groupedfield][0], gruppingFields[groupedfield][1]])
+        .groupBy(["AB_KEYWORD_ENTRY.KEYID", "AB_KEYWORD_ENTRY.SORTING", gruppingFields[groupedfield][0], gruppingFields[groupedfield][1], gruppingFields[groupedfield][2]])
+        .orderBy([gruppingFields[groupedfield][2], "AB_KEYWORD_ENTRY.SORTING"]);
+        
+    if (filter != null)
+    {
+        filterCondition = JditoFilterUtils.getSqlCondition(filter, "SALESPROJECT_MILESTONE", null, SalesprojectConversionRate.filterMapping("SALESPROJECT_MILESTONE.DATE_START", false, "SALESPROJECT_MILESTONE"));
+        sql.andIfSet(filterCondition);
+    }
+    
+    let sqlData = sql.table();
+    let row = {
+        "id": "", 
+        "title": "",
+        "sumRate": 0.0, 
+        "sumCount": 0,
+        "count" : 0,
+        "getTitle": function (pGroupedField) {
+            if (pGroupedField == "#EXTENSION.Month.Month#NUMBER" )
+            {
+                // When convert the Number of the Month to the Month name it doesn't matter which Year is used, so here is the Year 2020 hard-coded.
+                let monthDate = new Date(2020, parseInt(this.title)-1);
+                return translate.text(datetime.toDate(monthDate.getTime(), "MMMM", "UTC"));
+            }
+            return translate.text(translate.text(this.title));
+        }
+    };
+    let pre = -1;
+    
+    for (let i = 0; i <= sqlData.length; i++){
+        if (i == sqlData.length || sqlData[i][1] != row.id) 
+        {
+            if (row.id != "")
+                data.push([row.sumCount + "", row.id, row.getTitle(groupedfield), row.sumRate / row.count]);
+            
+            if (i == sqlData.length)
+                break;
+            
+            row.id = sqlData[i][1];
+            row.title = sqlData[i][2];
+            row.sumRate = 0;
+            row.sumCount = 0;
+            row.count =  0;
+            
+            if (groupedfield != "AB_KEYWORD_ENTRYID_KEYID") {
+                pre = -1;
+            }
+        }
+        
+        if (pre != -1)
+            row.sumRate += (parseFloat(sqlData[i][0]) / pre);
+        
+        if (isFirstPhase || pre != -1)
+        {
+            row.count++;
+            row.sumCount += parseInt(sqlData[i][0]);
+        }
+            
+        
+        pre = parseFloat(sqlData[i][0]);
+        
+        
+    }
+    result.object(data);
+} 
+else 
+{
+    sql.select(["AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID", "AB_KEYWORD_ENTRY.KEYID", "AB_KEYWORD_ENTRY.TITLE"])
+        .orderBy("AB_KEYWORD_ENTRY.SORTING");
+    result.object(sql.table());
+}
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/rowCountProcess.js b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/rowCountProcess.js
new file mode 100644
index 0000000000..8615399a38
--- /dev/null
+++ b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/rowCountProcess.js
@@ -0,0 +1,32 @@
+import("KeywordRegistry_basic");
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+import("JditoFilter_lib");
+import("Salesproject_lib");
+
+var groupMapping = SalesprojectConversionRate.groupMapping(true);
+var phases = new SqlBuilder().select(["COUNT(*)"]).from("AB_KEYWORD_ENTRY")
+.join("SALESPROJECT_MILESTONE", "AB_KEYWORD_ENTRY.KEYID = SALESPROJECT_MILESTONE.MILESTONEVALUE")
+.where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase())
+.and("AB_KEYWORD_ENTRY.KEYID", $KeywordRegistry.salesprojectPhase$nego(), SqlBuilder.NOT_EQUAL());
+
+var filter = vars.get("$local.filters");
+
+if (filter != null)
+{
+    var filterCondition = JditoFilterUtils.getSqlCondition(vars.get("$local.filters"), "AB_KEYWORD_ENTRY", null, SalesprojectConversionRate.filterMapping("SALESPROJECT_MILESTONE.DATE_START", true));
+    phases.andIfSet(filterCondition);
+}
+
+if (vars.exists("$local.grouped"))
+{
+    var groupedfield = vars.get("$local.grouped")
+    phases.groupBy([groupMapping[groupedfield]]);
+} 
+else 
+{
+    phases.groupBy(["AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID", "AB_KEYWORD_ENTRY.KEYID", "AB_KEYWORD_ENTRY.TITLE", "AB_KEYWORD_ENTRY.SORTING"]);
+}
+
+result.string(phases.arrayColumn().length);
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 70cdce02dc..689a7f5b90 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -2082,6 +2082,12 @@
     <entry>
       <key>Entrydate (Day)</key>
     </entry>
+    <entry>
+      <key>Date (Month)</key>
+    </entry>
+    <entry>
+      <key>Date (Day)</key>
+    </entry>
     <entry>
       <key>My Dashboard</key>
     </entry>
@@ -3195,6 +3201,9 @@
     <entry>
       <key>Entrydate must not be in the future</key>
     </entry>
+    <entry>
+      <key>Date must not be in the future</key>
+    </entry>
     <entry>
       <key>Delivery specification</key>
     </entry>
@@ -4725,6 +4734,9 @@
     <entry>
       <key>Entrydate (Year)</key>
     </entry>
+    <entry>
+      <key>Date (Year)</key>
+    </entry>
     <entry>
       <key>Attributes must be unique!</key>
     </entry>
@@ -6263,6 +6275,9 @@
     <entry>
       <key>Entrydate has to be in the selected calendar week!</key>
     </entry>
+    <entry>
+      <key>Date has to be in the selected calendar week!</key>
+    </entry>
     <entry>
       <key>Invalid year!</key>
     </entry>
@@ -6783,293 +6798,303 @@
       <key>Offerrequest</key>
     </entry>
     <entry>
-      <key>Number of employees</key>
+      <key>Full Permissions</key>
     </entry>
     <entry>
-      <key>2. Customer value</key>
+      <key>Full permissions already assigned</key>
     </entry>
     <entry>
-      <key>Product preference</key>
+      <key>Import Daten</key>
     </entry>
     <entry>
-      <key>Business development</key>
+      <key>Import Logs</key>
     </entry>
     <entry>
-      <key>Headquarters</key>
+      <key>Transferdaten</key>
     </entry>
     <entry>
-      <key>Current supply share</key>
+      <key>Valid from (as </key>
     </entry>
     <entry>
-      <key>Purchasing potential p. a.</key>
+      <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key>
     </entry>
     <entry>
-      <key>ScoreTargetGgroup</key>
+      <key>Settings</key>
     </entry>
     <entry>
-      <key>Stagnated</key>
+      <key>No new recipients found that can be added to the bulk mail.</key>
     </entry>
     <entry>
-      <key>Negative</key>
+      <key>Add Recipients</key>
     </entry>
     <entry>
-      <key>1. Target group</key>
+      <key>Add Participants</key>
     </entry>
     <entry>
-      <key>Positive</key>
+      <key>Download letter and create Activity</key>
     </entry>
     <entry>
-      <key>0-50</key>
+      <key>and open Report</key>
     </entry>
     <entry>
-      <key>Till Score</key>
+      <key>export</key>
     </entry>
     <entry>
-      <key>251-1000</key>
+      <key>export using the selected  template</key>
     </entry>
     <entry>
-      <key>ab 1000</key>
+      <key>No new recipients found that can be added to the serial letter.</key>
     </entry>
     <entry>
-      <key>Full Permissions</key>
+      <key>send mail</key>
     </entry>
     <entry>
-      <key>200-349 T€</key>
+      <key>and open modeler</key>
     </entry>
     <entry>
-      <key>100-199 T€</key>
+      <key>Create model</key>
     </entry>
     <entry>
-      <key>Full permissions already assigned</key>
+      <key>Edit workflow</key>
     </entry>
     <entry>
-      <key>51-100</key>
+      <key>Receive new Department Permission</key>
     </entry>
     <entry>
-      <key>Import Daten</key>
+      <key>Receive new User Permission</key>
     </entry>
     <entry>
-      <key>ab 350 T€</key>
+      <key>workflow notification</key>
     </entry>
     <entry>
-      <key>0-49 T€</key>
+      <key>Workflow Model</key>
     </entry>
     <entry>
-      <key>Grading</key>
+      <key>Current Recipients</key>
     </entry>
     <entry>
-      <key>Import Logs</key>
+      <key>The workflow could not be deployed</key>
     </entry>
     <entry>
-      <key>Transferdaten</key>
+      <key>Workflow deploy failed</key>
     </entry>
     <entry>
-      <key>50-99 T€</key>
+      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
+                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
     </entry>
     <entry>
-      <key>101-250</key>
+      <key>Recipients after adding</key>
     </entry>
     <entry>
-      <key>Gradings</key>
+      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
     </entry>
     <entry>
-      <key>Valid from (as </key>
+      <key>Organisations will be exported</key>
     </entry>
     <entry>
-      <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key>
+      <key>Contacts will be exported</key>
     </entry>
     <entry>
-      <key>yellow</key>
+      <key>%0 new participants will be added to the campaign.</key>
     </entry>
     <entry>
-      <key>Borrow</key>
+      <key>%0 of the chosen records are already in the campaign</key>
     </entry>
     <entry>
-      <key>Is unlinked activity</key>
+      <key>Permission received</key>
     </entry>
     <entry>
-      <key>Fantasy</key>
+      <key>leadimport notification</key>
     </entry>
     <entry>
-      <key>Extend</key>
+      <key>granted permission</key>
     </entry>
     <entry>
-      <key>Krimi</key>
+      <key>Bulk mail sent</key>
     </entry>
     <entry>
-      <key>red</key>
+      <key>download ready</key>
     </entry>
     <entry>
-      <key>Return</key>
+      <key>Total in euros</key>
     </entry>
     <entry>
-      <key>green</key>
+      <key>{SENT_MAIL}</key>
     </entry>
     <entry>
-      <key>Actionthriller</key>
+      <key>The Sales Project can only be filled when a company has been specified</key>
     </entry>
     <entry>
-      <key>No new recipients found that can be added to the bulk mail.</key>
+      <key>Ø Probability</key>
     </entry>
     <entry>
-      <key>Add Recipients</key>
+      <key>Probability AI</key>
     </entry>
     <entry>
-      <key>Add Participants</key>
+      <key>{SEND_MAIL}</key>
     </entry>
     <entry>
-      <key>Download letter and create Activity</key>
+      <key>New</key>
     </entry>
     <entry>
-      <key>and open Report</key>
+      <key>Release</key>
     </entry>
     <entry>
-      <key>export</key>
+      <key>Archived</key>
     </entry>
     <entry>
-      <key>export using the selected  template</key>
+      <key>asdf</key>
     </entry>
     <entry>
-      <key>No new recipients found that can be added to the serial letter.</key>
+      <key>Latitude</key>
     </entry>
     <entry>
-      <key>send mail</key>
+      <key>Longitude</key>
     </entry>
     <entry>
-      <key>and open modeler</key>
+      <key>Favorites</key>
     </entry>
     <entry>
-      <key>Create model</key>
+      <key>Favorite</key>
     </entry>
     <entry>
-      <key>Edit workflow</key>
+      <key>Show all Favorites</key>
     </entry>
     <entry>
-      <key>Receive new Department Permission</key>
+      <key>Default</key>
     </entry>
     <entry>
-      <key>Receive new User Permission</key>
+      <key>Grant new Department Permission</key>
     </entry>
     <entry>
-      <key>workflow notification</key>
+      <key>Permission Procurer Department</key>
     </entry>
     <entry>
-      <key>Permission received</key>
+      <key>Permission Procurer User</key>
     </entry>
     <entry>
-      <key>leadimport notification</key>
+      <key>Grant new User Permission</key>
     </entry>
     <entry>
-      <key>granted permission</key>
+      <key>yellow</key>
     </entry>
     <entry>
-      <key>Bulk mail sent</key>
+      <key>Number of employees</key>
     </entry>
     <entry>
-      <key>download ready</key>
+      <key>Borrow</key>
     </entry>
     <entry>
-      <key>Total in euros</key>
+      <key>Selection placeholder</key>
     </entry>
     <entry>
-      <key>Workflow Model</key>
+      <key>0-50</key>
     </entry>
     <entry>
-      <key>{SENT_MAIL}</key>
+      <key>2. Customer value</key>
     </entry>
     <entry>
-      <key>The Sales Project can only be filled when a company has been specified</key>
+      <key>Product preference</key>
     </entry>
     <entry>
-      <key>The workflow could not be deployed</key>
+      <key>Business development</key>
     </entry>
     <entry>
-      <key>Workflow deploy failed</key>
+      <key>Till Score</key>
     </entry>
     <entry>
-      <key>Ø Probability</key>
+      <key>Current password</key>
     </entry>
     <entry>
-      <key>Probability AI</key>
+      <key>Headquarters</key>
     </entry>
     <entry>
-      <key>{SEND_MAIL}</key>
+      <key>Calendar maintime start</key>
     </entry>
     <entry>
-      <key>New</key>
+      <key>251-1000</key>
     </entry>
     <entry>
-      <key>Release</key>
+      <key>ab 1000</key>
     </entry>
     <entry>
-      <key>Archived</key>
+      <key>favorties</key>
     </entry>
     <entry>
-      <key>asdf</key>
+      <key>Gradings</key>
     </entry>
     <entry>
-      <key>Settings</key>
+      <key>200-349 T€</key>
     </entry>
     <entry>
-      <key>Latitude</key>
+      <key>Fantasy</key>
     </entry>
     <entry>
-      <key>Longitude</key>
+      <key>100-199 T€</key>
     </entry>
     <entry>
-      <key>Favorites</key>
+      <key>Password must contain special characters</key>
     </entry>
     <entry>
-      <key>Favorite</key>
+      <key>Current supply share</key>
     </entry>
     <entry>
-      <key>Show all Favorites</key>
+      <key>51-100</key>
     </entry>
     <entry>
-      <key>Default</key>
+      <key>Password must be at least %0 characters</key>
     </entry>
     <entry>
-      <key>Titel</key>
+      <key>Purchasing potential p. a.</key>
     </entry>
     <entry>
-      <key>Set missing address locations</key>
+      <key>favorite</key>
     </entry>
     <entry>
-      <key>FavoriteFilter_view</key>
+      <key>Repeat password</key>
     </entry>
     <entry>
-      <key>Typ</key>
+      <key>Extend</key>
     </entry>
     <entry>
-      <key>Set all address locations</key>
+      <key>%0: %1/%2points = %3</key>
     </entry>
     <entry>
-      <key>favorties</key>
+      <key>ab 350 T€</key>
     </entry>
     <entry>
-      <key>Gruppenname</key>
+      <key>Krimi</key>
     </entry>
     <entry>
-      <key>Password must contain special characters</key>
+      <key>red</key>
     </entry>
     <entry>
-      <key>Password must be at least %0 characters</key>
+      <key>0-49 T€</key>
     </entry>
     <entry>
-      <key>favorite</key>
+      <key>Return</key>
     </entry>
     <entry>
-      <key>Repeat password</key>
+      <key>Grading</key>
     </entry>
     <entry>
-      <key>%0: %1/%2points = %3</key>
+      <key>SELECTION_NULL</key>
     </entry>
     <entry>
-      <key>SELECTION_NULL</key>
+      <key>ScoreTargetGgroup</key>
+    </entry>
+    <entry>
+      <key>Stagnated</key>
+    </entry>
+    <entry>
+      <key>Is unlinked activity</key>
     </entry>
     <entry>
       <key>Selection ignore case</key>
     </entry>
+    <entry>
+      <key>Negative</key>
+    </entry>
     <entry>
       <key>Calendar maintime end</key>
     </entry>
@@ -7088,6 +7113,9 @@
     <entry>
       <key>Indicator</key>
     </entry>
+    <entry>
+      <key>green</key>
+    </entry>
     <entry>
       <key>favorites</key>
     </entry>
@@ -7097,6 +7125,9 @@
     <entry>
       <key>Run ServerProcess</key>
     </entry>
+    <entry>
+      <key>1. Target group</key>
+    </entry>
     <entry>
       <key>SELECTION_NEITHER</key>
     </entry>
@@ -7106,15 +7137,27 @@
     <entry>
       <key>New password</key>
     </entry>
+    <entry>
+      <key>Actionthriller</key>
+    </entry>
     <entry>
       <key>Calendar hour divider</key>
     </entry>
+    <entry>
+      <key>Positive</key>
+    </entry>
     <entry>
       <key>SELECTION_BOTH</key>
     </entry>
+    <entry>
+      <key>50-99 T€</key>
+    </entry>
     <entry>
       <key>SELECTION_POSTFIX</key>
     </entry>
+    <entry>
+      <key>101-250</key>
+    </entry>
     <entry>
       <key>Password must contain letters</key>
     </entry>
@@ -7160,6 +7203,9 @@
     <entry>
       <key>Mapping</key>
     </entry>
+    <entry>
+      <key>Typ</key>
+    </entry>
     <entry>
       <key>Mappings</key>
     </entry>
@@ -7169,6 +7215,9 @@
     <entry>
       <key>Members</key>
     </entry>
+    <entry>
+      <key>Gruppenname</key>
+    </entry>
     <entry>
       <key>The radius has to be %0 or lesser.</key>
     </entry>
@@ -7319,58 +7368,9 @@
     <entry>
       <key>Worklow started</key>
     </entry>
-    <entry>
-      <key>Selection placeholder</key>
-    </entry>
-    <entry>
-      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
-                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Grant new Department Permission</key>
-    </entry>
-    <entry>
-      <key>Current password</key>
-    </entry>
-    <entry>
-      <key>Calendar maintime start</key>
-    </entry>
-    <entry>
-      <key>The status of the offer was changed to \"sent\".</key>
-    </entry>
-    <entry>
-      <key>Permission Procurer Department</key>
-    </entry>
-    <entry>
-      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Organisations will be exported</key>
-    </entry>
-    <entry>
-      <key>Recipients after adding</key>
-    </entry>
-    <entry>
-      <key>Contacts will be exported</key>
-    </entry>
-    <entry>
-      <key>%0 new participants will be added to the campaign.</key>
-    </entry>
-    <entry>
-      <key>%0 of the chosen records are already in the campaign</key>
-    </entry>
-    <entry>
-      <key>Permission Procurer User</key>
-    </entry>
-    <entry>
-      <key>The status of the order was changed to \"sent\".</key>
-    </entry>
     <entry>
       <key>Mark all cached record containers as invalid</key>
     </entry>
-    <entry>
-      <key>%0 of the chosen records are already recipients.</key>
-    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index cce78d3ebc..d5d4caceba 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8862,7 +8862,7 @@ Bitte Datumseingabe prüfen</value>
       <key>Transferdaten</key>
     </entry>
     <entry>
-      <key>50-99 D€</key>
+      <key>50-99 T€</key>
     </entry>
     <entry>
       <key>101-250</key>
@@ -8883,7 +8883,9 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Download letter and create Activity</key>
-    </entry>
+      <value>Brief herunterladen und Aktivität erstellen</value>
+e>
+    </en>
     <entry>
       <key>Extend</key>
     </entry>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 060014ed35..5a4d49e151 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -2115,6 +2115,12 @@
     <entry>
       <key>Entrydate (Day)</key>
     </entry>
+    <entry>
+      <key>Date (Month)</key>
+    </entry>
+    <entry>
+      <key>Date (Day)</key>
+    </entry>
     <entry>
       <key>My Dashboard</key>
     </entry>
@@ -3273,6 +3279,9 @@
     <entry>
       <key>Entrydate must not be in the future</key>
     </entry>
+    <entry>
+      <key>Date must not be in the future</key>
+    </entry>
     <entry>
       <key>Delivery specification</key>
     </entry>
@@ -4802,6 +4811,9 @@
     <entry>
       <key>Entrydate (Year)</key>
     </entry>
+    <entry>
+      <key>Date (Year)</key>
+    </entry>
     <entry>
       <key>Attributes must be unique!</key>
     </entry>
@@ -6322,6 +6334,9 @@
     <entry>
       <key>Entrydate has to be in the selected calendar week!</key>
     </entry>
+    <entry>
+      <key>Date has to be in the selected calendar week!</key>
+    </entry>
     <entry>
       <key>Invalid year!</key>
     </entry>
@@ -6498,7 +6513,7 @@
       <key>Show offer</key>
     </entry>
     <entry>
-      <key>The status of the offer was changed to \"sent\".</key>
+      <key>The status of the offer was changed to \"Sent\".</key>
     </entry>
     <entry>
       <key>pCallbackFn is not a function</key>
@@ -7007,13 +7022,19 @@
       <key>send mail</key>
     </entry>
     <entry>
-      <key>Receive new Department Permission</key>
+      <key>and open modeler</key>
     </entry>
     <entry>
-      <key>Receive new User Permission</key>
+      <key>Workflow Model</key>
     </entry>
     <entry>
-      <key>and open modeler</key>
+      <key>Current Recipients</key>
+    </entry>
+    <entry>
+      <key>The workflow could not be deployed</key>
+    </entry>
+    <entry>
+      <key>Workflow deploy failed</key>
     </entry>
     <entry>
       <key>Create model</key>
@@ -7021,6 +7042,34 @@
     <entry>
       <key>Edit workflow</key>
     </entry>
+    <entry>
+      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
+                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Recipients after adding</key>
+    </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Organisations will be exported</key>
+    </entry>
+    <entry>
+      <key>Contacts will be exported</key>
+    </entry>
+    <entry>
+      <key>%0 new participants will be added to the campaign.</key>
+    </entry>
+    <entry>
+      <key>%0 of the chosen records are already in the campaign</key>
+    </entry>
+    <entry>
+      <key>Receive new Department Permission</key>
+    </entry>
+    <entry>
+      <key>Receive new User Permission</key>
+    </entry>
     <entry>
       <key>workflow notification</key>
     </entry>
@@ -7042,9 +7091,6 @@
     <entry>
       <key>Total in euros</key>
     </entry>
-    <entry>
-      <key>Workflow Model</key>
-    </entry>
     <entry>
       <key>The Sales Project can only be filled when a company has been specified</key>
     </entry>
@@ -7129,22 +7175,28 @@
       <key>Default</key>
     </entry>
     <entry>
-      <key>Titel</key>
+      <key>Grant new Department Permission</key>
     </entry>
     <entry>
-      <key>Set missing address locations</key>
+      <key>Permission Procurer Department</key>
     </entry>
     <entry>
-      <key>FavoriteFilter_view</key>
+      <key>Permission Procurer User</key>
     </entry>
     <entry>
-      <key>Typ</key>
+      <key>Grant new User Permission</key>
     </entry>
     <entry>
-      <key>Set all address locations</key>
+      <key>Selection placeholder</key>
     </entry>
     <entry>
-      <key>Gruppenname</key>
+      <key>Current password</key>
+    </entry>
+    <entry>
+      <key>Calendar maintime start</key>
+    </entry>
+    <entry>
+      <key>Password must contain special characters</key>
     </entry>
     <entry>
       <key>Password must be at least %0 characters</key>
@@ -7212,15 +7264,33 @@
     <entry>
       <key>Mapping</key>
     </entry>
+    <entry>
+      <key>Typ</key>
+    </entry>
     <entry>
       <key>Mappings</key>
     </entry>
     <entry>
       <key>Radius in km</key>
     </entry>
+    <entry>
+      <key>Titel</key>
+    </entry>
+    <entry>
+      <key>Set missing address locations</key>
+    </entry>
+    <entry>
+      <key>FavoriteFilter_view</key>
+    </entry>
+    <entry>
+      <key>Set all address locations</key>
+    </entry>
     <entry>
       <key>Members</key>
     </entry>
+    <entry>
+      <key>Gruppenname</key>
+    </entry>
     <entry>
       <key>The radius has to be %0 or lesser.</key>
     </entry>
@@ -7392,62 +7462,25 @@
       <key>Worklow started</key>
     </entry>
     <entry>
-      <key>Selection placeholder</key>
-    </entry>
-    <entry>
-      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
-                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Grant new Department Permission</key>
-    </entry>
-    <entry>
-      <key>Current password</key>
-    </entry>
-    <entry>
-      <key>Calendar maintime start</key>
-    </entry>
-    <entry>
-      <key>Password must contain special characters</key>
-    </entry>
-    <entry>
-      <key>Permission Procurer Department</key>
-    </entry>
-    <entry>
-      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Organisations will be exported</key>
-    </entry>
-    <entry>
-      <key>Recipients after adding</key>
-    </entry>
-    <entry>
-      <key>Contacts will be exported</key>
-    </entry>
-    <entry>
-      <key>The status of the offer was changed to \"Sent\".</key>
-    </entry>
-    <entry>
-      <key>The workflow could not be deployed</key>
+      <key>Mark all cached record containers as invalid</key>
     </entry>
     <entry>
-      <key>Workflow deploy failed</key>
+      <key>Month</key>
     </entry>
     <entry>
-      <key>%0 new participants will be added to the campaign.</key>
+      <key>Sales Staff Activity</key>
     </entry>
     <entry>
-      <key>%0 of the chosen records are already in the campaign</key>
+      <key>Salesproject Convertion Rates</key>
     </entry>
     <entry>
-      <key>Permission Procurer User</key>
+      <key>Shows the different conversion rates of the sales project phases</key>
     </entry>
     <entry>
-      <key>The status of the order was changed to \"sent\".</key>
+      <key>Responsible Department</key>
     </entry>
     <entry>
-      <key>Mark all cached record containers as invalid</key>
+      <key>Shows the number of Activities of the Grouped Fields</key>
     </entry>
     <entry>
       <key>Current Recipients</key>
diff --git a/neonContext/Activity/Activity.aod b/neonContext/Activity/Activity.aod
index a1422e41f5..996107066d 100644
--- a/neonContext/Activity/Activity.aod
+++ b/neonContext/Activity/Activity.aod
@@ -41,5 +41,9 @@
       <name>01feb10a-34d2-4ef3-b87b-a1e35a4b12e0</name>
       <view>ActivityUniversalFileProcessorFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>f1e3f5e0-1002-4a68-9114-0389c0d7d4d1</name>
+      <view>ActivityAnalyses_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/SalesprojectConversionRate/SalesprojectConversionRate.aod b/neonContext/SalesprojectConversionRate/SalesprojectConversionRate.aod
new file mode 100644
index 0000000000..d4721f5aef
--- /dev/null
+++ b/neonContext/SalesprojectConversionRate/SalesprojectConversionRate.aod
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>SalesprojectConversionRate</name>
+  <title>Conversion Rate</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterView>SalesprojectConversionRate_view</filterView>
+  <entity>SalesprojectConversionRate_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>31c78b8b-2c5c-40d2-9cb1-0994f65e079d</name>
+      <view>SalesprojectConversionRate_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
index 0da4c5bde0..870d8ef2f2 100644
--- a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
+++ b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod
@@ -35,39 +35,51 @@
       </uiConfiguration>
     </neonDashlet>
     <neonDashlet>
-      <name>Dashlet5</name>
-      <viewName>TurnoverChart_view</viewName>
-      <configName>TurnoverDashlet</configName>
+      <name>Dashlet2</name>
+      <viewName>SalesprojectFilter_view</viewName>
+      <configName>OpenSalesprojectsDashlet</configName>
       <uiConfiguration>
         <name>uiConfiguration</name>
         <xPos v="0" />
-        <yPos v="0" />
-        <colspan v="1" />
+        <yPos v="10" />
+        <colspan v="2" />
         <rowspan v="5" />
       </uiConfiguration>
     </neonDashlet>
     <neonDashlet>
-      <name>Dashlet2</name>
-      <viewName>SalesprojectFilter_view</viewName>
-      <configName>OpenSalesprojectsDashlet</configName>
+      <name>Dashlet3</name>
+      <viewName>SalesprojectAnalyses_view</viewName>
+      <configName>SalesprojectPhases</configName>
       <uiConfiguration>
         <name>uiConfiguration</name>
         <xPos v="1" />
         <yPos v="5" />
-        <colspan v="2" />
+        <colspan v="1" />
         <rowspan v="5" />
       </uiConfiguration>
     </neonDashlet>
     <neonDashlet>
-      <name>Dashlet3</name>
-      <viewName>SalesprojectAnalyses_view</viewName>
-      <configName>SalesprojectPhases</configName>
+      <name>Dashlet6</name>
+      <viewName>SalesprojectConversionRate_view</viewName>
+      <configName>ConvertionRates</configName>
       <uiConfiguration>
         <name>uiConfiguration</name>
         <xPos v="0" />
+        <yPos v="0" />
+        <colspan v="1" />
+        <rowspan v="10" />
+      </uiConfiguration>
+    </neonDashlet>
+    <neonDashlet>
+      <name>Dashlet7</name>
+      <viewName>ActivityAnalyses_view</viewName>
+      <configName>analysesChart</configName>
+      <uiConfiguration>
+        <name>uiConfiguration</name>
+        <xPos v="2" />
         <yPos v="5" />
         <colspan v="1" />
-        <rowspan v="5" />
+        <rowspan v="10" />
       </uiConfiguration>
     </neonDashlet>
   </defaultDashlets>
diff --git a/neonView/ActivityAnalyses_view/ActivityAnalyses_view.aod b/neonView/ActivityAnalyses_view/ActivityAnalyses_view.aod
new file mode 100644
index 0000000000..606d13134a
--- /dev/null
+++ b/neonView/ActivityAnalyses_view/ActivityAnalyses_view.aod
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>ActivityAnalyses_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>analysesChart</name>
+      <title>Sales Staff Activity</title>
+      <description>Shows the number of Activities of the Grouped Fields</description>
+      <fragment>Activity/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiIjRVhURU5TSU9OLlJlc3BvbnNpYmxlRGVwYXJ0bWVudF9maWx0ZXIuUmVzcG9uc2libGVEZXBhcnRtZW50X2ZpbHRlciNURVhUIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiVmVydHJpZWIiLCJrZXkiOiJjOWQ4MTEwOS00NDA2LTQyMDUtOGI5MC1lMjdhY2Y1ODdjZjEiLCJjb250ZW50dHlwZSI6IlRFWFQifSx7InR5cGUiOiJyb3ciLCJuYW1lIjoiRU5UUllEQVRFIiwib3BlcmF0b3IiOiJUSU1FRlJBTUVfRVFVQUwiLCJ2YWx1ZSI6IkRpZXNlcyBKYWhyIiwia2V5IjoiUkVMPUFESlVTVEVEO1VOSVQ9WUVBUiIsImNvbnRlbnR0eXBlIjoiREFURSJ9XX0%3D&amp;axes=COUNT&amp;grouping=RESPONSIBLE%2CCATEGORY</fragment>
+      <singleton v="true" />
+      <storeRoles>
+        <element>PROJECT_FieldStaff</element>
+        <element>PROJECT_OfficeStaff</element>
+      </storeRoles>
+      <icon>VAADIN:BAR_CHART_H</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>charts</name>
+          <title>Charts</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <dynamicMultiDataChartViewTemplate>
+      <name>dynamicChart</name>
+      <chartType>COLUMN</chartType>
+      <yAxisLabel>Count</yAxisLabel>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonDynamicMultiDataChartColumn>
+          <name>5d99020c-0bf4-4815-9a67-9e378fa66b66</name>
+          <entityField>COUNT</entityField>
+          <aggregateEntityField>COUNT_aggregate</aggregateEntityField>
+        </neonDynamicMultiDataChartColumn>
+      </columns>
+    </dynamicMultiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityFilter_view/ActivityFilter_view.aod b/neonView/ActivityFilter_view/ActivityFilter_view.aod
index 0d59f1b7b3..a94234cc3f 100644
--- a/neonView/ActivityFilter_view/ActivityFilter_view.aod
+++ b/neonView/ActivityFilter_view/ActivityFilter_view.aod
@@ -116,18 +116,10 @@
         </neonTreeTableColumn>
       </columns>
     </treeTableViewTemplate>
-    <dynamicMultiDataChartViewTemplate>
-      <name>DynamicMultiDataChart</name>
-      <chartType>COLUMN</chartType>
-      <yAxisLabel>Count</yAxisLabel>
+    <neonViewReference>
+      <name>d09b51b2-9b8c-4aa1-8226-f20554491951</name>
       <entityField>#ENTITY</entityField>
-      <columns>
-        <neonDynamicMultiDataChartColumn>
-          <name>fce2e978-e34d-4c6d-84f0-94d698ae793e</name>
-          <entityField>COUNT</entityField>
-          <aggregateEntityField>COUNT_aggregate</aggregateEntityField>
-        </neonDynamicMultiDataChartColumn>
-      </columns>
-    </dynamicMultiDataChartViewTemplate>
+      <view>ActivityAnalyses_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod b/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod
new file mode 100644
index 0000000000..dfb2ef2e31
--- /dev/null
+++ b/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>SalesprojectConversionRate_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>ConvertionRates</name>
+      <title>Salesproject Convertion Rates</title>
+      <description>Shows the different conversion rates of the sales project phases</description>
+      <fragment>SalesprojectConversionRate/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiIjRVhURU5TSU9OLkRBVEVfU1RBUlQuREFURV9TVEFSVCNEQVRFIiwib3BlcmF0b3IiOiJUSU1FRlJBTUVfRVFVQUwiLCJ2YWx1ZSI6IkRpZXNlcyBKYWhyIiwia2V5IjoiUkVMPUFESlVTVEVEO1VOSVQ9WUVBUiIsImNvbnRlbnR0eXBlIjoiREFURSJ9XX0%3D&amp;axes=conversionRate&amp;grouping=AB_KEYWORD_ENTRYID_KEYID%2C%23EXTENSION.Month.Month%23NUMBER</fragment>
+      <singleton v="true" />
+      <storeRoles>
+        <element>PROJECT_FieldStaff</element>
+        <element>PROJECT_OfficeStaff</element>
+      </storeRoles>
+      <icon>VAADIN:BAR_CHART_V</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>sales</name>
+          <title>Sales</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>charts</name>
+          <title>Charts</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <dynamicMultiDataChartViewTemplate>
+      <name>dynamicChart</name>
+      <chartType>BAR</chartType>
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>#EXTENSION.Month.Month#NUMBER</element>
+        <element>AB_KEYWORD_ENTRYID_KEYID</element>
+      </defaultGroupFields>
+      <columns>
+        <neonDynamicMultiDataChartColumn>
+          <name>ab9652f1-4606-4a07-8a54-9defd7d31990</name>
+          <entityField>conversionRate</entityField>
+          <aggregateEntityField>conversionRate_aggregate</aggregateEntityField>
+        </neonDynamicMultiDataChartColumn>
+      </columns>
+    </dynamicMultiDataChartViewTemplate>
+    <treeTableViewTemplate>
+      <name>TreeTable</name>
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>#EXTENSION.Month.Month#NUMBER</element>
+        <element>AB_KEYWORD_ENTRYID_KEYID</element>
+      </defaultGroupFields>
+      <columns>
+        <neonTreeTableColumn>
+          <name>75ab4e6c-ebae-404d-925b-d1f697ef7717</name>
+          <entityField>AB_KEYWORD_ENTRYID_TITLE</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>b8c437a5-220a-4a2e-b9a6-0f8f52f23460</name>
+          <entityField>conversionRate</entityField>
+          <aggregateEntityField>conversionRate_aggregate</aggregateEntityField>
+        </neonTreeTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index 09a3ba8264..aa1c2042a6 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -130,6 +130,7 @@ $KeywordRegistry.salesprojectState$lost = function(){return "SALPROJSTATLOST";};
 
 $KeywordRegistry.salesprojectPhase = function(){return "SalesprojectPhase";};
 $KeywordRegistry.salesprojectPhase$nqc = function(){return "SALPROJPHASENQC";};
+$KeywordRegistry.salesprojectPhase$nego = function(){return "SALPROJPHASENEGO";};
 
 $KeywordRegistry.taskPriority = function(){return "TaskPriority";};
 $KeywordRegistry.taskPriority$none = function(){return "TASKPRIONONE";};
diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js
index ba5bbada8c..53974b0854 100644
--- a/process/Salesproject_lib/process.js
+++ b/process/Salesproject_lib/process.js
@@ -52,16 +52,16 @@ Salesproject.validateProjectNumber = function(projectNumber) {
 Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForecast) {
     if (KeywordUtils.exists(value, type)) {
         var id = newSelect("SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID")
-                    .from("SALESPROJECT_MILESTONE")
-                    .where("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
-                    .and("SALESPROJECT_MILESTONE.KIND", type)
-                    .and("SALESPROJECT_MILESTONE.DATE_END is null")
-                    .cell();       
+        .from("SALESPROJECT_MILESTONE")
+        .where("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
+        .and("SALESPROJECT_MILESTONE.KIND", type)
+        .and("SALESPROJECT_MILESTONE.DATE_END is null")
+        .cell();       
         
         newWhere("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
-            .and("SALESPROJECT_MILESTONE.KIND", type)
-            .and("SALESPROJECT_MILESTONE.DATE_END is null")
-            .updateData(true, "SALESPROJECT_MILESTONE", ["DATE_END"], null, [vars.get("$sys.date")]);
+        .and("SALESPROJECT_MILESTONE.KIND", type)
+        .and("SALESPROJECT_MILESTONE.DATE_END is null")
+        .updateData(true, "SALESPROJECT_MILESTONE", ["DATE_END"], null, [vars.get("$sys.date")]);
         
         db.insertData(
             "SALESPROJECT_MILESTONE",
@@ -93,9 +93,9 @@ Salesproject.notifyToUpdateForecast = function() {
 Salesproject.getSalesProjectTitleById = function(pSalesProjectId)
 {
     return newSelect("PROJECTTITLE")
-                .from("SALESPROJECT")
-                .where("SALESPROJECT.SALESPROJECTID", pSalesProjectId)
-                .cell();
+    .from("SALESPROJECT")
+    .where("SALESPROJECT.SALESPROJECTID", pSalesProjectId)
+    .cell();
 }
 
 /**
@@ -118,11 +118,11 @@ Salesproject.createNewSalesprojectFromOrg = function(pRelationId, pSalesprojectN
 {
     var uid = util.getNewUUID();
     db.insertData(
-            "SALESPROJECT",
-            ["SALESPROJECTID", "CONTACT_ID", "PROJECTTITLE", "PROJECTCODE", "STARTDATE", "STATUS", "PHASE"],
-            null,
-            [uid, pRelationId, pSalesprojectName, Salesproject.getNextProjectNumber(), 
-                vars.get("$sys.date"), $KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectPhase$nqc()]); 
+        "SALESPROJECT",
+        ["SALESPROJECTID", "CONTACT_ID", "PROJECTTITLE", "PROJECTCODE", "STARTDATE", "STATUS", "PHASE"],
+        null,
+        [uid, pRelationId, pSalesprojectName, Salesproject.getNextProjectNumber(), 
+        vars.get("$sys.date"), $KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectPhase$nqc()]); 
     return uid;        
                   
 }
@@ -134,10 +134,10 @@ Salesproject.insertTouchPoint = function(pSalesprojectId, pTouchPoint, pInfo)
 {
     var uid = util.getNewUUID();
     db.insertData(
-            "SALESPROJECT_TOUCHPOINT",
-            ["SALESPROJECT_TOUCHPOINTID", "SALESPROJECT_ID", "ENTRYDATE", "INFO", "TOUCHPOINT"],
-            null,
-            [uid, pSalesprojectId, vars.get("$sys.date"), pInfo, pTouchPoint]); 
+        "SALESPROJECT_TOUCHPOINT",
+        ["SALESPROJECT_TOUCHPOINTID", "SALESPROJECT_ID", "ENTRYDATE", "INFO", "TOUCHPOINT"],
+        null,
+        [uid, pSalesprojectId, vars.get("$sys.date"), pInfo, pTouchPoint]); 
     return uid;                         
 }
 
@@ -147,5 +147,106 @@ Salesproject.insertTouchPoint = function(pSalesprojectId, pTouchPoint, pInfo)
 Salesproject.updateSalesprojectPhase = function(pSalesprojectId, pPhase)
 {
     newWhere("SALESPROJECT.SALESPROJECTID", pSalesprojectId)
-        .updateData(true, "SALESPROJECT", ["PHASE"], null, [pPhase]);                      
+    .updateData(true, "SALESPROJECT", ["PHASE"], null, [pPhase]);                      
 }
+
+/**
+ * Methods used by the SalesprojectConversionRate.
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function SalesprojectConversionRate() {}
+
+/**
+ * Returns the Mapping of the Fields and FilterExtention for the grouping 
+ * 
+ * @param {Boolean} pRightOneTables if true you get the Mappings with the actual Tablenames 
+ * 
+ * @return {Object}
+ */
+SalesprojectConversionRate.groupMapping = function (pRightOneTables) 
+{
+    let sqlHelper = new SqlMaskingUtils();
+    if (pRightOneTables)
+    {
+        return {
+            "AB_KEYWORD_ENTRYID_KEYID": "AB_KEYWORD_ENTRY.KEYID", 
+            "#EXTENSION.Year.Year#NUMBER" : sqlHelper.yearFromDate("SALESPROJECT_MILESTONE.DATE_START"), 
+            "#EXTENSION.Month.Month#NUMBER" : sqlHelper.monthFromDate("SALESPROJECT_MILESTONE.DATE_START")
+        }
+    }
+    
+    let dateStartYear = sqlHelper.yearFromDate("DATA.DATE_START");
+    let dateStartMonth = sqlHelper.monthFromDate("DATA.DATE_START");
+    
+    return {
+        "AB_KEYWORD_ENTRYID_KEYID": ["DATA.KEYID", "DATA.TITLE", "DATA.SORTING"], 
+        "#EXTENSION.Year.Year#NUMBER" : [dateStartYear, dateStartYear, dateStartYear], 
+        "#EXTENSION.Month.Month#NUMBER" : [dateStartMonth, dateStartMonth, dateStartMonth]
+    }
+}
+
+/**
+ * Returns the FieldMappings for the FilterExtentions for the giffen Table
+ * if there is a TableAlias used as pField there have to be a pTable
+ * 
+ * @param {String} pField the filtered Feld in the format Table.Column or TableAlias.Column
+ * @param {Boolean} pIsAll if true you get the Mapping for all Fields
+ * @param {Integer} pTable the Table of the used TableAlias
+ * 
+ * @return {Object} FieldMapping
+ */
+SalesprojectConversionRate.filterMapping = function(pField, pIsAll, pTable)
+{
+    let sqlHelper = new SqlMaskingUtils();
+    if (pField == null){
+        return {
+        
+            "AB_KEYWORD_ENTRYID_KEYID": "AB_KEYWORD_ENTRY.KEYID", 
+            "#EXTENSION.Year.Year#NUMBER" : null, 
+            "#EXTENSION.Month.Month#NUMBER" : null,
+            "#EXTENSION.DATE_START.DATE_START#DATE" : null
+        }
+    } else {
+        let mapping = {
+            "AB_KEYWORD_ENTRYID_KEYID": null, 
+            "#EXTENSION.Year.Year#NUMBER" : function (pValue, pOperator) {
+                return _getFilterByFunction(pValue, pOperator,  sqlHelper.yearFromDate(pField));
+            }
+            , 
+            "#EXTENSION.Month.Month#NUMBER" : function (pValue, pOperator) {
+                return _getFilterByFunction(pValue, pOperator, sqlHelper.monthFromDate(pField));
+            }
+            ,
+            "#EXTENSION.DATE_START.DATE_START#DATE" : pField
+        };
+        if (pIsAll){
+            mapping.AB_KEYWORD_ENTRYID_KEYID = "AB_KEYWORD_ENTRY.KEYID";
+        }
+        
+        if (pTable) {
+            let arr = pField.split(".");
+            mapping["#EXTENSION.DATE_START.DATE_START#DATE"] = [pTable, arr[1], arr[0]];
+        }
+        
+        return mapping;
+                
+    }
+    
+    function _getFilterByFunction (pValue, pOperator, pAggregate) {
+        let sqlCond = "" + pAggregate;
+
+        if (pOperator == "EQUAL")
+            sqlCond += " = " + pValue + "";
+        else if (pOperator == "NOT_EQUAL")
+            sqlCond += " <> " + pValue + ""; 
+        else
+            sqlCond = "1=1";
+
+        return  sqlCond;
+    }
+    
+}
+
+
-- 
GitLab


From cfc98fbebd252ad3349a9c4f74f7b5fd29f45760 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 11:16:23 +0000
Subject: [PATCH 022/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201062542][Besuchsplanung=20-=20Neuanlage/Bearbeiten:?=
 =?UTF-8?q?=20combo=20mitarbeiter=20enth=C3=A4lt=20alle=20Kontakte]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../VisitPlanEmployeeWeek_entity.aod                | 11 +++++------
 .../{person_id => contact_id}/valueProcess.js       |  3 +--
 .../entityfields/person_id/displayValueProcess.js   |  7 -------
 .../VisitPlanEmployeeWeekEdit_view.aod              |  8 ++++----
 .../VisitPlanEmployeeWeekFilter_view.aod            | 13 +++++--------
 .../VisitPlanEmployeeWeekPreview_view.aod           | 12 +++---------
 6 files changed, 18 insertions(+), 36 deletions(-)
 rename entity/VisitPlanEmployeeWeek_entity/entityfields/{person_id => contact_id}/valueProcess.js (71%)
 delete mode 100644 entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/displayValueProcess.js

diff --git a/entity/VisitPlanEmployeeWeek_entity/VisitPlanEmployeeWeek_entity.aod b/entity/VisitPlanEmployeeWeek_entity/VisitPlanEmployeeWeek_entity.aod
index e285bf117f..63130c5f63 100644
--- a/entity/VisitPlanEmployeeWeek_entity/VisitPlanEmployeeWeek_entity.aod
+++ b/entity/VisitPlanEmployeeWeek_entity/VisitPlanEmployeeWeek_entity.aod
@@ -33,11 +33,10 @@
       <title>Info</title>
     </entityField>
     <entityField>
-      <name>PERSON_ID</name>
+      <name>CONTACT_ID</name>
       <title>Employee</title>
-      <consumer>Persons</consumer>
-      <valueProcess>%aditoprj%/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/displayValueProcess.js</displayValueProcess>
+      <state>INVISIBLE</state>
+      <valueProcess>%aditoprj%/entity/VisitPlanEmployeeWeek_entity/entityfields/contact_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>icon</name>
@@ -134,11 +133,11 @@
           <recordfield>VISITPLANEMPLOYEEWEEK.INFO</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>PERSON_ID.value</name>
+          <name>CONTACT_ID.value</name>
           <recordfield>VISITPLANEMPLOYEEWEEK.CONTACT_ID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>PERSON_ID.displayValue</name>
+          <name>CONTACT_ID.displayValue</name>
           <expression>%aditoprj%/entity/VisitPlanEmployeeWeek_entity/recordcontainers/db/recordfieldmappings/person_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
diff --git a/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/valueProcess.js b/entity/VisitPlanEmployeeWeek_entity/entityfields/contact_id/valueProcess.js
similarity index 71%
rename from entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/valueProcess.js
rename to entity/VisitPlanEmployeeWeek_entity/entityfields/contact_id/valueProcess.js
index 0bb4d7463f..d8bc2ef035 100644
--- a/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/valueProcess.js
+++ b/entity/VisitPlanEmployeeWeek_entity/entityfields/contact_id/valueProcess.js
@@ -2,7 +2,6 @@ import("system.neon");
 import("system.result");
 import("Employee_lib");
 import("system.vars");
-import("Sql_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-    result.string(EmployeeUtils.getCurrentContactId());
+    result.string(EmployeeUtils.getCurrentContactId());
\ No newline at end of file
diff --git a/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/displayValueProcess.js b/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/displayValueProcess.js
deleted file mode 100644
index 2161701ba3..0000000000
--- a/entity/VisitPlanEmployeeWeek_entity/entityfields/person_id/displayValueProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("system.vars");
-import("Contact_lib");
-
-//show the simple title since this will be later an employee-entry and therefore no organisation is needed
-var title = ContactUtils.getTitleByContactId(vars.get("$field.PERSON_ID"));
-result.string(title);
diff --git a/neonView/VisitPlanEmployeeWeekEdit_view/VisitPlanEmployeeWeekEdit_view.aod b/neonView/VisitPlanEmployeeWeekEdit_view/VisitPlanEmployeeWeekEdit_view.aod
index d11ac479a5..f4bb8a7d21 100644
--- a/neonView/VisitPlanEmployeeWeekEdit_view/VisitPlanEmployeeWeekEdit_view.aod
+++ b/neonView/VisitPlanEmployeeWeekEdit_view/VisitPlanEmployeeWeekEdit_view.aod
@@ -16,10 +16,6 @@
       <entityField>#ENTITY</entityField>
       <isEditable v="true" />
       <fields>
-        <entityFieldLink>
-          <name>a066671d-5efb-4123-afe6-a4a420342b17</name>
-          <entityField>PERSON_ID</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>fb5eb7db-38f3-46d7-8694-8c11a05a3d74</name>
           <entityField>WEEK</entityField>
@@ -32,6 +28,10 @@
           <name>6e656a20-41a5-4fe7-9b4a-ba2e3629ade1</name>
           <entityField>INFO</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>0c0f5a7d-296c-46ee-9ecb-baefe3a96621</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
   </children>
diff --git a/neonView/VisitPlanEmployeeWeekFilter_view/VisitPlanEmployeeWeekFilter_view.aod b/neonView/VisitPlanEmployeeWeekFilter_view/VisitPlanEmployeeWeekFilter_view.aod
index 4eab720674..6de254467a 100644
--- a/neonView/VisitPlanEmployeeWeekFilter_view/VisitPlanEmployeeWeekFilter_view.aod
+++ b/neonView/VisitPlanEmployeeWeekFilter_view/VisitPlanEmployeeWeekFilter_view.aod
@@ -12,6 +12,8 @@
     <tableViewTemplate>
       <name>Table</name>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>a3f48ebd-9472-4388-8525-8351bdc90715</name>
@@ -25,10 +27,6 @@
           <name>41e665d5-0bcf-4e33-8080-809d839da15d</name>
           <entityField>YEAR</entityField>
         </neonTableColumn>
-        <neonTableColumn>
-          <name>92095268-0400-462d-9a6c-227d9f6966d4</name>
-          <entityField>PERSON_ID</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>a5b55587-841d-42d5-b4b7-eff55f6f6858</name>
           <entityField>entriescount</entityField>
@@ -54,6 +52,9 @@
     <treeTableViewTemplate>
       <name>Treetable</name>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <defaultGroupFields />
+      <fixedFilterFields />
       <columns>
         <neonTreeTableColumn>
           <name>555cdb41-0bad-40e8-afad-f389ff0a9910</name>
@@ -67,10 +68,6 @@
           <name>6a11aa05-3879-46f2-9944-2006d9caf928</name>
           <entityField>YEAR</entityField>
         </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>bb232878-5316-4b8f-9c0e-02833e588544</name>
-          <entityField>PERSON_ID</entityField>
-        </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>8db139d9-7dd7-4ea2-9c73-1c0accec2ef5</name>
           <entityField>entriescount</entityField>
diff --git a/neonView/VisitPlanEmployeeWeekPreview_view/VisitPlanEmployeeWeekPreview_view.aod b/neonView/VisitPlanEmployeeWeekPreview_view/VisitPlanEmployeeWeekPreview_view.aod
index 7e053c7391..ec7824e9de 100644
--- a/neonView/VisitPlanEmployeeWeekPreview_view/VisitPlanEmployeeWeekPreview_view.aod
+++ b/neonView/VisitPlanEmployeeWeekPreview_view/VisitPlanEmployeeWeekPreview_view.aod
@@ -14,22 +14,15 @@
     <cardViewTemplate>
       <name>Card</name>
       <iconField>icon</iconField>
-      <titleField>PERSON_ID</titleField>
+      <titleField>WEEK</titleField>
       <entityField>#ENTITY</entityField>
       <isEditable v="false" />
+      <informationField>YEAR</informationField>
     </cardViewTemplate>
     <genericViewTemplate>
       <name>Generic</name>
       <entityField>#ENTITY</entityField>
       <fields>
-        <entityFieldLink>
-          <name>5dcc40c3-a5e9-4030-a0bd-50282c361c0e</name>
-          <entityField>WEEK</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e75e5ce2-9702-4885-a12d-64afe780b728</name>
-          <entityField>YEAR</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>9e6bca10-ce10-4f90-a5e5-f70c680edb25</name>
           <entityField>INFO</entityField>
@@ -38,6 +31,7 @@
     </genericViewTemplate>
     <scoreCardViewTemplate>
       <name>Score_Card</name>
+      <fieldActions />
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
-- 
GitLab


From 4a6f381d5309deba5f8e037d9fad6fc2e0259948 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 11:20:44 +0000
Subject: [PATCH 023/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201062665][Dublettenzusammenf=C3=BChrung=20-=20doppelte?=
 =?UTF-8?q?=20Kommunikationsdaten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/DuplicateScanner_lib/process.js | 61 +++++++++++++++++++++++--
 1 file changed, 57 insertions(+), 4 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index cd84a6b264..7756ac358a 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -666,7 +666,12 @@ DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
     
     deleteStatements.push(["CONTACT", newWhere("CONTACT.CONTACTID", pSourceContactId).build()]);
     deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteCachedUnrelatedDuplicateQuery(pSourceContactId));
-
+    
+    for (var i = 0; i < updateStatementsCurrentAlias.length; i++) {
+            if(updateStatementsCurrentAlias[i][0] == "RemoveThisItem")
+                updateStatementsCurrentAlias.splice(i,1);
+        }
+    
     var affectedRowsCurrentAlias = db.updates(updateStatementsCurrentAlias);
     var affectedRowsSystemAlias = db.updates(updateStatementsSystemAlias, SqlUtils.getSystemAlias());
     var deletedRows = db.deletes(deleteStatements)
@@ -1197,9 +1202,57 @@ _DuplicateScannerUtils._buildUpdateContactIdStatements = function(pTableInfos, p
     {
         var updateValues = {};
         updateValues[columnName] = pTargetContactId;
-        return newWhere([tableName, columnName], pSourceContactId, undefined, undefined, pAlias)
-            .andIfSet(additionalCondition)
-            .buildUpdateStatement(updateValues, tableName)
+        var exclude = false;
+         
+        if(tableName == "COMMUNICATION")
+        {
+            var sourceComm = newSelect("COMMUNICATION.ADDR")
+                                        .from("COMMUNICATION")
+                                        .where("COMMUNICATION.CONTACT_ID", pSourceContactId)
+                                        .arrayColumn();
+                                        
+            var targetComm = newSelect("COMMUNICATION.ADDR")
+                                        .from("COMMUNICATION")
+                                        .where("COMMUNICATION.CONTACT_ID", pTargetContactId)
+                                        .arrayColumn();
+            //set exclude to true if both of the datatasets have the exact same address (we don't want one person to have the same address twice)
+            if(sourceComm.length > 0 && targetComm.length > 0 )
+                {
+                    for (var i = 0; i < sourceComm.length; i++) {
+                        for (var x = 0; x < targetComm.length; x++) {
+                            if(sourceComm[i] == targetComm[x])
+                                exclude = true;
+                        }
+                    }
+                }
+                
+            var targetStandard = newSelect("CONTACT.ADDRESS_ID")
+                                            .from("CONTACT")
+                                            .where("CONTACT.CONTACTID", pTargetContactId)
+                                            .cell();
+                                            
+            //set the standardaddress of the sourceContact as standard of the targetContact if it doesn't have one set yet
+            if(!targetStandard) 
+            {
+                var sourceStandard = newSelect("CONTACT.ADDRESS_ID")
+                                            .from("CONTACT")
+                                            .where("CONTACT.CONTACTID", pSourceContactId)
+                                            .cell();
+                newWhere("CONTACT.CONTACTID", pTargetContactId).updateData(true, "CONTACT", ["ADDRESS_ID"], null, sourceStandard);
+            }
+        }
+        
+        if(exclude)
+        {
+            newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId).deleteData(true, "COMMUNICATION"); //delete the address of the sourceContact
+            return ["RemoveThisItem"]
+        }
+        else
+        {
+            return newWhere([tableName, columnName], pSourceContactId, undefined, undefined, pAlias)
+                .andIfSet(additionalCondition)
+                .buildUpdateStatement(updateValues, tableName)
+        }
     });
 }
 
-- 
GitLab


From 2244f1948cd37a792c8cf39127db1fc5f2cc57ba Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 13:27:10 +0200
Subject: [PATCH 024/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201062433][Serienbrief=20-=20Register=20Dokumente=20-?=
 =?UTF-8?q?=20es=20k=C3=B6nnen=20keine=20Dokumente=20hinzugef=C3=BCgt=20we?=
 =?UTF-8?q?rden]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Document_entity/Document_entity.aod                | 2 +-
 entity/Document_entity/grantCreateProcess.js              | 8 +++++++-
 entity/SerialLetter_entity/SerialLetter_entity.aod        | 4 ++++
 .../children/disallowcreate_param/valueProcess.js         | 3 +++
 4 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 entity/SerialLetter_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index ee34493e4a..dd65b75f3f 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -359,7 +359,7 @@
         <entityParameter>
           <name>DisallowCreate_param</name>
           <valueProcess>%aditoprj%/entity/Document_entity/entityfields/singledocument/children/disallowcreate_param/valueProcess.js</valueProcess>
-          <expose v="false" />
+          <expose v="true" />
         </entityParameter>
       </children>
     </entityProvider>
diff --git a/entity/Document_entity/grantCreateProcess.js b/entity/Document_entity/grantCreateProcess.js
index e6afa18182..d8e043b37d 100644
--- a/entity/Document_entity/grantCreateProcess.js
+++ b/entity/Document_entity/grantCreateProcess.js
@@ -1,4 +1,10 @@
 import("system.vars");
 import("system.result");
 
-result.string(!vars.get("$param.DisallowCreate_param"));
\ No newline at end of file
+var disallow = vars.getString("$param.DisallowCreate_param");
+var res = false;
+
+if(disallow == "false")
+    res = true;
+
+result.string(res);
\ No newline at end of file
diff --git a/entity/SerialLetter_entity/SerialLetter_entity.aod b/entity/SerialLetter_entity/SerialLetter_entity.aod
index f7d8c265e9..315503bad3 100644
--- a/entity/SerialLetter_entity/SerialLetter_entity.aod
+++ b/entity/SerialLetter_entity/SerialLetter_entity.aod
@@ -192,6 +192,10 @@
           <name>AssignmentName_param</name>
           <valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>DisallowCreate_param</name>
+          <valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityActionField>
diff --git a/entity/SerialLetter_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js b/entity/SerialLetter_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js
new file mode 100644
index 0000000000..e0f3ec47e2
--- /dev/null
+++ b/entity/SerialLetter_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(false);
\ No newline at end of file
-- 
GitLab


From f818cf04a1c7ae71ab2e954710b8e29629f7b0df Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 13:42:20 +0200
Subject: [PATCH 025/251] Language fix

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index d5d4caceba..58538aa80b 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8884,8 +8884,7 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Download letter and create Activity</key>
       <value>Brief herunterladen und Aktivität erstellen</value>
-e>
-    </en>
+    </entry>
     <entry>
       <key>Extend</key>
     </entry>
@@ -9235,9 +9234,6 @@ e>
     <entry>
       <key>Run ServerProcess</key>
     </entry>
-    <entry>
-      <key>50-99 T€</key>
-    </entry>
     <entry>
       <key>Max Value</key>
       <value>Maximalwert</value>
@@ -9417,9 +9413,6 @@ e>
       <value>%0 der ausgewählten Datensätze sind schon Empfänger.
       </value>
     </entry>
-    <entry>
-      <key>export using the selected  template</key>
-    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From bf37e012da21f9a720ce29e9e9758e42e662e1e4 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Thu, 17 Sep 2020 12:14:19 +0000
Subject: [PATCH 026/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065285][Leadimport=20-=20nach=20dem=20Transfer=20der?=
 =?UTF-8?q?=20Daten=20kann=20der=20Leadimport=20nicht=20mehr=20zur=C3=BCck?=
 =?UTF-8?q?gesetzt=20werden]=20[Projekt:=20Entwicklung=20-=20Neon][TicketN?=
 =?UTF-8?q?r.:=201063252][Leadimport::=20Eigenschaften=20Leer]=20[Projekt:?=
 =?UTF-8?q?=20Entwicklung=20-=20Neon][TicketNr.:=201063254][Leadimport:=20?=
 =?UTF-8?q?Kommunikationsmittel=20Person=20und=20Organisation]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../2020.2.0/Lead/addAndRenameColumnLead.xml  |  44 +++
 .../basic/2020.2.0/Lead/changelog.xml         |   6 +
 .../Lead/insertAndUpdateImportFields.xml      | 125 +++++++
 .../Data_alias/basic/2020.2.0/changelog.xml   |   1 +
 aliasDefinition/Data_alias/Data_alias.aod     | 280 +++++++++------
 .../_____LANGUAGE_EXTRA.aod                   | 327 ++++++++++--------
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  58 +++-
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     | 189 +++++-----
 process/Leadimport_lib/process.js             |  33 +-
 process/importLead_serverProcess/process.js   |  10 +-
 10 files changed, 720 insertions(+), 353 deletions(-)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.0/Lead/addAndRenameColumnLead.xml
 create mode 100644 .liquibase/Data_alias/basic/2020.2.0/Lead/changelog.xml
 create mode 100644 .liquibase/Data_alias/basic/2020.2.0/Lead/insertAndUpdateImportFields.xml

diff --git a/.liquibase/Data_alias/basic/2020.2.0/Lead/addAndRenameColumnLead.xml b/.liquibase/Data_alias/basic/2020.2.0/Lead/addAndRenameColumnLead.xml
new file mode 100644
index 0000000000..212ff34737
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.0/Lead/addAndRenameColumnLead.xml
@@ -0,0 +1,44 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="s.pongratz" id="bcd6cb02-d074-444f-a307-34973b3dd4e1">
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMMOBIL"  
+            oldColumnName="COMMMOBIL"  
+            tableName="LEAD"/>
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMEMAIL"  
+            oldColumnName="COMMEMAIL"  
+            tableName="LEAD"/> 
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMBLOG"  
+            oldColumnName="COMMBLOG"  
+            tableName="LEAD"/> 
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMPHONE"  
+            oldColumnName="COMMPHONE"  
+            tableName="LEAD"/> 
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMXING"  
+            oldColumnName="COMMXING"  
+            tableName="LEAD"/> 
+        <renameColumn
+            columnDataType="NVARCHAR(254)"  
+            newColumnName="O_COMMLINKEDIN"  
+            oldColumnName="COMMLINKEDIN"  
+            tableName="LEAD"/>
+        
+        <addColumn tableName="LEAD">
+            <column name="P_COMMMOBIL"     type="NVARCHAR(254)" />
+            <column name="P_COMMEMAIL"     type="NVARCHAR(254)" />
+            <column name="P_COMMPHONE"     type="NVARCHAR(254)" />
+            <column name="P_COMMBLOG"      type="NVARCHAR(254)" />
+            <column name="P_COMMXING"      type="NVARCHAR(254)" />
+            <column name="P_COMMLINKEDIN"  type="NVARCHAR(254)" />
+	</addColumn>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.0/Lead/changelog.xml b/.liquibase/Data_alias/basic/2020.2.0/Lead/changelog.xml
new file mode 100644
index 0000000000..314818ec49
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.0/Lead/changelog.xml
@@ -0,0 +1,6 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include file="addAndRenameColumnLead.xml" relativeToChangelogFile="true" />
+    <include file="insertAndUpdateImportFields.xml" relativeToChangelogFile="true" />
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/Lead/insertAndUpdateImportFields.xml b/.liquibase/Data_alias/basic/2020.2.0/Lead/insertAndUpdateImportFields.xml
new file mode 100644
index 0000000000..fb271a864d
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.0/Lead/insertAndUpdateImportFields.xml
@@ -0,0 +1,125 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="s.pongratz" id="bcd6cb02-d074-444f-a307-34973b3dd4e1">
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMMOBIL"/>
+            <column name="TITLE" value="Mobile number (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="da3acc3a-457e-4c88-a477-8abdaf819539" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMEMAIL"/>
+            <column name="TITLE" value="Mail (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="2e7952b1-56a8-484d-9d82-564236c30d20" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMPHONE"/>
+            <column name="TITLE" value="Phone number (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="96534736-0247-4596-a8db-f6d7eee611c5" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMMOBIL"/>
+            <column name="TITLE" value="Internet (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="9ed26d58-cc2f-436e-b67b-afbb9f102bf4" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMBLOG"/>
+            <column name="TITLE" value="Blog (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="52bad941-02be-4c63-94a7-979e8ecef0c9" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMXING"/>
+            <column name="TITLE" value="Xing (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="8bf354dc-4278-493e-9824-40367382290f" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMLINKEDIN"/>
+            <column name="TITLE" value="Linked in (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="97e27378-e733-4629-b0c4-515faf89da7e" />
+            </whereParams>
+        </update>
+        
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="dd5abf99-b43d-4b3d-b4b0-376c70572490"/>
+        <column name="KEYID" value="P_COMMMOBIL"/>
+        <column name="TITLE" value="Mobile number (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="29"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="345fe723-73dc-4687-afd2-c4ebc16aebdc"/>
+        <column name="KEYID" value="P_COMMEMAIL"/>
+        <column name="TITLE" value="Mail (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="30"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="370672a7-946a-43b6-98dd-532422bef388"/>
+        <column name="KEYID" value="P_COMMPHONE"/>
+        <column name="TITLE" value="Phone number (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="31"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="01f18fd8-44c1-43ec-8601-bf1fe7e62700"/>
+        <column name="KEYID" value="P_COMMMOBIL"/>
+        <column name="TITLE" value="Internet (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="32"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="504d48d1-1a0d-437a-adc9-38501679137a"/>
+        <column name="KEYID" value="P_COMMBLOG"/>
+        <column name="TITLE" value="Blog (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="33"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="fde1a4d1-d77e-494c-a1e4-2ef82abec246"/>
+        <column name="KEYID" value="P_COMMXING"/>
+        <column name="TITLE" value="Xing (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="34"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+    <insert tableName="AB_KEYWORD_ENTRY">
+        <column name="AB_KEYWORD_ENTRYID" value="53e06704-e28d-49b5-a49f-e40ca250ee6a"/>
+        <column name="KEYID" value="P_COMMLINKEDIN"/>
+        <column name="TITLE" value="Linked in (Person)"/>
+        <column name="CONTAINER" value="ImportFields"/>
+        <column name="SORTING" valueNumeric="35"/>
+        <column name="ISACTIVE" valueNumeric="1"/>
+        <column name="ISESSENTIAL" valueNumeric="0"/>
+    </insert>
+</changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
index 52e4a7e0cd..90c1074fce 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
@@ -5,6 +5,7 @@
     <include relativeToChangelogFile="true" file="Classification/changelog.xml"/>
     <include relativeToChangelogFile="true" file="ImportFields/changelog.xml"/>
     <include relativeToChangelogFile="true" file="LeadimportMappingAssistant/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="Lead/changelog.xml"/>
     <include relativeToChangelogFile="true" file="optimizeIndizes.xml"/>
     <include relativeToChangelogFile="true" file="addNotificationStateKeywords/addNotificationStateKeyword.xml"/>
     <include relativeToChangelogFile="true" file="alter_ComunicationMedium_IdDatatype.xml"/>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index afddf43c8b..0f23e2843c 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -13108,20 +13108,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMEMAIL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>DUPLICAT</name>
                 <dbName></dbName>
@@ -13136,20 +13122,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMBLOG</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>STATUS</name>
                 <dbName></dbName>
@@ -13164,20 +13136,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMLINKEDIN</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>MIDDLENAME</name>
                 <dbName></dbName>
@@ -13262,20 +13220,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMMOBIL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>LEADIMPORT_ID</name>
                 <dbName></dbName>
@@ -13311,20 +13255,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>ISOLANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>CONTACTPOSITION</name>
                 <dbName></dbName>
@@ -13437,20 +13367,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMXING</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>PERSON_ID</name>
                 <dbName></dbName>
@@ -13542,20 +13458,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMPHONE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>GENDER</name>
                 <dbName></dbName>
@@ -13773,6 +13675,188 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMXING</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMPHONE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMMOBIL</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMEMAIL</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMLINKEDIN</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>O_COMMBLOG</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMXING</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMLINKEDIN</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ISOLANGUAGE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMBLOG</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMPHONE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMMOBIL</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>P_COMMEMAIL</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="254" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 689a7f5b90..a0cab0ed38 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -2082,12 +2082,6 @@
     <entry>
       <key>Entrydate (Day)</key>
     </entry>
-    <entry>
-      <key>Date (Month)</key>
-    </entry>
-    <entry>
-      <key>Date (Day)</key>
-    </entry>
     <entry>
       <key>My Dashboard</key>
     </entry>
@@ -3201,9 +3195,6 @@
     <entry>
       <key>Entrydate must not be in the future</key>
     </entry>
-    <entry>
-      <key>Date must not be in the future</key>
-    </entry>
     <entry>
       <key>Delivery specification</key>
     </entry>
@@ -4734,9 +4725,6 @@
     <entry>
       <key>Entrydate (Year)</key>
     </entry>
-    <entry>
-      <key>Date (Year)</key>
-    </entry>
     <entry>
       <key>Attributes must be unique!</key>
     </entry>
@@ -6275,9 +6263,6 @@
     <entry>
       <key>Entrydate has to be in the selected calendar week!</key>
     </entry>
-    <entry>
-      <key>Date has to be in the selected calendar week!</key>
-    </entry>
     <entry>
       <key>Invalid year!</key>
     </entry>
@@ -6798,303 +6783,293 @@
       <key>Offerrequest</key>
     </entry>
     <entry>
-      <key>Full Permissions</key>
-    </entry>
-    <entry>
-      <key>Full permissions already assigned</key>
-    </entry>
-    <entry>
-      <key>Import Daten</key>
+      <key>Number of employees</key>
     </entry>
     <entry>
-      <key>Import Logs</key>
+      <key>2. Customer value</key>
     </entry>
     <entry>
-      <key>Transferdaten</key>
+      <key>Product preference</key>
     </entry>
     <entry>
-      <key>Valid from (as </key>
+      <key>Business development</key>
     </entry>
     <entry>
-      <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key>
+      <key>Headquarters</key>
     </entry>
     <entry>
-      <key>Settings</key>
+      <key>Current supply share</key>
     </entry>
     <entry>
-      <key>No new recipients found that can be added to the bulk mail.</key>
+      <key>Purchasing potential p. a.</key>
     </entry>
     <entry>
-      <key>Add Recipients</key>
+      <key>ScoreTargetGgroup</key>
     </entry>
     <entry>
-      <key>Add Participants</key>
+      <key>Stagnated</key>
     </entry>
     <entry>
-      <key>Download letter and create Activity</key>
+      <key>Negative</key>
     </entry>
     <entry>
-      <key>and open Report</key>
+      <key>1. Target group</key>
     </entry>
     <entry>
-      <key>export</key>
+      <key>Positive</key>
     </entry>
     <entry>
-      <key>export using the selected  template</key>
+      <key>0-50</key>
     </entry>
     <entry>
-      <key>No new recipients found that can be added to the serial letter.</key>
+      <key>Till Score</key>
     </entry>
     <entry>
-      <key>send mail</key>
+      <key>251-1000</key>
     </entry>
     <entry>
-      <key>and open modeler</key>
+      <key>ab 1000</key>
     </entry>
     <entry>
-      <key>Create model</key>
+      <key>Full Permissions</key>
     </entry>
     <entry>
-      <key>Edit workflow</key>
+      <key>200-349 T€</key>
     </entry>
     <entry>
-      <key>Receive new Department Permission</key>
+      <key>100-199 T€</key>
     </entry>
     <entry>
-      <key>Receive new User Permission</key>
+      <key>Full permissions already assigned</key>
     </entry>
     <entry>
-      <key>workflow notification</key>
+      <key>51-100</key>
     </entry>
     <entry>
-      <key>Workflow Model</key>
+      <key>Import Daten</key>
     </entry>
     <entry>
-      <key>Current Recipients</key>
+      <key>ab 350 T€</key>
     </entry>
     <entry>
-      <key>The workflow could not be deployed</key>
+      <key>0-49 T€</key>
     </entry>
     <entry>
-      <key>Workflow deploy failed</key>
+      <key>Grading</key>
     </entry>
     <entry>
-      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
-                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
+      <key>Import Logs</key>
     </entry>
     <entry>
-      <key>Recipients after adding</key>
+      <key>Transferdaten</key>
     </entry>
     <entry>
-      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
+      <key>50-99 T€</key>
     </entry>
     <entry>
-      <key>Organisations will be exported</key>
+      <key>101-250</key>
     </entry>
     <entry>
-      <key>Contacts will be exported</key>
+      <key>Gradings</key>
     </entry>
     <entry>
-      <key>%0 new participants will be added to the campaign.</key>
+      <key>Valid from (as </key>
     </entry>
     <entry>
-      <key>%0 of the chosen records are already in the campaign</key>
+      <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key>
     </entry>
     <entry>
-      <key>Permission received</key>
+      <key>yellow</key>
     </entry>
     <entry>
-      <key>leadimport notification</key>
+      <key>Borrow</key>
     </entry>
     <entry>
-      <key>granted permission</key>
+      <key>Is unlinked activity</key>
     </entry>
     <entry>
-      <key>Bulk mail sent</key>
+      <key>Fantasy</key>
     </entry>
     <entry>
-      <key>download ready</key>
+      <key>Extend</key>
     </entry>
     <entry>
-      <key>Total in euros</key>
+      <key>Krimi</key>
     </entry>
     <entry>
-      <key>{SENT_MAIL}</key>
+      <key>red</key>
     </entry>
     <entry>
-      <key>The Sales Project can only be filled when a company has been specified</key>
+      <key>Return</key>
     </entry>
     <entry>
-      <key>Ø Probability</key>
+      <key>green</key>
     </entry>
     <entry>
-      <key>Probability AI</key>
+      <key>Actionthriller</key>
     </entry>
     <entry>
-      <key>{SEND_MAIL}</key>
+      <key>No new recipients found that can be added to the bulk mail.</key>
     </entry>
     <entry>
-      <key>New</key>
+      <key>Add Recipients</key>
     </entry>
     <entry>
-      <key>Release</key>
+      <key>Add Participants</key>
     </entry>
     <entry>
-      <key>Archived</key>
+      <key>Download letter and create Activity</key>
     </entry>
     <entry>
-      <key>asdf</key>
+      <key>and open Report</key>
     </entry>
     <entry>
-      <key>Latitude</key>
+      <key>export</key>
     </entry>
     <entry>
-      <key>Longitude</key>
+      <key>export using the selected  template</key>
     </entry>
     <entry>
-      <key>Favorites</key>
+      <key>No new recipients found that can be added to the serial letter.</key>
     </entry>
     <entry>
-      <key>Favorite</key>
+      <key>send mail</key>
     </entry>
     <entry>
-      <key>Show all Favorites</key>
+      <key>and open modeler</key>
     </entry>
     <entry>
-      <key>Default</key>
+      <key>Create model</key>
     </entry>
     <entry>
-      <key>Grant new Department Permission</key>
+      <key>Edit workflow</key>
     </entry>
     <entry>
-      <key>Permission Procurer Department</key>
+      <key>Receive new Department Permission</key>
     </entry>
     <entry>
-      <key>Permission Procurer User</key>
+      <key>Receive new User Permission</key>
     </entry>
     <entry>
-      <key>Grant new User Permission</key>
+      <key>workflow notification</key>
     </entry>
     <entry>
-      <key>yellow</key>
+      <key>Permission received</key>
     </entry>
     <entry>
-      <key>Number of employees</key>
+      <key>leadimport notification</key>
     </entry>
     <entry>
-      <key>Borrow</key>
+      <key>granted permission</key>
     </entry>
     <entry>
-      <key>Selection placeholder</key>
+      <key>Bulk mail sent</key>
     </entry>
     <entry>
-      <key>0-50</key>
+      <key>download ready</key>
     </entry>
     <entry>
-      <key>2. Customer value</key>
+      <key>Total in euros</key>
     </entry>
     <entry>
-      <key>Product preference</key>
+      <key>Workflow Model</key>
     </entry>
     <entry>
-      <key>Business development</key>
+      <key>{SENT_MAIL}</key>
     </entry>
     <entry>
-      <key>Till Score</key>
+      <key>The Sales Project can only be filled when a company has been specified</key>
     </entry>
     <entry>
-      <key>Current password</key>
+      <key>The workflow could not be deployed</key>
     </entry>
     <entry>
-      <key>Headquarters</key>
+      <key>Workflow deploy failed</key>
     </entry>
     <entry>
-      <key>Calendar maintime start</key>
+      <key>Ø Probability</key>
     </entry>
     <entry>
-      <key>251-1000</key>
+      <key>Probability AI</key>
     </entry>
     <entry>
-      <key>ab 1000</key>
+      <key>{SEND_MAIL}</key>
     </entry>
     <entry>
-      <key>favorties</key>
+      <key>New</key>
     </entry>
     <entry>
-      <key>Gradings</key>
+      <key>Release</key>
     </entry>
     <entry>
-      <key>200-349 T€</key>
+      <key>Archived</key>
     </entry>
     <entry>
-      <key>Fantasy</key>
+      <key>asdf</key>
     </entry>
     <entry>
-      <key>100-199 T€</key>
+      <key>Settings</key>
     </entry>
     <entry>
-      <key>Password must contain special characters</key>
+      <key>Latitude</key>
     </entry>
     <entry>
-      <key>Current supply share</key>
+      <key>Longitude</key>
     </entry>
     <entry>
-      <key>51-100</key>
+      <key>Favorites</key>
     </entry>
     <entry>
-      <key>Password must be at least %0 characters</key>
+      <key>Favorite</key>
     </entry>
     <entry>
-      <key>Purchasing potential p. a.</key>
+      <key>Show all Favorites</key>
     </entry>
     <entry>
-      <key>favorite</key>
+      <key>Default</key>
     </entry>
     <entry>
-      <key>Repeat password</key>
+      <key>Titel</key>
     </entry>
     <entry>
-      <key>Extend</key>
+      <key>Set missing address locations</key>
     </entry>
     <entry>
-      <key>%0: %1/%2points = %3</key>
+      <key>FavoriteFilter_view</key>
     </entry>
     <entry>
-      <key>ab 350 T€</key>
+      <key>Typ</key>
     </entry>
     <entry>
-      <key>Krimi</key>
+      <key>Set all address locations</key>
     </entry>
     <entry>
-      <key>red</key>
+      <key>favorties</key>
     </entry>
     <entry>
-      <key>0-49 T€</key>
+      <key>Gruppenname</key>
     </entry>
     <entry>
-      <key>Return</key>
+      <key>Password must contain special characters</key>
     </entry>
     <entry>
-      <key>Grading</key>
+      <key>Password must be at least %0 characters</key>
     </entry>
     <entry>
-      <key>SELECTION_NULL</key>
+      <key>favorite</key>
     </entry>
     <entry>
-      <key>ScoreTargetGgroup</key>
+      <key>Repeat password</key>
     </entry>
     <entry>
-      <key>Stagnated</key>
+      <key>%0: %1/%2points = %3</key>
     </entry>
     <entry>
-      <key>Is unlinked activity</key>
+      <key>SELECTION_NULL</key>
     </entry>
     <entry>
       <key>Selection ignore case</key>
     </entry>
-    <entry>
-      <key>Negative</key>
-    </entry>
     <entry>
       <key>Calendar maintime end</key>
     </entry>
@@ -7113,9 +7088,6 @@
     <entry>
       <key>Indicator</key>
     </entry>
-    <entry>
-      <key>green</key>
-    </entry>
     <entry>
       <key>favorites</key>
     </entry>
@@ -7125,9 +7097,6 @@
     <entry>
       <key>Run ServerProcess</key>
     </entry>
-    <entry>
-      <key>1. Target group</key>
-    </entry>
     <entry>
       <key>SELECTION_NEITHER</key>
     </entry>
@@ -7137,27 +7106,15 @@
     <entry>
       <key>New password</key>
     </entry>
-    <entry>
-      <key>Actionthriller</key>
-    </entry>
     <entry>
       <key>Calendar hour divider</key>
     </entry>
-    <entry>
-      <key>Positive</key>
-    </entry>
     <entry>
       <key>SELECTION_BOTH</key>
     </entry>
-    <entry>
-      <key>50-99 T€</key>
-    </entry>
     <entry>
       <key>SELECTION_POSTFIX</key>
     </entry>
-    <entry>
-      <key>101-250</key>
-    </entry>
     <entry>
       <key>Password must contain letters</key>
     </entry>
@@ -7203,9 +7160,6 @@
     <entry>
       <key>Mapping</key>
     </entry>
-    <entry>
-      <key>Typ</key>
-    </entry>
     <entry>
       <key>Mappings</key>
     </entry>
@@ -7215,9 +7169,6 @@
     <entry>
       <key>Members</key>
     </entry>
-    <entry>
-      <key>Gruppenname</key>
-    </entry>
     <entry>
       <key>The radius has to be %0 or lesser.</key>
     </entry>
@@ -7368,9 +7319,97 @@
     <entry>
       <key>Worklow started</key>
     </entry>
+    <entry>
+      <key>Selection placeholder</key>
+    </entry>
+    <entry>
+      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
+                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Grant new Department Permission</key>
+    </entry>
+    <entry>
+      <key>Current password</key>
+    </entry>
+    <entry>
+      <key>Calendar maintime start</key>
+    </entry>
+    <entry>
+      <key>The status of the offer was changed to \"sent\".</key>
+    </entry>
+    <entry>
+      <key>Permission Procurer Department</key>
+    </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Organisations will be exported</key>
+    </entry>
+    <entry>
+      <key>Recipients after adding</key>
+    </entry>
+    <entry>
+      <key>Contacts will be exported</key>
+    </entry>
+    <entry>
+      <key>%0 new participants will be added to the campaign.</key>
+    </entry>
+    <entry>
+      <key>%0 of the chosen records are already in the campaign</key>
+    </entry>
+    <entry>
+      <key>Permission Procurer User</key>
+    </entry>
+    <entry>
+      <key>The status of the order was changed to \"sent\".</key>
+    </entry>
     <entry>
       <key>Mark all cached record containers as invalid</key>
     </entry>
+    <entry>
+      <key>Linked in (Person)</key>
+    </entry>
+    <entry>
+      <key>Mobile number (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Linked in (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Xing (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Mail (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Mail (Person)</key>
+    </entry>
+    <entry>
+      <key>Blog (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Internet (Person)</key>
+    </entry>
+    <entry>
+      <key>Mobile number (Person)</key>
+    </entry>
+    <entry>
+      <key>Internet (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Blog (Person)</key>
+    </entry>
+    <entry>
+      <key>Phone number (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Xing (Person)</key>
+    </entry>
+    <entry>
+      <key>Phone number (Person)</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 58538aa80b..ab88dccfb9 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8862,7 +8862,7 @@ Bitte Datumseingabe prüfen</value>
       <key>Transferdaten</key>
     </entry>
     <entry>
-      <key>50-99 T€</key>
+      <key>50-99 D€</key>
     </entry>
     <entry>
       <key>101-250</key>
@@ -8883,7 +8883,6 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Download letter and create Activity</key>
-      <value>Brief herunterladen und Aktivität erstellen</value>
     </entry>
     <entry>
       <key>Extend</key>
@@ -8922,7 +8921,6 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Archived</key>
-      <value>Archiviert</value>
     </entry>
     <entry>
       <key>Receive new User Permission</key>
@@ -8983,7 +8981,6 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Add Recipients</key>
-      <value>Empfänger hinzufügen</value>
     </entry>
     <entry>
       <key>{SEND_MAIL}</key>
@@ -9234,6 +9231,9 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Run ServerProcess</key>
     </entry>
+    <entry>
+      <key>50-99 T€</key>
+    </entry>
     <entry>
       <key>Max Value</key>
       <value>Maximalwert</value>
@@ -9413,6 +9413,56 @@ Bitte Datumseingabe prüfen</value>
       <value>%0 der ausgewählten Datensätze sind schon Empfänger.
       </value>
     </entry>
+    <entry>
+      <key>Linked in (Person)</key>
+      <value>Linked In (Person)</value>
+    </entry>
+    <entry>
+      <key>Mobile number (Organisation)</key>
+      <value>Handynummer (Organisation)</value>
+    </entry>
+    <entry>
+      <key>Linked in (Organisation)</key>
+      <value>Linked In (Organisation)</value>
+    </entry>
+    <entry>
+      <key>Xing (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Mail (Organisation)</key>
+      <value>E-Mail (Organisation)</value>
+    </entry>
+    <entry>
+      <key>Mail (Person)</key>
+      <value>E-Mail (Person)</value>
+    </entry>
+    <entry>
+      <key>Blog (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Internet (Person)</key>
+    </entry>
+    <entry>
+      <key>Mobile number (Person)</key>
+      <value>Handynummer (Person)</value>
+    </entry>
+    <entry>
+      <key>Internet (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Blog (Person)</key>
+    </entry>
+    <entry>
+      <key>Phone number (Organisation)</key>
+      <value>Telefonnummer (Organisation)</value>
+    </entry>
+    <entry>
+      <key>Phone number (Person)</key>
+      <value>Telefonnummer (Person)</value>
+    </entry>
+    <entry>
+      <key>Xing (Person)</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 5a4d49e151..f981373269 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -2115,12 +2115,6 @@
     <entry>
       <key>Entrydate (Day)</key>
     </entry>
-    <entry>
-      <key>Date (Month)</key>
-    </entry>
-    <entry>
-      <key>Date (Day)</key>
-    </entry>
     <entry>
       <key>My Dashboard</key>
     </entry>
@@ -3279,9 +3273,6 @@
     <entry>
       <key>Entrydate must not be in the future</key>
     </entry>
-    <entry>
-      <key>Date must not be in the future</key>
-    </entry>
     <entry>
       <key>Delivery specification</key>
     </entry>
@@ -4811,9 +4802,6 @@
     <entry>
       <key>Entrydate (Year)</key>
     </entry>
-    <entry>
-      <key>Date (Year)</key>
-    </entry>
     <entry>
       <key>Attributes must be unique!</key>
     </entry>
@@ -6334,9 +6322,6 @@
     <entry>
       <key>Entrydate has to be in the selected calendar week!</key>
     </entry>
-    <entry>
-      <key>Date has to be in the selected calendar week!</key>
-    </entry>
     <entry>
       <key>Invalid year!</key>
     </entry>
@@ -6513,7 +6498,7 @@
       <key>Show offer</key>
     </entry>
     <entry>
-      <key>The status of the offer was changed to \"Sent\".</key>
+      <key>The status of the offer was changed to \"sent\".</key>
     </entry>
     <entry>
       <key>pCallbackFn is not a function</key>
@@ -7022,19 +7007,13 @@
       <key>send mail</key>
     </entry>
     <entry>
-      <key>and open modeler</key>
-    </entry>
-    <entry>
-      <key>Workflow Model</key>
-    </entry>
-    <entry>
-      <key>Current Recipients</key>
+      <key>Receive new Department Permission</key>
     </entry>
     <entry>
-      <key>The workflow could not be deployed</key>
+      <key>Receive new User Permission</key>
     </entry>
     <entry>
-      <key>Workflow deploy failed</key>
+      <key>and open modeler</key>
     </entry>
     <entry>
       <key>Create model</key>
@@ -7042,34 +7021,6 @@
     <entry>
       <key>Edit workflow</key>
     </entry>
-    <entry>
-      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
-                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Recipients after adding</key>
-    </entry>
-    <entry>
-      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
-    </entry>
-    <entry>
-      <key>Organisations will be exported</key>
-    </entry>
-    <entry>
-      <key>Contacts will be exported</key>
-    </entry>
-    <entry>
-      <key>%0 new participants will be added to the campaign.</key>
-    </entry>
-    <entry>
-      <key>%0 of the chosen records are already in the campaign</key>
-    </entry>
-    <entry>
-      <key>Receive new Department Permission</key>
-    </entry>
-    <entry>
-      <key>Receive new User Permission</key>
-    </entry>
     <entry>
       <key>workflow notification</key>
     </entry>
@@ -7091,6 +7042,9 @@
     <entry>
       <key>Total in euros</key>
     </entry>
+    <entry>
+      <key>Workflow Model</key>
+    </entry>
     <entry>
       <key>The Sales Project can only be filled when a company has been specified</key>
     </entry>
@@ -7175,28 +7129,22 @@
       <key>Default</key>
     </entry>
     <entry>
-      <key>Grant new Department Permission</key>
-    </entry>
-    <entry>
-      <key>Permission Procurer Department</key>
-    </entry>
-    <entry>
-      <key>Permission Procurer User</key>
+      <key>Titel</key>
     </entry>
     <entry>
-      <key>Grant new User Permission</key>
+      <key>Set missing address locations</key>
     </entry>
     <entry>
-      <key>Selection placeholder</key>
+      <key>FavoriteFilter_view</key>
     </entry>
     <entry>
-      <key>Current password</key>
+      <key>Typ</key>
     </entry>
     <entry>
-      <key>Calendar maintime start</key>
+      <key>Set all address locations</key>
     </entry>
     <entry>
-      <key>Password must contain special characters</key>
+      <key>Gruppenname</key>
     </entry>
     <entry>
       <key>Password must be at least %0 characters</key>
@@ -7264,33 +7212,15 @@
     <entry>
       <key>Mapping</key>
     </entry>
-    <entry>
-      <key>Typ</key>
-    </entry>
     <entry>
       <key>Mappings</key>
     </entry>
     <entry>
       <key>Radius in km</key>
     </entry>
-    <entry>
-      <key>Titel</key>
-    </entry>
-    <entry>
-      <key>Set missing address locations</key>
-    </entry>
-    <entry>
-      <key>FavoriteFilter_view</key>
-    </entry>
-    <entry>
-      <key>Set all address locations</key>
-    </entry>
     <entry>
       <key>Members</key>
     </entry>
-    <entry>
-      <key>Gruppenname</key>
-    </entry>
     <entry>
       <key>The radius has to be %0 or lesser.</key>
     </entry>
@@ -7462,25 +7392,62 @@
       <key>Worklow started</key>
     </entry>
     <entry>
-      <key>Mark all cached record containers as invalid</key>
+      <key>Selection placeholder</key>
+    </entry>
+    <entry>
+      <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
+                            %1 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Grant new Department Permission</key>
+    </entry>
+    <entry>
+      <key>Current password</key>
+    </entry>
+    <entry>
+      <key>Calendar maintime start</key>
+    </entry>
+    <entry>
+      <key>Password must contain special characters</key>
+    </entry>
+    <entry>
+      <key>Permission Procurer Department</key>
+    </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients or don't have an e-mail set</key>
+    </entry>
+    <entry>
+      <key>Organisations will be exported</key>
+    </entry>
+    <entry>
+      <key>Recipients after adding</key>
+    </entry>
+    <entry>
+      <key>Contacts will be exported</key>
     </entry>
     <entry>
-      <key>Month</key>
+      <key>The status of the offer was changed to \"Sent\".</key>
     </entry>
     <entry>
-      <key>Sales Staff Activity</key>
+      <key>The workflow could not be deployed</key>
     </entry>
     <entry>
-      <key>Salesproject Convertion Rates</key>
+      <key>Workflow deploy failed</key>
     </entry>
     <entry>
-      <key>Shows the different conversion rates of the sales project phases</key>
+      <key>%0 new participants will be added to the campaign.</key>
     </entry>
     <entry>
-      <key>Responsible Department</key>
+      <key>%0 of the chosen records are already in the campaign</key>
     </entry>
     <entry>
-      <key>Shows the number of Activities of the Grouped Fields</key>
+      <key>Permission Procurer User</key>
+    </entry>
+    <entry>
+      <key>The status of the order was changed to \"sent\".</key>
+    </entry>
+    <entry>
+      <key>Mark all cached record containers as invalid</key>
     </entry>
     <entry>
       <key>Current Recipients</key>
@@ -7500,6 +7467,48 @@
     <entry>
       <key>%0 of the chosen records are already recipients.</key>
     </entry>
+    <entry>
+      <key>Linked in (Person)</key>
+    </entry>
+    <entry>
+      <key>Mobile number (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Linked in (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Xing (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Mail (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Mail (Person)</key>
+    </entry>
+    <entry>
+      <key>Blog (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Internet (Person)</key>
+    </entry>
+    <entry>
+      <key>Mobile number (Person)</key>
+    </entry>
+    <entry>
+      <key>Internet (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Blog (Person)</key>
+    </entry>
+    <entry>
+      <key>Phone number (Organisation)</key>
+    </entry>
+    <entry>
+      <key>Xing (Person)</key>
+    </entry>
+    <entry>
+      <key>Phone number (Person)</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 9258ca92a7..5d102d64c0 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -181,7 +181,7 @@ LeadImportUtils.importData = function(pDataFields, pDataTypes, pFieldDef, pField
         if (orgRet[3])//not a new organisation
         {
             LeadImportUtils.insertAttr(pDataFields, pDataTypes, pFieldDef, LeadValues, orgContactId, orgObjID, pUser, pDate);
-            LeadImportUtils.insertComm(pDataFields, pDataTypes, LeadValues, orgContactId, pUser, pDate);
+            LeadImportUtils.insertComm(pDataFields, pDataTypes, LeadValues, orgContactId, pUser, pDate, orgObjID);
         }
     }
     //------create person
@@ -195,7 +195,7 @@ LeadImportUtils.importData = function(pDataFields, pDataTypes, pFieldDef, pField
         persForDubCheck = persRet[2];
 
         LeadImportUtils.insertAttr(pDataFields, pDataTypes, pFieldDef, LeadValues, persContactId, persObjID , pUser, pDate);
-        LeadImportUtils.insertComm(pDataFields, pDataTypes, LeadValues, persContactId, pUser, pDate);
+        LeadImportUtils.insertComm(pDataFields, pDataTypes, LeadValues, persContactId, pUser, pDate, persObjID);
     }
     //------create activitys for organisation and person
     var activityData = 
@@ -468,10 +468,11 @@ LeadImportUtils.insertAttr = function(pDataFields, pDataTypes, pFieldDef, pLeadV
  * @param {String} contactId CONTACTID
  * @param {String} pUser the importuser
  * @param {String} pDate the importdate
+ * @param {String} pObjectID ID of the object
  * 
  * @return {void}
  */
-LeadImportUtils.insertComm = function(pDataFields, pDataTypes, pLeadValues, contactId, pUser, pDate)
+LeadImportUtils.insertComm = function(pDataFields, pDataTypes, pLeadValues, contactId, pUser, pDate, pObjectID)
 {
     var Fields = pDataFields["COMMUNICATION"];
     var commMedium = KeywordUtils.getEntryNamesAndIdsByContainer("CommunicationMedium");
@@ -485,12 +486,13 @@ LeadImportUtils.insertComm = function(pDataFields, pDataTypes, pLeadValues, cont
     for (let i = 0; i < commMedium.length; i++)
     {
         var medium = commMedium[i][0].trim(); //e. g. COMMMOBIL, COMMMAIL
+        let value = pLeadValues[pObjectID.charAt(0) + "_" + medium];
 
-        if (pLeadValues[medium] != undefined && pLeadValues[medium] != "")
+        if (value != undefined && value != "")
         {
             DataValues[ "MEDIUM_ID" ] = medium; //e. g. COMMMOBIL
-            DataValues[ "ADDR" ] = pLeadValues[medium];//e. g. +49 123 45678900
-            DataValues[ "ISSTANDARD" ] = 1;//insert only standard communication data
+            DataValues[ "ADDR" ] = value; //e. g. +49 123 45678900
+            DataValues[ "ISSTANDARD" ] = 1; //insert only standard communication data
             DataValues[ "COMMUNICATIONID" ] = "";
             LeadImportUtils.insertTable(pDataFields, pDataTypes, DataValues, "COMMUNICATION", pUser, pDate);
         }
@@ -525,7 +527,6 @@ LeadImportUtils.insertOrg = function(pDataFields, pDataTypes,  pFieldDef, pField
         ContactValues["STATUS"] = "CONTACTSTATACTIVE";
         ContactValues["ORGANISATION_ID"] = orgid;
         ContactValues["ADDRESS_ID"] = util.getNewUUID();
-        ContactValues["ISOLANGUAGE"] = "";
         var contactId =  LeadImportUtils.insertTable(pDataFields, pDataTypes, ContactValues, "CONTACT", pUser, pDate);
     
         //address
@@ -689,32 +690,32 @@ LeadImportUtils.insertLeadAttr  = function(pAttrObject, orgid, persid, pUser, pD
 {
     for (var i = 0; i < pAttrObject["Values"].length; i++)
     {
-        var AttrValues = pAttrObject["Values"][i];
+        let attrValues = pAttrObject["Values"][i];
 
         // Attribute for the Organisation
         if (orgid != "" && pInsertOrgAttr)
         {
-            AttrValues[0] = "Organisation";
-            AttrValues[7] = newSelect("CONTACTID")
+            attrValues[0] = "Organisation";
+            attrValues[7] = newSelect("CONTACTID")
                                 .from("CONTACT")
                                 .where("CONTACT.ORGANISATION_ID", orgid)
                                 .and("CONTACT.PERSON_ID is null")
                                 .cell();
                                 
-            LeadImportUtils.sqlInsertAttr(pAttrObject, AttrValues, pUser, pDate);
+            LeadImportUtils.sqlInsertAttr(pAttrObject, attrValues, pUser, pDate);
         }
         // Attribute für the Person
         if (persid != "")
         {
-            AttrValues[0] = "Person";
+            attrValues[0] = "Person";
             if (orgid == "")	orgid = "0";  // Private
-            AttrValues[7] = newSelect("CONTACT.CONTACTID")
+            attrValues[7] = newSelect("CONTACT.CONTACTID")
                                 .from("CONTACT")
                                 .where("CONTACT.ORGANISATION_ID", orgid)
                                 .and("CONTACT.PERSON_ID", persid)
                                 .cell();
 
-            LeadImportUtils.sqlInsertAttr(pAttrObject, AttrValues, pUser, pDate);
+            LeadImportUtils.sqlInsertAttr(pAttrObject, attrValues, pUser, pDate);
         }
     }
 }
@@ -737,8 +738,8 @@ LeadImportUtils.sqlInsertAttr = function(pAttrObject, pAttrValues, pUser, pDate)
     
     let countAttributes = newSelect("count(*)")
                         .from("AB_ATTRIBUTERELATION")
-                        .where("AB_ATTRIBUTERELATION.OBJECT_ROWID", AttrValues[7])
-                        .and("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", attrdata[1][0])
+                        .where("AB_ATTRIBUTERELATION.OBJECT_ROWID", pAttrValues[7])
+                        .and("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", pAttrValues[1])
                         .cell();
     if (countAttributes == 0) {
         db.insertData("AB_ATTRIBUTERELATION", pAttrObject["Fields"] , pAttrObject["Types"], pAttrValues);
diff --git a/process/importLead_serverProcess/process.js b/process/importLead_serverProcess/process.js
index c572bd5191..726b33579a 100644
--- a/process/importLead_serverProcess/process.js
+++ b/process/importLead_serverProcess/process.js
@@ -146,7 +146,15 @@ catch(err)
     logging.log(err);
 }
 
-LeadImportUtils.scanLeadDups(allContactData);//search for duplicates
+try 
+{
+    LeadImportUtils.scanLeadDups(allContactData);//search for duplicates
+}
+catch (err)
+{
+    logging.log(err);
+}
+
 
 var rows = eMath.subInt(dsanz, 1);
 rows = eMath.subInt(rows, errorCount);//datasetcount - errors = inserts
-- 
GitLab


From b45e6d7d7aca634a561123ecaa32efdd51a662f6 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 15:28:03 +0200
Subject: [PATCH 027/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064436][Fehler bei Dublettenintegration]

---
 process/DuplicateScanner_lib/process.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 7756ac358a..8e2635b7c0 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1143,8 +1143,10 @@ _DuplicateScannerUtils._buildUpdateAttachParticipantsToNewContactQuery = functio
     var selectAssignableIdsOfTargetContactQuery = newSelect(pAssignableIdColumn)
                                                         .from(pTableName)
                                                         .where([pTableName, pContactIdColumn], pTargetContactId);
+                                                        
+    var subSelectTable = newSelect(["subselect." + pAssignableIdColumn]).from(selectAssignableIdsOfTargetContactQuery,"subselect");
 
-    let updateCondition = newWhere([pTableName, pAssignableIdColumn], selectAssignableIdsOfTargetContactQuery, SqlBuilder.NOT_IN())
+    let updateCondition = newWhere([pTableName, pAssignableIdColumn], subSelectTable, SqlBuilder.NOT_IN())
                                 .and([pTableName, pContactIdColumn], pSourceContactId)
 
     return [[pTableName, [pContactIdColumn], null, [pTargetContactId], updateCondition.build()]];
@@ -1156,8 +1158,10 @@ _DuplicateScannerUtils._buildDeleteRemoveObsoleteParticipantsRecordsQuery = func
     var selectAssignableIdsOfTargetContactQuery = newSelect(pAssignableIdColumn)
                                                         .from(pTableName)
                                                         .where([pTableName, pContactIdColumn], pTargetContactId);
+                                                        
+    var subSelectTable = newSelect(["subselect." + pAssignableIdColumn]).from(selectAssignableIdsOfTargetContactQuery,"subselect");
 
-    let deleteCondition = newWhere([pTableName, pAssignableIdColumn], selectAssignableIdsOfTargetContactQuery, SqlBuilder.IN())
+    let deleteCondition = newWhere([pTableName, pAssignableIdColumn], subSelectTable, SqlBuilder.IN())
                                 .and([pTableName, pAssignableIdColumn], pSourceContactId)
 
     return [[pTableName, deleteCondition.build()]];
-- 
GitLab


From 133c0d48c81fe13e156fcdf40495751cd1f016a3 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 17 Sep 2020 15:47:42 +0200
Subject: [PATCH 028/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201064526][Manueller=20Besuchsvorschlag=20kann=20nicht?=
 =?UTF-8?q?=20gel=C3=B6scht=20werden]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../recordcontainers/jdito/onDelete.js                          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/onDelete.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/onDelete.js
index e63bd391cf..56f6213679 100644
--- a/entity/VisitRecommendation_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/onDelete.js
@@ -1,5 +1,5 @@
 import("Sql_lib");
 import("system.vars");
 
-newWhere("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.UID")
+newWhere("VISITRECOMMENDATION.VISITRECOMMENDATIONID", "$field.UID")
     .deleteData();
\ No newline at end of file
-- 
GitLab


From 27e38f3ab68c267eec4337fc375512f1de0cfa4c Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Thu, 17 Sep 2020 16:47:32 +0200
Subject: [PATCH 029/251] Title added to LinkedColumns in FavoriteFilter_view

---
 neonView/FavoriteFilter_view/FavoriteFilter_view.aod | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/neonView/FavoriteFilter_view/FavoriteFilter_view.aod b/neonView/FavoriteFilter_view/FavoriteFilter_view.aod
index 15187d3318..61070f4ce2 100644
--- a/neonView/FavoriteFilter_view/FavoriteFilter_view.aod
+++ b/neonView/FavoriteFilter_view/FavoriteFilter_view.aod
@@ -30,6 +30,9 @@
     <treeTableViewTemplate>
       <name>FavoriteTree</name>
       <entityField>#ENTITY</entityField>
+      <linkedColumns>
+        <element>TITLE</element>
+      </linkedColumns>
       <defaultGroupFields>
         <element>GROUP_TITLE</element>
       </defaultGroupFields>
-- 
GitLab


From 2e2e8f3dc58470603eae232229e866ea3986e22d Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Thu, 17 Sep 2020 15:30:49 +0200
Subject: [PATCH 030/251] #1065452 Calendar: Appointments triggert from
 Contexts can now have a description preset

---
 .../Appointment_entity/Appointment_entity.aod   |  1 +
 .../entityfields/description/valueProcess.js    | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 entity/Appointment_entity/entityfields/description/valueProcess.js

diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index d91f52f018..6f51538041 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -24,6 +24,7 @@
     </entityField>
     <entityField>
       <name>DESCRIPTION</name>
+      <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/description/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>CLASSIFICATION</name>
diff --git a/entity/Appointment_entity/entityfields/description/valueProcess.js b/entity/Appointment_entity/entityfields/description/valueProcess.js
new file mode 100644
index 0000000000..4dca60cdc1
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/description/valueProcess.js
@@ -0,0 +1,17 @@
+import("system.neon");
+import("system.vars");
+import("system.calendars");
+import("system.result");
+
+/**
+ * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate
+ */
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param") && vars.get("$this.value") == null)
+{
+    var event = JSON.parse(vars.getString("$param.Entry_param"));
+
+    if(event[calendars.DESCRIPTION])
+        result.string(event[calendars.DESCRIPTION]);
+}
+else
+    result.string(vars.get("$this.value"));
\ No newline at end of file
-- 
GitLab


From 2b4db9cfcaf77bc02418a5e60c52fe6e9bf94205 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Thu, 17 Sep 2020 16:56:47 +0200
Subject: [PATCH 031/251] #1056805 Calendar-Categories: English keys

---
 .../_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index 55876a9e62..3e9db3204a 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -19,11 +19,11 @@
       <value></value>
     </entry>
     <entry>
-      <key>auswärts</key>
+      <key>OutOfOffice</key>
       <value></value>
     </entry>
     <entry>
-      <key>Urlaub</key>
+      <key>Vacation</key>
       <value></value>
     </entry>
   </calendarCategoriesEvent>
-- 
GitLab


From 4c4b8db9489d0e0e2af5454597ec2a49d0dd64c9 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Fri, 18 Sep 2020 06:01:15 +0000
Subject: [PATCH 032/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065068][Funktion=20zu=20Privat=20Person=20anlegen=20?=
 =?UTF-8?q?-=20Validierung=20schl=C3=A4gt=20Fehl]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../organisation_contactid/onValidation.js    | 18 +++++--
 entity/Contact_entity/onValidation.js         |  3 +-
 .../_____LANGUAGE_EXTRA.aod                   | 48 +++++++++++++++++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     | 37 ++++++++++++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     | 10 ++--
 5 files changed, 107 insertions(+), 9 deletions(-)

diff --git a/entity/Contact_entity/entityfields/organisation_contactid/onValidation.js b/entity/Contact_entity/entityfields/organisation_contactid/onValidation.js
index 94865c1d50..dafb892302 100644
--- a/entity/Contact_entity/entityfields/organisation_contactid/onValidation.js
+++ b/entity/Contact_entity/entityfields/organisation_contactid/onValidation.js
@@ -5,9 +5,10 @@ import("system.db");
 import("system.vars");
 import("Entity_lib");
 import("Sql_lib");
+import("Organisation_lib");
 
 var personId = vars.getString("$field.PERSON_ID");
-var organisationId;
+var organisationId, validationMsg;
 var orgContactId = vars.get("$local.value");
 var organisationIds = ContactUtils.getPersOrgIds(orgContactId)
     
@@ -19,8 +20,19 @@ if (organisationIds.length > 0 && organisationIds[2])
     if (vars.get("$field.CONTACTID"))
         contactId = vars.get("$field.CONTACTID");
 
-    var validationMsg = ContactUtils.validateIfAlreadyExists(personId, organisationId, contactId);
+    validationMsg = ContactUtils.validateIfAlreadyExists(personId, organisationId, contactId);
     if (validationMsg)
         result.string(validationMsg);
 }
-
+else
+{
+    var privateCount = newSelect("count(*)")
+                                .from("CONTACT")
+                                .where("CONTACT.ORGANISATION_ID", OrgUtils.getPrivateOrganisationId())
+                                .and("CONTACT.CONTACTID", vars.get("$param.OwnContactId_param"))
+                                .cell();
+    if(privateCount > 0)
+        validationMsg = translate.text("A person can only have one private Contact.");
+    if(validationMsg)
+        result.string(validationMsg)
+}
\ No newline at end of file
diff --git a/entity/Contact_entity/onValidation.js b/entity/Contact_entity/onValidation.js
index ef3e299e67..6ba91bd929 100644
--- a/entity/Contact_entity/onValidation.js
+++ b/entity/Contact_entity/onValidation.js
@@ -1,8 +1,9 @@
+import("Organisation_lib");
 import("system.vars");
 import("system.neon");
 
 //TODO: workaround till there exists somtehing that can be done "beforeSave"; a validation of the whole entity is done before saving so let's use this process at the moment
 if(!vars.get("$field.ORGANISATION_ID"))
 {
-    neon.setFieldValue("$field.ORGANISATION_ID", "0");
+    neon.setFieldValue("$field.ORGANISATION_ID", OrgUtils.getPrivateOrganisationId());
 }
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index a0cab0ed38..b93533604a 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7368,6 +7368,54 @@
     <entry>
       <key>Mark all cached record containers as invalid</key>
     </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients.</key>
+    </entry>
+    <entry>
+      <key>Set missing address locations</key>
+    </entry>
+    <entry>
+      <key>Set all address locations</key>
+    </entry>
+    <entry>
+      <key>Shows the number of Activities of the Grouped Fields</key>
+    </entry>
+    <entry>
+      <key>The status of the offer was changed to \"sent\".</key>
+    </entry>
+    <entry>
+      <key>Sales Staff Activity</key>
+    </entry>
+    <entry>
+      <key>Titel</key>
+    </entry>
+    <entry>
+      <key>Month</key>
+    </entry>
+    <entry>
+      <key>Responsible Department</key>
+    </entry>
+    <entry>
+      <key>Shows the different conversion rates of the sales project phases</key>
+    </entry>
+    <entry>
+      <key>FavoriteFilter_view</key>
+    </entry>
+    <entry>
+      <key>Salesproject Convertion Rates</key>
+    </entry>
+    <entry>
+      <key>The status of the order was changed to \"sent\".</key>
+    </entry>
+    <entry>
+      <key>Conversion Rate</key>
+    </entry>
+    <entry>
+      <key>AB_KEYWORD_ENTRYID</key>
+    </entry>
+    <entry>
+      <key>A person can only have one private Contact.</key>
+    </entry>
     <entry>
       <key>Linked in (Person)</key>
     </entry>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index ab88dccfb9..3ca1a4994f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -2669,6 +2669,10 @@
       <key>Fiji</key>
       <value>Fidschi</value>
     </entry>
+    <entry>
+      <key>A person can only have one private Contact.</key>
+      <value>Eine Person kann nur einen privaten Kontakt haben.</value>
+    </entry>
     <entry>
       <key>Guinea</key>
       <value>Guinea</value>
@@ -9463,6 +9467,39 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Xing (Person)</key>
     </entry>
+    <entry>
+      <key>Date must not be in the future</key>
+    </entry>
+    <entry>
+      <key>Shows the number of Activities of the Grouped Fields</key>
+    </entry>
+    <entry>
+      <key>Sales Staff Activity</key>
+    </entry>
+    <entry>
+      <key>Month</key>
+    </entry>
+    <entry>
+      <key>Responsible Department</key>
+    </entry>
+    <entry>
+      <key>Shows the different conversion rates of the sales project phases</key>
+    </entry>
+    <entry>
+      <key>Salesproject Convertion Rates</key>
+    </entry>
+    <entry>
+      <key>Date has to be in the selected calendar week!</key>
+    </entry>
+    <entry>
+      <key>50-99 D€</key>
+    </entry>
+    <entry>
+      <key>Conversion Rate</key>
+    </entry>
+    <entry>
+      <key>AB_KEYWORD_ENTRYID</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index f981373269..794e1fefaa 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7453,19 +7453,19 @@
       <key>Current Recipients</key>
     </entry>
     <entry>
-      <key>Date (Month)</key>
+      <key>The status of the offer was changed to \"sent\".</key>
     </entry>
     <entry>
-      <key>Date (Year)</key>
+      <key>The status of the order was changed to \"sent\".</key>
     </entry>
     <entry>
-      <key>Date (Day)</key>
+      <key>Conversion Rate</key>
     </entry>
     <entry>
-      <key>Grant new User Permission</key>
+      <key>AB_KEYWORD_ENTRYID</key>
     </entry>
     <entry>
-      <key>%0 of the chosen records are already recipients.</key>
+      <key>A person can only have one private Contact.</key>
     </entry>
     <entry>
       <key>Linked in (Person)</key>
-- 
GitLab


From f9e4e02273e3516faff5cd55428715aadb122680 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 18 Sep 2020 11:29:02 +0200
Subject: [PATCH 033/251] =?UTF-8?q?#1065468=5FLeadimportReset=5FMariaDBBug?=
 =?UTF-8?q?fix=20=C3=84nderung=20am=20Delete?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../leadimportreset/onActionProcess.js        | 27 ++++++++++---------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js b/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
index e3ab27e0a1..da2f76e57b 100644
--- a/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
+++ b/entity/Leadimport_entity/entityfields/leadimportreset/onActionProcess.js
@@ -22,14 +22,14 @@ _deleteData("COMMUNICATION", leadimportId, dateADayBefore);
 _deleteData("AB_ATTRIBUTERELATION", leadimportId, dateADayBefore);
 
 newWhere("LEADLOG.LEADIMPORT_ID", leadimportId)
-.and("LEADLOG.DATE_NEW", dateADayBefore.getTime(), "# >= ?")
-.from("LEADLOG")
-.deleteData();
+    .and("LEADLOG.DATE_NEW", dateADayBefore.getTime(), "# >= ?")
+    .from("LEADLOG")
+    .deleteData();
 
 newWhere("LEAD.LEADIMPORT_ID", leadimportId)
-.and("LEAD.DATE_NEW", dateADayBefore.getTime(), "# >= ?")
-.from("LEAD")
-.deleteData();
+    .and("LEAD.DATE_NEW", dateADayBefore.getTime(), "# >= ?")
+    .from("LEAD")
+    .deleteData();
 // Ändern des Status auf Created
 newWhere("LEADIMPORT.LEADIMPORTID", leadimportId).updateData(true, "LEADIMPORT", ["Status"], null, [$KeywordRegistry.importStatus$created()]);
 
@@ -46,12 +46,15 @@ function _deleteData (pTableName, pleadimportId, pdateADayBefor)
 {
     let uTableName = pTableName.charAt(0);
     newWhere(pTableName + "." + pTableName + "ID", 
-        newSelect(uTableName + "." + pTableName + "ID")
-        .from(pTableName, uTableName)
-        .join("LEADLOG", "LEADLOG.DATE_NEW = " + uTableName + ".DATE_NEW")
-        .where(uTableName + ".USER_NEW = LEADLOG.USER_NEW")
-        .and("LEADLOG.LEADIMPORT_ID", pleadimportId)
-        .and("LEADLOG.DATE_NEW", pdateADayBefor.getTime(), "# >= ?"), SqlBuilder.IN())
+        newSelect("TAB." + pTableName + "ID")
+        .from(
+            newSelect(uTableName + "." + pTableName + "ID")
+            .from(pTableName, uTableName)
+            .join("LEADLOG", "LEADLOG.DATE_NEW = " + uTableName + ".DATE_NEW")
+            .where(uTableName + ".USER_NEW = LEADLOG.USER_NEW")
+            .and("LEADLOG.LEADIMPORT_ID", pleadimportId)
+            .and("LEADLOG.DATE_NEW", pdateADayBefor.getTime(),SqlBuilder.GREATER_OR_EQUAL())
+        , "TAB"), SqlBuilder.IN())
     .from(pTableName)
     .deleteData();
 }
\ No newline at end of file
-- 
GitLab


From c12cd14faac4c22849f3017f000dcc31a9ee40b5 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Fri, 18 Sep 2020 11:18:38 +0000
Subject: [PATCH 034/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201064215][Dublettenzusammenf=C3=BChrung,=20ASYS=5FBINA?=
 =?UTF-8?q?RIES=20immer=20im=20Systemalias]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Person_entity/Person_entity.aod        |  4 +
 .../disallowcreate_param/valueProcess.js      |  3 +
 process/DuplicateScanner_lib/process.js       | 88 ++++++++++---------
 3 files changed, 53 insertions(+), 42 deletions(-)
 create mode 100644 entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js

diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 42bc254b23..6f2ffba89c 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -327,6 +327,10 @@
           <name>AssignmentTable_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>DisallowCreate_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityParameter>
diff --git a/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js b/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js
new file mode 100644
index 0000000000..e0f3ec47e2
--- /dev/null
+++ b/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(false);
\ No newline at end of file
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 8e2635b7c0..b8df3fa9c7 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -667,11 +667,16 @@ DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
     deleteStatements.push(["CONTACT", newWhere("CONTACT.CONTACTID", pSourceContactId).build()]);
     deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteCachedUnrelatedDuplicateQuery(pSourceContactId));
     
-    for (var i = 0; i < updateStatementsCurrentAlias.length; i++) {
-            if(updateStatementsCurrentAlias[i][0] == "RemoveThisItem")
+    for (var i = 0; i < updateStatementsCurrentAlias.length; i++) {  
+            if(updateStatementsCurrentAlias[i][0] == "RemoveThisItem") //see _DuplicateScannerUtils._buildUpdateContactIdStatements for further information
                 updateStatementsCurrentAlias.splice(i,1);
         }
-    
+        
+    //update binary 
+    var metaData = db.getBinaryMetadata("CONTACT", "DOCUMENT", pSourceContactId, true, SqlUtils.getBinariesAlias());
+    for (let i = 0; i < metaData.length;  i++) {
+        var updateBinary = db.updateBinaryAssignment(metaData[i]["id"], "CONTACT", "DOCUMENT", pTargetContactId, SqlUtils.getBinariesAlias());
+    }
     var affectedRowsCurrentAlias = db.updates(updateStatementsCurrentAlias);
     var affectedRowsSystemAlias = db.updates(updateStatementsSystemAlias, SqlUtils.getSystemAlias());
     var deletedRows = db.deletes(deleteStatements)
@@ -1242,7 +1247,7 @@ _DuplicateScannerUtils._buildUpdateContactIdStatements = function(pTableInfos, p
                                             .from("CONTACT")
                                             .where("CONTACT.CONTACTID", pSourceContactId)
                                             .cell();
-                newWhere("CONTACT.CONTACTID", pTargetContactId).updateData(true, "CONTACT", ["ADDRESS_ID"], null, sourceStandard);
+                newWhere("CONTACT.CONTACTID", pTargetContactId).updateData(true, "CONTACT", ["ADDRESS_ID"], null, [sourceStandard]);
             }
         }
         
@@ -1267,53 +1272,52 @@ _DuplicateScannerUtils._buildUpdateContactIdStatements = function(pTableInfos, p
  */
 _DuplicateScannerUtils._getMergeUpdateTableInfosCurrentAlias = function()
 {
-    return [
-        ["AB_APPOINTMENTLINK", "OBJECT_ROWID", ""],
-        ["AB_CTILOG", "CONTACT_ID", ""],
-        ["AB_OBJECTRELATION", "AB_OBJECTRELATIONID", ""],
-        ["AB_OBJECTRELATION", "OBJECT1_ROWID", ""],
-        ["AB_OBJECTRELATION", "OBJECT2_ROWID", ""],
-        ["AB_LOGHISTORY", "TABLENAMEID", ""],
-        ["ADDRESS", "CONTACT_ID", ""],
-        ["BULKMAILRECIPIENT", "CONTACT_ID", ""],
-        ["BULKMAIL", "TESTING_CONTACT_ID", ""],
-        ["CAMPAIGN", "EMPLOYEE_CONTACT_ID", ""],
-        ["CAMPAIGNSTEP", "EMPLOYEE_CONTACT_ID", ""],
-        ["COMMRESTRICTION", "CONTACT_ID", ""],
-        ["COMMRESTRICTION", "EMPLOYEE_INVOLVED", ""],
-        ["COMMUNICATION", "CONTACT_ID", ""],
-        ["COMPETITION", "CONTACT_ID", ""],
-        ["CONTRACT", "CONTACT_ID", ""],
-        ["LETTERRECIPIENT", "CONTACT_ID", ""],
-        ["OBJECTMEMBER", "CONTACT_ID", ""],
-        ["OFFER", "CONTACT_ID", ""],
-        ["PRODUCT", "CONTACT_ID", ""],
-        ["PRODUCTPRICE", "CONTACT_ID", ""],
-        ["SALESORDER", "CONTACT_ID", ""],
-        ["SALESPROJECT", "CONTACT_ID", ""],
-        ["TASK", "REQUESTOR_CONTACT_ID", ""],
-        ["TASK", "EDITOR_CONTACT_ID", ""],
-        ["TASKLINK", "OBJECT_ROWID", ""],
-        ["ACTIVITY", "RESPONSIBLE", ""],
-        ["DSGVO", "CONTACT_ID", ""],
-        ["DSGVOINFO", "CONTACT_ID", ""],
-        ["TIMETRACKING", "CONTACT_ID", ""],
-        ["ACTIVITYLINK", "OBJECT_ROWID", ""],
-        ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", ""]
-    ];
+    return[
+            ["AB_APPOINTMENTLINK", "OBJECT_ROWID", ""],
+            ["AB_CTILOG", "CONTACT_ID", ""],
+            ["AB_OBJECTRELATION", "AB_OBJECTRELATIONID", ""],
+            ["AB_OBJECTRELATION", "OBJECT1_ROWID", ""],
+            ["AB_OBJECTRELATION", "OBJECT2_ROWID", ""],
+            ["AB_LOGHISTORY", "TABLENAMEID", ""],
+            ["ADDRESS", "CONTACT_ID", ""],
+            ["BULKMAILRECIPIENT", "CONTACT_ID", ""],
+            ["BULKMAIL", "TESTING_CONTACT_ID", ""],
+            ["CAMPAIGN", "EMPLOYEE_CONTACT_ID", ""],
+            ["CAMPAIGNSTEP", "EMPLOYEE_CONTACT_ID", ""],
+            ["COMMRESTRICTION", "CONTACT_ID", ""],
+            ["COMMRESTRICTION", "EMPLOYEE_INVOLVED", ""],
+            ["COMMUNICATION", "CONTACT_ID", ""],
+            ["COMPETITION", "CONTACT_ID", ""],
+            ["CONTRACT", "CONTACT_ID", ""],
+            ["LETTERRECIPIENT", "CONTACT_ID", ""],
+            ["OBJECTMEMBER", "CONTACT_ID", ""],
+            ["OFFER", "CONTACT_ID", ""],
+            ["PRODUCT", "CONTACT_ID", ""],
+            ["PRODUCTPRICE", "CONTACT_ID", ""],
+            ["SALESORDER", "CONTACT_ID", ""],
+            ["SALESPROJECT", "CONTACT_ID", ""],
+            ["TASK", "REQUESTOR_CONTACT_ID", ""],
+            ["TASK", "EDITOR_CONTACT_ID", ""],
+            ["TASKLINK", "OBJECT_ROWID", ""],
+            ["ACTIVITY", "RESPONSIBLE", ""],
+            ["DSGVO", "CONTACT_ID", ""],
+            ["DSGVOINFO", "CONTACT_ID", ""],
+            ["TIMETRACKING", "CONTACT_ID", ""],
+            ["ACTIVITYLINK", "OBJECT_ROWID", ""],
+            ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", ""]
+        ];
 }
 
 /*
  * Contains all Tables and their fields which may contain the contact id to be replaced for the system alias
+ * in the past ASYS_BINARY had also been updated like this, but know we are using 
+ * the function db.updateBinaryAssignment (see also DuplicateScannerUtils.MergePerson).
  *
  * @returns {String[[]]} Array in the format [TableName, ContactIdColumnName, AdditionalCondition]
  */
 _DuplicateScannerUtils._getMergeUpdateTableInfosSystemAlias = function()
 {
-    return [
-        ["ASYS_CALENDARLINK", "DBID", ""],
-        ["ASYS_BINARIES", "ROW_ID", "TABLENAME = 'CONTACT'"]
-    ];
+    return [["ASYS_CALENDARLINK", "DBID", ""]];
 }
 
 /*
-- 
GitLab


From 158fd564dc583769397347c389aed6fb6903f8a5 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Fri, 18 Sep 2020 11:19:29 +0000
Subject: [PATCH 035/251] 1065462 fix salesproject dashboard error

---
 .../Salesproject_entity.aod                   | 32 +++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index efb2194b52..d80df356a7 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -53,7 +53,7 @@
       <name>PHASE</name>
       <title>Phase</title>
       <consumer>SalesprojectPhaseStepper</consumer>
-      <groupable v="true" />
+      <groupable v="false" />
       <mandatory v="true" />
       <state>EDITABLE</state>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/valueProcess.js</valueProcess>
@@ -930,19 +930,33 @@
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtensionSet>
-          <name>ClassificationSummary_filter</name>
-          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterFieldsProcess.js</filterFieldsProcess>
-          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationsummary_filter/filterConditionProcess.js</filterConditionProcess>
+          <name>ClassificationGroup_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/filterConditionProcess.js</filterConditionProcess>
+          <isGroupable v="true" />
+          <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js</groupQueryProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtensionSet>
-          <name>ClassificationScore_filter</name>
-          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterFieldsProcess.js</filterFieldsProcess>
-          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationscore_filter/filterConditionProcess.js</filterConditionProcess>
+          <name>ClassificationType_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/filterConditionProcess.js</filterConditionProcess>
+          <isGroupable v="true" />
+          <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js</groupQueryProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Phase_filterExtention</name>
+          <title>Phase</title>
+          <contentType>TEXT</contentType>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/filterConditionProcess.js</filterConditionProcess>
+          <groupedRecordField>Phase</groupedRecordField>
+          <titleRecordField>SALESPROJECT.PHASE</titleRecordField>
+          <isGroupable v="true" />
+          <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js</groupQueryProcess>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
-- 
GitLab


From 75cb0b3f48cdcb8f290c25011d49dd3e2c2aa6f2 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Fri, 18 Sep 2020 11:51:53 +0000
Subject: [PATCH 036/251] #1063951: Changed initial-operatingstate to prevent
 problems with operatingstate: new,edit.. in combination with dataless record
 container.

---
 .../addparticipants/onActionProcess.js        | 104 ++++++++++--------
 .../valueProcess.js                           |  30 +++--
 .../valueProcess.js                           |  24 +++-
 .../CampaignParticipant_entity.aod            |   1 +
 .../onActionProcess.js                        |   2 +-
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |   1 +
 process/Campaign_lib/process.js               |  58 +++++-----
 7 files changed, 129 insertions(+), 91 deletions(-)

diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
index 1b59874195..6b8422bd3d 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
@@ -1,19 +1,19 @@
 import("system.neon");
-import("Sql_lib");
 import("system.vars");
 import("system.db");
 import("system.util");
 import("Campaign_lib");
+import("Sql_lib");
 
 var cols = [];
 
-var participantRowIds = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param"));
 var participantCondition = "";
+var participantRowIds = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param"));
 var conditionSourceTableName = vars.getString("$param.dataSourceTableName_param");
 
+var isUpdate = vars.get("$field.isUpdate");
 var campaignId = vars.getString("$field.CAMPAIGN_ID");
 var newCampaignStepId = vars.getString("$field.CAMPAIGNSTEP_ID");
-var isUpdate = vars.get("$field.isUpdate");
 
 var colNamesCampaignParticipantLog = CampaignUtils.getParticipantLogInsertColumnNames();
 
@@ -40,7 +40,7 @@ function _handleCondition(pCampaignId, pTargetTableName, pCondition)
     let contactIdsToHandle = [];
     
     let useRightJoinToGetOrgs = "false";
-    if(pTargetTableName == "Organisation")
+    if(pTargetTableName == "ORGANISATION")
     {
         useRightJoinToGetOrgs = "true";
         pCondition += "  and PERSON.PERSONID is NULL"
@@ -66,63 +66,67 @@ function _handleCondition(pCampaignId, pTargetTableName, pCondition)
 function _handleRowIds(pParticipantRowIds, pCampaignId)
 {
     var oldStepIds = {};
+    
     if(isUpdate == "true")
     {
-        cols = [ "CAMPAIGNSTEP_ID",
-        "USER_EDIT",
-        "DATE_EDIT"
+        cols = [
+            "CAMPAIGNSTEP_ID",
+            "USER_EDIT",
+            "DATE_EDIT"
         ];
+    
         let oldSteps = newSelect("CAMPAIGNPARTICIPANTID, CAMPAIGNSTEP_ID")
-        .from("CAMPAIGNPARTICIPANT")
-        .whereIfSet("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds, SqlBuilder.IN())
-        .and("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
-        .table(true);
+                            .from("CAMPAIGNPARTICIPANT")
+                            .whereIfSet("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds, SqlBuilder.IN())
+                            .and("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
+                            .table(true);
                         
-        oldSteps.forEach(function (step)
+        oldSteps.forEach(function(step)
         {
             this[step[0]] = step[1];
         }, oldStepIds);
     }
     else
     {
-        cols = [ "CAMPAIGNPARTICIPANTID"
-        ,"CONTACT_ID"
-        ,"CAMPAIGN_ID"
-        ,"CAMPAIGNSTEP_ID"
-        ,"USER_NEW"
-        ,"DATE_NEW"
+        cols = [
+            "CAMPAIGNPARTICIPANTID",
+            "CONTACT_ID",
+            "CAMPAIGN_ID",
+            "CAMPAIGNSTEP_ID",
+            "USER_NEW",
+            "DATE_NEW"
         ];
     }
 
     let statementArray = [];
     let logArray = [];
-    let participantRowIds = pParticipantRowIds;
-    if(participantRowIds[0].length == 1) //pParticipantRowIds isn't parsed yet when the data has been selected, so we parse it here
-        participantRowIds = JSON.parse(pParticipantRowIds);
 
-
-    for (let participantRowId of participantRowIds)
+    for (let participant in pParticipantRowIds)
     {
         let campaignParticipantLogId = util.getNewUUID();
 
         if(isUpdate == "true")
         {
-            let oldCampaignStepId = oldStepIds[participantRowId] || "";
-            let updatedValues = [newCampaignStepId,
-            vars.get("$sys.user"),
-            vars.get("$sys.date")];
+            let oldCampaignStepId = oldStepIds[pParticipantRowIds[participant]] || "";
+            
+            let updatedValues = [
+                newCampaignStepId,
+                vars.get("$sys.user"),
+                vars.get("$sys.date")
+            ];
 
-            let condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", participantRowId)
-            .or("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", participantRowId);
+            let condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds[participant])
+                                .and("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
+                                .or("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", pParticipantRowIds[participant]);
                                  
             let valsCampaignParticipantLog = [
-            participantRowId, 
-            campaignId, 
-            newCampaignStepId, 
-            campaignParticipantLogId,
-            vars.get("$sys.user"), 
-            vars.get("$sys.date"), 
-            oldCampaignStepId
+                campaignParticipantLogId,
+                campaignId, 
+                newCampaignStepId, 
+                pParticipantRowIds[participant], 
+                vars.get("$sys.user"), 
+                vars.get("$sys.date"), 
+                oldCampaignStepId
             ];
 
             statementArray.push(["CAMPAIGNPARTICIPANT", cols, null, updatedValues, condition.build()]);
@@ -132,26 +136,38 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
         {
             let campaignParticipantId = util.getNewUUID();
 
-            let valsCampaignParticipant = [ campaignParticipantId
-            , participantRowId
-            , campaignId
-            , newCampaignStepId
-            , vars.get("$sys.user")
-            , vars.get("$sys.date")
+            let valsCampaignParticipant = [
+                campaignParticipantId,
+                pParticipantRowIds[participant],
+                campaignId,
+                newCampaignStepId,
+                vars.get("$sys.user"),
+                vars.get("$sys.date")
             ];
 
-            let valsCampaignParticipantLog = new Array(campaignParticipantId, campaignId, newCampaignStepId, campaignParticipantLogId, vars.get("$sys.user"), vars.get("$sys.date"));
+            let valsCampaignParticipantLog = [
+                campaignParticipantLogId, 
+                campaignId, 
+                newCampaignStepId,
+                campaignParticipantId, 
+                vars.get("$sys.user"), 
+                vars.get("$sys.date")
+            ];
 
             statementArray.push(["CAMPAIGNPARTICIPANT", cols, null, valsCampaignParticipant]);
+            logArray.push(["CAMPAIGNPARTICIPANTLOG", colNamesCampaignParticipantLog, null, valsCampaignParticipantLog]);
         }
     }
+    
     if(isUpdate == "true")
     {
         db.updates(statementArray)
     }
     else
         db.inserts(statementArray);
+    
     if(logArray.length > 0)
         db.inserts(logArray);
-}
 
+    neon.refreshAll();
+}
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
index e831ec632c..5eac9077a7 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
@@ -1,29 +1,43 @@
-import("Campaign_lib");
 import("system.eMath");
-import("FilterviewMenuAction_lib");
 import("system.result");
 import("system.vars");
 import("system.neon");
+import("FilterviewMenuAction_lib");
+import("Campaign_lib");
+
 
 if(vars.get("$field.CAMPAIGN_ID"))
 {
+    var contactIds, filteredContactIds;
+    var isUpdate = vars.getString("$param.isUpdate_param");
     var comingfrom = vars.getString("$param.dataSourceTableName_param");
-    var contactIds;
-    var filteredContactIds;
-    var selection = vars.getString("$param.campaignParticipantsRowIds_param");
+    var selection = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param"));
     
-    if(vars.exists("$param.campaignParticipantsCondition_param") && vars.get("$param.campaignParticipantsCondition_param"))
+    if(vars.exists("$param.campaignParticipantsCondition_param") && vars.get("$param.campaignParticipantsCondition_param") && !isUpdate)
     {
         selection = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
+        
         if(comingfrom == "Organisation")
             filteredContactIds = FilterviewMenuActionUtils.organisationIdsFilter(selection);
         else if(comingfrom == "Person")
             filteredContactIds = FilterviewMenuActionUtils.contactIdsFilter(selection)
-        contactIds = CampaignUtils.GetContactIdsNotInCampaignByRowIds(vars.get("$field.CAMPAIGN_ID"), filteredContactIds);
+        
+        contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), selection);
+    }
+    else if(isUpdate)
+    {
+        
+        if (vars.get("$param.campaignParticipantsCondition_param"))
+        {
+            contactIds = CampaignUtils.GetContactIdsInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition, false);
+        } else{
+            contactIds = selection;
+        }
     }
-    else
+    else 
     {
         contactIds = CampaignUtils.GetContactIdsNotInCampaignByRowIds(vars.get("$field.CAMPAIGN_ID"), JSON.parse(selection));
     }
+    
     result.string(JSON.stringify(contactIds));
 }
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
index b08b067a18..f9a576941a 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
@@ -1,36 +1,48 @@
 import("system.eMath");
-import("FilterviewMenuAction_lib");
 import("system.translate");
 import("system.result");
 import("system.vars");
+import("Campaign_lib");
+import("FilterviewMenuAction_lib");
 
 var res = "";
-var resNotAdded = "\n\
-";
+var resNotAdded = "\n";
+
 if(vars.get("$field.CAMPAIGN_ID") && vars.get("$field.campaignparticipantContactIds") && !vars.get("$sys.validationerrors"))
 {
-    var validCount = JSON.parse(vars.get("$field.campaignparticipantContactIds")).length;
     var selectedIds;
+    var isUpdate = vars.get("$param.isUpdate_param");
+    var validCount = JSON.parse(vars.get("$field.campaignparticipantContactIds")).length;
     var comingfrom = vars.get("$param.dataSourceTableName_param");
     
-    if (validCount && !vars.get("$sys.validationerrors") && vars.get("$field.CAMPAIGN_ID"))
+    if (validCount && !vars.get("$sys.validationerrors") && vars.get("$field.CAMPAIGN_ID") && !isUpdate)
     {
         if (validCount != 0)
         {
             res = translate.withArguments("%0 new participants will be added to the campaign.", [validCount]);
+            
             if(vars.exists("$param.campaignParticipantsRowIds_param") && vars.getString("$param.campaignParticipantsRowIds_param"))
                 selectedIds = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param")).length;
             else
             {
                 var selection = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
+                
                 if(comingfrom == "Organisation")
                     selectedIds = FilterviewMenuActionUtils.organisationIdsFilter(selection).length;
                 else if(comingfrom == "Person")
                     selectedIds = FilterviewMenuActionUtils.contactIdsFilter(selection).length;
             }
-            var alreadyParticipant = eMath.subInt(selectedIds, validCount)
+            if (selectedIds != undefined) {
+                var alreadyParticipant = eMath.subInt(selectedIds, validCount)
             resNotAdded += translate.withArguments("%0 of the chosen records are already in the campaign", [alreadyParticipant]);
+            }
         }
     }
+    else if(isUpdate){
+        validCount = JSON.parse(vars.get("$field.campaignparticipantContactIds")).length;
+        var maxParticipantCounting = CampaignUtils.getParticipantCount(vars.get("$field.CAMPAIGN_ID"));
+        res = translate.withArguments("%0/%1 participant(s) will be added to the selected campaign step", [validCount, maxParticipantCounting]);
+    }
 }
+
 result.string(res + resNotAdded);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index d622466645..3c8e5a5655 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -9,6 +9,7 @@
     <element>CampaignParticipantChart_entity</element>
   </siblings>
   <afterOperatingState>%aditoprj%/entity/CampaignParticipant_entity/afterOperatingState.js</afterOperatingState>
+  <useFavorites v="true" />
   <titlePlural>Participants</titlePlural>
   <recordContainer>ParticipantsDbRecordContainer</recordContainer>
   <entityFields>
diff --git a/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/onActionProcess.js b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/onActionProcess.js
index 1537b3bbbc..5f2f7a2cfa 100644
--- a/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/onActionProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/onActionProcess.js
@@ -9,7 +9,7 @@ var campaignStepId = vars.get("$field.CAMPAIGNSTEP_ID")
 
 if(sysSelection.length > 0) //selektierte IDs als Array
 {
-    CampaignUtils.openSetCampaignStepViewByRowIds(vars.getString("$sys.selection"), campaignId, campaignStepId);
+    CampaignUtils.openSetCampaignStepViewByRowIds(JSON.stringify(vars.get("$sys.selection")), campaignId, campaignStepId);
 }
 else
 {
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 3ca1a4994f..0facedfc4b 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -8978,6 +8978,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Add Participants</key>
+      <value>Teilnehmer hinzufügen</value>
     </entry>
     <entry>
       <key>and open Report</key>
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 7a2b2ead82..99d839acf1 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -203,13 +203,14 @@ CampaignUtils.getParticipantLogInsertColumnNames = function()
  */
 CampaignUtils.openSetCampaignStepViewByRowIds = function(pParticipantIds, pCampaignId, pCampaignStepId)
 {
-    var params = {};
-    params["campaignParticipantsRowIds_param"] = pParticipantIds;
-    params["currentCampaignId_param"] = pCampaignId;
-    params["currentCampaignStepId_param"] = pCampaignStepId;
-    params["isUpdate_param"] = true;
+    var params = {
+        "campaignParticipantsRowIds_param":pParticipantIds,
+        "currentCampaignId_param":pCampaignId,
+        "currentCampaignStepId_param":pCampaignStepId,
+        "isUpdate_param":true
+    };
     
-    neon.openContext("CampaignAddParticipants", "CampaignAddParticipantsEdit_view", null, neon.OPERATINGSTATE_NEW, params);
+    neon.openContext("CampaignAddParticipants", "CampaignAddParticipantsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
 }
 
 /**
@@ -231,7 +232,7 @@ CampaignUtils.openSetCampaignStepViewByCondition = function(pCondition, pCampaig
     params["currentCampaignStepId_param"] = pCampaignStepId;
     params["isUpdate_param"] = true;
     
-    neon.openContext("CampaignAddParticipants", "CampaignAddParticipantsEdit_view", null, neon.OPERATINGSTATE_NEW, params);
+    neon.openContext("CampaignAddParticipants", "CampaignAddParticipantsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
 }
 
 /**
@@ -502,24 +503,14 @@ CampaignUtils.GetParticipantsAlreadyAddedCountByCondition = function(pWhereCondi
  */
 CampaignUtils.GetContactIdsNotInCampaignByRowIds = function(pCampaignId, pParticipantRowIds)
 {   
-
-    var isNotOrg = newSelect("CONTACT.PERSON_ID").from("CONTACT").where("CONTACT.CONTACTID", pParticipantRowIds[0]).cell()
-    
-    var contactIds = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
-                                                .from("CAMPAIGNPARTICIPANT")
-                                                .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
-                                                .arrayColumn();
-    if(contactIds.length <= 0)
-        contactIds = [""];
-    var contactidsNotInCampaign = newSelect("CONTACT.CONTACTID")
-                                            .from("CONTACT")
-                                            .where("CONTACT.CONTACTID", pParticipantRowIds, SqlBuilder.IN())
-                                            .and("CONTACT.CONTACTID", contactIds, SqlBuilder.NOT_IN())
-
-    if(!isNotOrg)
-        contactidsNotInCampaign = contactidsNotInCampaign.and("CONTACT.PERSON_ID is null")
-
-    return contactidsNotInCampaign.arrayColumn();
+    return newSelect("CONTACT.CONTACTID")
+                .from("CONTACT")
+                .where("CONTACT.CONTACTID", pParticipantRowIds, SqlBuilder.IN())
+                .and("CONTACT.CONTACTID", 
+                    newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
+                        .from("CAMPAIGNPARTICIPANT")
+                        .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId), SqlBuilder.NOT_IN())
+                .arrayColumn();
 }
 
 /**
@@ -540,23 +531,26 @@ CampaignUtils.GetContactIdsNotInCampaignByRowIds = function(pCampaignId, pPartic
 CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCondition, pRightJoinContacts)
 {
     let query = newSelect("CONTACT.CONTACTID").from("PERSON");
+    var subselect = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
+                        .from("CAMPAIGNPARTICIPANT")
+                        .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId);
     
     if (pRightJoinContacts == "true")
         query.rightJoin("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID");
     else
         query.join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID");
     
+    if(pCondition != "")
+        subselect = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
+                        .from("CAMPAIGNPARTICIPANT")
+                        .where(pCondition);
+    
     query.join("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
         .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
-        .where("CONTACT.CONTACTID", 
-            newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
-            .from("CAMPAIGNPARTICIPANT")
-            .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
+        .where("CONTACT.CONTACTID",  
+            subselect
             , SqlBuilder.NOT_IN()
         );
-    
-    if(pCondition != "")
-        query.and(pCondition);
 
     return query.arrayColumn();
 }
-- 
GitLab


From 7f196605e61997c52af68eb8ea6a1592b3cd22de Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 15 Sep 2020 13:00:15 +0200
Subject: [PATCH 037/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1059952][db.getColumnTypes im xRM nicht mehr verwenden]

---
 process/Classification_lib/process.js | 2 +-
 process/Importer_lib/process.js       | 2 +-
 process/Liquibase_lib/process.js      | 2 +-
 process/Neon_lib/process.js           | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/process/Classification_lib/process.js b/process/Classification_lib/process.js
index c56bb0f4c8..66105c8ae1 100644
--- a/process/Classification_lib/process.js
+++ b/process/Classification_lib/process.js
@@ -369,7 +369,7 @@ ClassificationUtils.insertEmptyClassification = function(pUids, pObjectType)
             "OBJECT_ROWID",
             "OBJECT_TYPE"
             ];
-    var types = db.getColumnTypes("CLASSIFICATIONSTORAGE", columns);
+    var types = db.getColumnTypes("CLASSIFICATIONSTORAGE", columns);//load once for better performance
     var inserts = [];
     var values;
     for (var i = 0; i < pUids.length; i++) 
diff --git a/process/Importer_lib/process.js b/process/Importer_lib/process.js
index d1b033012d..a9e5a52893 100644
--- a/process/Importer_lib/process.js
+++ b/process/Importer_lib/process.js
@@ -1360,7 +1360,7 @@ function Importer(pConfig)
             if (tables[i] != "trace_xe_action_map" && tables[i] != "trace_xe_event_map")
             {
                 var cols = db.getColumns(tables[i], pAlias);
-                var types = db.getColumnTypes(tables[i], cols, pAlias);
+                var types = db.getColumnTypes(tables[i], cols, pAlias);//load once for better performance
                 dataTypes[ tables[i] ] = new Object();  // create sub-object to hold columns
                 for(var j=0; j < cols.length; j++) dataTypes[tables[i]][cols[j]] = types[j];
             }
diff --git a/process/Liquibase_lib/process.js b/process/Liquibase_lib/process.js
index 09973aa50b..4e6bfcff05 100644
--- a/process/Liquibase_lib/process.js
+++ b/process/Liquibase_lib/process.js
@@ -111,7 +111,7 @@ LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCond
     var dbData = db.table("select " + columns.join(", ") + " from " + pTableName + " " + (pCondition ? "where " + pCondition : ""), alias);
     if (dbData.length == 0)
         return "";
-    var colTypes = db.getColumnTypes(pTableName, columns, alias);
+    var colTypes = db.getColumnTypes(pTableName, columns, alias);//needed to determine the correct liquibase function
     //every type has its function that accepts a columnName- and a value-parameter
     //so let's dertermine once the corresponding funtion to its type for faster access 
     //(the function will only depend on the type and not change per datarow - so no need to determine the correct function per datarow)
diff --git a/process/Neon_lib/process.js b/process/Neon_lib/process.js
index a5eb0b3129..b758e7db58 100644
--- a/process/Neon_lib/process.js
+++ b/process/Neon_lib/process.js
@@ -380,7 +380,7 @@ CopyModuleUtils.copyModule = function(pInputMapping)
                 vals.push(colMapping[col].newValue.toString());
             }
 
-            var colTypes = db.getColumnTypes(destTable, cols)
+            var colTypes = db.getColumnTypes(destTable, cols)//load once for better performance
 
             return [destTable, cols, colTypes, vals];
         }
-- 
GitLab


From b72efe96f3af8de74ab3b16c446029a1f0d51373 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Thu, 17 Sep 2020 16:12:46 +0200
Subject: [PATCH 038/251] Member_entity for District Responsibles: Reenable
 insert, edit, delete [Projekt: Entwicklung - Neon][TicketNr.:
 1065331][Fehlende Aktionen bei der Tabelle Projektteam im Vertriebsprojekt]

---
 .../recordcontainers/db/conditionProcess.js   |  6 +++--
 entity/Member_entity/Member_entity.aod        | 24 ++++++++++++++++++-
 entity/Member_entity/documentation.adoc       | 13 +++++++++-
 .../recordtype/documentation.adoc             |  1 +
 entity/Member_entity/grantCreateProcess.js    |  0
 entity/Member_entity/grantDeleteProcess.js    |  5 ++++
 entity/Member_entity/grantUpdateProcess.js    |  5 ++++
 .../recordtype.value/expression.js            |  4 ++++
 .../recordcontainers/jdito/contentProcess.js  | 22 ++++++++++-------
 .../recordcontainers/jdito/onDelete.js        | 16 +++++++++++++
 .../recordcontainers/jdito/onInsert.js        |  1 +
 .../recordcontainers/jdito/onUpdate.js        |  1 +
 .../Salesproject_entity.aod                   | 24 +------------------
 neonContext/Member/Member.aod                 |  7 ++++++
 .../MemberFilter_view/MemberFilter_view.aod   |  4 ++--
 15 files changed, 95 insertions(+), 38 deletions(-)
 create mode 100644 entity/Member_entity/entityfields/recordtype/documentation.adoc
 create mode 100644 entity/Member_entity/grantCreateProcess.js
 create mode 100644 entity/Member_entity/grantDeleteProcess.js
 create mode 100644 entity/Member_entity/grantUpdateProcess.js
 create mode 100644 entity/Member_entity/recordcontainers/db/recordfieldmappings/recordtype.value/expression.js
 create mode 100644 entity/Member_entity/recordcontainers/jdito/onDelete.js
 create mode 100644 entity/Member_entity/recordcontainers/jdito/onInsert.js
 create mode 100644 entity/Member_entity/recordcontainers/jdito/onUpdate.js

diff --git a/entity/DistrictResponsible_entity/recordcontainers/db/conditionProcess.js b/entity/DistrictResponsible_entity/recordcontainers/db/conditionProcess.js
index 1942674d0c..d611896490 100644
--- a/entity/DistrictResponsible_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/DistrictResponsible_entity/recordcontainers/db/conditionProcess.js
@@ -14,9 +14,11 @@ if (districtId)
 else if(orgUid) 
 {
     var orgDistrictIds = vars.get("$param.CollectedDistrictIds_param");
-    if (orgDistrictIds){
+    if (orgDistrictIds)
+    {
         orgDistrictIds = JSON.parse(orgDistrictIds);
-    cond.and("DISTRICTRESPONSIBLE.DISTRICT_ID", orgDistrictIds, SqlBuilder.IN());
+        if (orgDistrictIds.length > 0)
+            cond.and("DISTRICTRESPONSIBLE.DISTRICT_ID", orgDistrictIds, SqlBuilder.IN());
     }
 }
 
diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod
index 328d826225..807190e5ff 100644
--- a/entity/Member_entity/Member_entity.aod
+++ b/entity/Member_entity/Member_entity.aod
@@ -4,6 +4,9 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Member_entity/documentation.adoc</documentation>
   <title>${SALESPROJECT_MEMBER}</title>
+  <grantCreateProcess>%aditoprj%/entity/Member_entity/grantCreateProcess.js</grantCreateProcess>
+  <grantUpdateProcess>%aditoprj%/entity/Member_entity/grantUpdateProcess.js</grantUpdateProcess>
+  <grantDeleteProcess>%aditoprj%/entity/Member_entity/grantDeleteProcess.js</grantDeleteProcess>
   <iconId>VAADIN:FILE_SOUND</iconId>
   <titlePlural>${SALESPROJECT_MEMBER}</titlePlural>
   <recordContainer>db</recordContainer>
@@ -39,7 +42,6 @@
     <entityField>
       <name>ORGANISATION_NAME</name>
       <title>Company</title>
-      <state>READONLY</state>
     </entityField>
     <entityField>
       <name>ORG_ORGID</name>
@@ -213,6 +215,9 @@
       <name>UID</name>
       <documentation>%aditoprj%/entity/Member_entity/entityfields/uid/documentation.adoc</documentation>
     </entityField>
+    <entityField>
+      <name>recordType</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -333,12 +338,20 @@
           <isFilterable v="true" />
           <isLookupFilter v="true" />
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>recordType.value</name>
+          <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/recordtype.value/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
     <jDitoRecordContainer>
       <name>jdito</name>
       <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <isFilterable v="true" />
       <contentProcess>%aditoprj%/entity/Member_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
+      <onInsert>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onInsert.js</onInsert>
+      <onUpdate>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
+      <onDelete>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onDelete.js</onDelete>
       <recordFieldMappings>
         <jDitoRecordFieldMapping>
           <name>UID.value</name>
@@ -349,6 +362,9 @@
         <jDitoRecordFieldMapping>
           <name>CONTACT_ID.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>CONTACT_ID.displayValue</name>
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CONTACTROLE.value</name>
         </jDitoRecordFieldMapping>
@@ -364,6 +380,9 @@
         <jDitoRecordFieldMapping>
           <name>MEMBERROLE.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>MEMBERROLE.displayValue</name>
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>OBJECT_ROWID.value</name>
         </jDitoRecordFieldMapping>
@@ -400,6 +419,9 @@
         <jDitoRecordFieldMapping>
           <name>TARGETCONTEXT.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>recordType.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/Member_entity/documentation.adoc b/entity/Member_entity/documentation.adoc
index 575b84d329..3ad972dcc8 100644
--- a/entity/Member_entity/documentation.adoc
+++ b/entity/Member_entity/documentation.adoc
@@ -1,3 +1,14 @@
 = Member_entity
 
-Manages the project team in the sales project and in the campaign
\ No newline at end of file
+Manages the project team in the sales project and in the campaign
+
+This entity has two recordContainers:
+
+* db
+* jdito
+
+While for the must purposes the `db`-recordContainer is perfectly fine to use there is one case necessary for the `jdito`-recordContainer:
+
+Salesproject memebers are loaded via the ``-provider and therefor use the `jdito`-recodContainer. This recordContainer first collects the data from
+the `db`-rc and then loads additional memebers of the salesprojects district. The additional members are not modifyable, while those from the
+`db`-rc are.
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/recordtype/documentation.adoc b/entity/Member_entity/entityfields/recordtype/documentation.adoc
new file mode 100644
index 0000000000..3120dc65c2
--- /dev/null
+++ b/entity/Member_entity/entityfields/recordtype/documentation.adoc
@@ -0,0 +1 @@
+Field to differ between records from the OBJECTMEMBER-table and additional added district-members (only in the jdito-RecordContainer)
\ No newline at end of file
diff --git a/entity/Member_entity/grantCreateProcess.js b/entity/Member_entity/grantCreateProcess.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/entity/Member_entity/grantDeleteProcess.js b/entity/Member_entity/grantDeleteProcess.js
new file mode 100644
index 0000000000..a494c8292d
--- /dev/null
+++ b/entity/Member_entity/grantDeleteProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+
+var res = vars.get("$field.recordType") != "DistrictResponsible";
+result.string(res);
\ No newline at end of file
diff --git a/entity/Member_entity/grantUpdateProcess.js b/entity/Member_entity/grantUpdateProcess.js
new file mode 100644
index 0000000000..a494c8292d
--- /dev/null
+++ b/entity/Member_entity/grantUpdateProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+
+var res = vars.get("$field.recordType") != "DistrictResponsible";
+result.string(res);
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/db/recordfieldmappings/recordtype.value/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/recordtype.value/expression.js
new file mode 100644
index 0000000000..ecce98df0c
--- /dev/null
+++ b/entity/Member_entity/recordcontainers/db/recordfieldmappings/recordtype.value/expression.js
@@ -0,0 +1,4 @@
+import("system.result");
+
+//this value only differs in the jdito recordContainer
+result.string("'ObjectMember'");
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/jdito/contentProcess.js b/entity/Member_entity/recordcontainers/jdito/contentProcess.js
index b678a96f2f..e4d4225eeb 100644
--- a/entity/Member_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Member_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("system.translate");
 import("system.result");
 import("system.vars");
 import("system.entities");
@@ -11,9 +12,11 @@ var memberLoadingConfig = entities.createConfigForLoadingRows()
                                     .provider("Links")
                                     .addParameter("ObjectRowId_param", vars.get("$param.ObjectRowId_param"))
                                     .addParameter("ObjectType_param", vars.get("$param.ObjectType_param"))
-                                    .fields(["#UID", "CONTACT_ID", "CONTACTROLE", "DEPARTMENT", "ICON", "IMAGE", "MEMBERROLE", "OBJECT_ROWID", "OBJECT_TYPE",
+                                    .fields(["#UID", "CONTACT_ID", "CONTACT_ID.displayValue", "CONTACTROLE", "DEPARTMENT", "ICON", "IMAGE", 
+                                                "MEMBERROLE", "MEMBERROLE.displayValue", "OBJECT_ROWID", "OBJECT_TYPE",
                                                 "OBJECTMEMBERID", "ORG_ORGID", "ORGANISATION_NAME", "PERSON_FIRSTNAME", "PERSON_FULL_NAME", 
-                                                "PERSON_LASTNAME", "PERSON_PERSID", "PERSON_SALUTATION", "PERSON_TITLE", "POSITION", "TARGETCONTEXT"]);
+                                                "PERSON_LASTNAME", "PERSON_PERSID", "PERSON_SALUTATION", "PERSON_TITLE", "POSITION", "TARGETCONTEXT",
+                                                "recordType"]);
 
 if (idValues)
 {
@@ -55,10 +58,11 @@ if (vars.get("$param.ObjectType_param") == "Salesproject" && vars.get("$param.Ob
 
 memberRows = memberRows.map(function(row)
 {
-    return [row["#UID"], row["OBJECTMEMBERID"], row["CONTACT_ID"], row["CONTACTROLE"], row["DEPARTMENT"], row["ICON"], row["IMAGE"], row["MEMBERROLE"], row["OBJECT_ROWID"], 
+    return [row["#UID"], row["OBJECTMEMBERID"], row["CONTACT_ID"], row["CONTACT_ID.displayValue"], row["CONTACTROLE"], row["DEPARTMENT"], row["ICON"],
+                row["IMAGE"], row["MEMBERROLE"], row["MEMBERROLE.displayValue"], row["OBJECT_ROWID"], 
                 row["OBJECT_TYPE"], row["ORG_ORGID"], row["ORGANISATION_NAME"], row["PERSON_FIRSTNAME"], 
                 row["PERSON_FULL_NAME"], row["PERSON_LASTNAME"], row["PERSON_PERSID"], row["PERSON_SALUTATION"], row["PERSON_TITLE"], 
-                row["POSITION"], row["TARGETCONTEXT"]];
+                row["POSITION"], row["TARGETCONTEXT"], row["recordType"]];
 });
 
 var responsibleUids = [];
@@ -74,7 +78,6 @@ var loadingConfPers = entities.createConfigForLoadingRows()
                                                 "FIRSTNAME", "LASTNAME", "SALUTATION", "TITLE"]);
 
 var persRows = entities.getRows(loadingConfPers);
-var counter = 0;
 
 persRows = persRows.map(function(row){
     return [row["SALUTATION"], row["TITLE"], row["FIRSTNAME"], row["LASTNAME"],
@@ -83,17 +86,19 @@ persRows = persRows.map(function(row){
 });
 
 
-districtRows.forEach(function(row){
+districtRows.forEach(function(row, counter){
     
     memberRows.push(
         [row[0],
         null,
         row[3],
+        row[4],
         persRows[counter][6],
         row[7],
         "VAADIN:GLOBE",
         "TEXT:" + row[4].substring(row[4].indexOf(" ", 0)+1, row[4].length),
         "MEMBERROLEDISTRICTRESPONSIBLE",
+        translate.text("District Responsible"),
         vars.get("$param.ObjectRowId_param"),
         vars.get("$param.ObjectType_param"),
         persRows[counter][5],
@@ -105,10 +110,9 @@ districtRows.forEach(function(row){
         persRows[counter][0], 
         persRows[counter][1], 
         persRows[counter][7],
-        null
+        null, 
+        "DistrictResponsible"
     ]);
-    
-    counter++;
 });
 
 result.object(memberRows);
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/jdito/onDelete.js b/entity/Member_entity/recordcontainers/jdito/onDelete.js
new file mode 100644
index 0000000000..91caa64d3c
--- /dev/null
+++ b/entity/Member_entity/recordcontainers/jdito/onDelete.js
@@ -0,0 +1,16 @@
+import("system.vars");
+import("system.entities");
+
+//While there is no need to implement the insert or update process the delete process needs to be specified because the 
+//contexts viewmodeProvider for the editView only affect insert and update (delete has no view associated)
+//let's do the db-record container the job to remove the record (additional district records can never be removed):
+var rowData = vars.get("$local.rowdata");
+var memberId = rowData["OBJECTMEMBERID.value"];
+if (memberId)
+{
+    var config = entities.createConfigForDeletingRows().entity("Member_entity").uid(memberId);
+    entities.deleteRow(config);
+}
+else
+    throw new Error("Member_entity: Could not delete member entity because the given OBJECTMEMBERID was empty.");
+    
diff --git a/entity/Member_entity/recordcontainers/jdito/onInsert.js b/entity/Member_entity/recordcontainers/jdito/onInsert.js
new file mode 100644
index 0000000000..d86d21c988
--- /dev/null
+++ b/entity/Member_entity/recordcontainers/jdito/onInsert.js
@@ -0,0 +1 @@
+//No insert code, because it is done in via the contexts viewmodeProvider for the editView
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/jdito/onUpdate.js b/entity/Member_entity/recordcontainers/jdito/onUpdate.js
new file mode 100644
index 0000000000..1e04d32962
--- /dev/null
+++ b/entity/Member_entity/recordcontainers/jdito/onUpdate.js
@@ -0,0 +1 @@
+//No update code, because it is done in via the contexts viewmodeProvider for the editView
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index d80df356a7..d9710bbf19 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -257,7 +257,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Member_entity</entityName>
-        <fieldName>Links</fieldName>
+        <fieldName>WithDistrictResponsibles</fieldName>
       </dependency>
       <children>
         <entityParameter>
@@ -672,28 +672,6 @@
         </entityParameter>
       </children>
     </entityConsumer>
-    <entityConsumer>
-      <name>ClassificationGroups</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ClassificationGroupAnalyses_entity</entityName>
-        <fieldName>GroupAnalyses</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ClassificationType_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/classificationtype_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectRowid_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/objectrowid_param/valueProcess.js</valueProcess>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationgroups/children/objecttype_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
     <entityField>
       <name>PHASEINFO</name>
       <title>phase information</title>
diff --git a/neonContext/Member/Member.aod b/neonContext/Member/Member.aod
index f1747c11e2..35fc63e302 100644
--- a/neonContext/Member/Member.aod
+++ b/neonContext/Member/Member.aod
@@ -19,4 +19,11 @@
       <view>MemberDrawer_view</view>
     </neonViewReference>
   </references>
+  <viewmodeProvider>
+    <staticContentEntry>
+      <name>editView</name>
+      <key>editView</key>
+      <value>Links</value>
+    </staticContentEntry>
+  </viewmodeProvider>
 </neonContext>
diff --git a/neonView/MemberFilter_view/MemberFilter_view.aod b/neonView/MemberFilter_view/MemberFilter_view.aod
index c432d26441..1d4faccbdb 100644
--- a/neonView/MemberFilter_view/MemberFilter_view.aod
+++ b/neonView/MemberFilter_view/MemberFilter_view.aod
@@ -23,7 +23,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>59e6aea1-9752-48b5-9d91-43edd0c1d670</name>
-          <entityField>PERSON_FULL_NAME</entityField>
+          <entityField>CONTACT_ID</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>27e658bc-c134-4fef-a3a5-b172852d606e</name>
@@ -57,7 +57,7 @@
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>d84b10a1-593a-4c2f-ba35-4fb80c362850</name>
-          <entityField>PERSON_FULL_NAME</entityField>
+          <entityField>CONTACT_ID</entityField>
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>22eb0efc-61b3-48fe-989d-2dd4e70ea780</name>
-- 
GitLab


From ee504a6957731eb1db520ed58355e73c4f3134cc Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 18 Sep 2020 14:39:02 +0200
Subject: [PATCH 039/251] Liqui: added index for communication.addr

---
 .liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml b/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
index c9e5b442ce..c3eab6fea6 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
@@ -47,5 +47,8 @@
         <createIndex tableName="VISITPLANENTRY" indexName="IDX_VISITPLNENTRY_ORGCONTCT_ID">
             <column name="ORGANISATION_CONTACT_ID"/>
         </createIndex>
+        <createIndex tableName="COMMUNICATION" indexName="IDX_COMMUNICATION_ADDR">
+            <column name="ADDR"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
-- 
GitLab


From 54b4e82eba80288e9361359d91361cef885ec699 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Fri, 18 Sep 2020 17:08:26 +0200
Subject: [PATCH 040/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065485][=C3=9Cbersetzungen=20in=20Languages=20fehlen?=
 =?UTF-8?q?]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../alter_KeywordTitlesForTranslation.xml     |  26 +
 .../Data_alias/basic/2020.2.0/changelog.xml   |   1 +
 .../generatedData/classificationscore.xml     |  12 +-
 .../linkedobjects/documentation.adoc          |   2 +-
 .../recordcontainers/db/conditionProcess.js   |   2 +-
 entity/BulkMail_entity/grantDeleteProcess.js  |   2 +-
 .../CampaignStep_entity/grantDeleteProcess.js |   2 +-
 entity/Campaign_entity/Campaign_entity.aod    |   4 +-
 entity/Favorite_entity/Favorite_entity.aod    |   2 +-
 entity/Product_entity/grantDeleteProcess.js   |   2 +-
 .../SerialLetter_entity/grantDeleteProcess.js |   2 +-
 .../documentation.adoc                        |   2 +-
 .../forunlinkedmail/documentation.adoc        |   2 +-
 .../WorkflowInstanceHistory_entity.aod        |   2 +-
 .../_____LANGUAGE_EXTRA.aod                   | 420 +++-------
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     | 732 ++++++++++--------
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     | 426 +++-------
 .../CampaignEdit_view/CampaignEdit_view.aod   |   2 +-
 .../CampaignStepEdit_view.aod                 |   2 +-
 .../LeadimportLeadFilter_view.aod             |   2 +-
 .../PersonMultiEditQuickEntry_view.aod        |   2 +-
 .../Organisation_report.aod                   |   2 +-
 report/Reminder_report/Reminder_report.aod    |   2 +-
 23 files changed, 693 insertions(+), 960 deletions(-)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml

diff --git a/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml b/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml
new file mode 100644
index 0000000000..555b77fdda
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml
@@ -0,0 +1,26 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="b.ulrich" id="82e86a5a-7796-496e-87ba-4c94ac5e3bb4">
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="restrict"/>
+            <where>AB_KEYWORD_ENTRYID='4409adc1-0130-44d3-8aa9-773ff3ab0816'</where>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="entity"/>
+            <where>AB_KEYWORD_ENTRYID='676f498f-3f51-459f-8e07-feec7b604245'</where>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="dataset"/>
+            <where>AB_KEYWORD_ENTRYID='14f5e2a4-4998-400f-b857-90e14e8736da'</where>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="field"/>
+            <where>AB_KEYWORD_ENTRYID='d3ae8077-36db-4f52-8f90-b0ebbb6773d7'</where>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="allow"/>
+            <where>AB_KEYWORD_ENTRYID='27ded05a-99c1-4810-91ee-cbb1e4ddec85'</where>
+        </update>
+    </changeSet>
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
index 90c1074fce..2979f8b183 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
@@ -11,4 +11,5 @@
     <include relativeToChangelogFile="true" file="alter_ComunicationMedium_IdDatatype.xml"/>
     <include relativeToChangelogFile="true" file="ReportDispatchImpl/add_DocumentTemplatePlaceOfUse.xml"/>
     <include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityDatatype.xml"/>
+    <include relativeToChangelogFile="true" file="alter_KeywordTitlesForTranslation.xml"/>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
index 69ade9eca1..8f15269199 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
@@ -435,7 +435,7 @@
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="50"/>
-      <column name="TITLE" value="ab 1000"/>
+      <column name="TITLE" value="from 1000"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
@@ -646,35 +646,35 @@
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="SCORE" valueNumeric="0.00"/>
       <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="0-49 D€"/>
+      <column name="TITLE" value="0-49 €"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="SCORE" valueNumeric="10.00"/>
       <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="100-199 D€"/>
+      <column name="TITLE" value="100-199 €"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="733323d6-ff3d-4ccb-b179-ad1fea05dfe8"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="SCORE" valueNumeric="15.00"/>
       <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="200-349 D€"/>
+      <column name="TITLE" value="200-349 €"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="839cd672-5981-4207-8a82-caddd00107e4"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="50-99 D€"/>
+      <column name="TITLE" value="50-99 €"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="f02cfd28-5a09-42ca-b805-07b7b38e3363"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="SCORE" valueNumeric="20.00"/>
       <column name="SORT" valueNumeric="50"/>
-      <column name="TITLE" value="ab 350 D€"/>
+      <column name="TITLE" value="from 350 €"/>
     </insert>
     <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
diff --git a/entity/Activity_entity/entityfields/linkedobjects/documentation.adoc b/entity/Activity_entity/entityfields/linkedobjects/documentation.adoc
index 48189bd099..be9657253f 100644
--- a/entity/Activity_entity/entityfields/linkedobjects/documentation.adoc
+++ b/entity/Activity_entity/entityfields/linkedobjects/documentation.adoc
@@ -1,4 +1,4 @@
 = Activity_entity - LinkedObjects
 
 Provides records via ActivityLinks.
-Every Activity can have 0..n link-records. This provider can be used to retrieve Activity Records from another object that is linkable.(e.g. get all Activites of a specific contactperson)
\ No newline at end of file
+Every Activity can have 0..n link-records. This provider can be used to retrieve Activity Records from another object that is linkable.(e.g. get all Activities of a specific contactperson)
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
index 2abb513731..5fb076c6de 100644
--- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
@@ -16,7 +16,7 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.
     var rowId = vars.get("$param.RowId_param");
     if (vars.get("$param.ObjectId_param") == "Person")
     {
-        //in the Person context, all activites linked to the person should be shown, so it is necessary to get all contactIds of that person
+        //in the Person context, all activities linked to the person should be shown, so it is necessary to get all contactIds of that person
         var allPersonRelatedContactIds = newSelect("personContacts.CONTACTID")
             .from("CONTACT")
             .join("CONTACT", "CONTACT.PERSON_ID = personContacts.PERSON_ID", "personContacts")
diff --git a/entity/BulkMail_entity/grantDeleteProcess.js b/entity/BulkMail_entity/grantDeleteProcess.js
index 98a724e2fc..28bfe1f78b 100644
--- a/entity/BulkMail_entity/grantDeleteProcess.js
+++ b/entity/BulkMail_entity/grantDeleteProcess.js
@@ -8,7 +8,7 @@ var currentContext = ContextUtils.getCurrentContextId();
 
 var canDelete = new HasLinkedObjectTester()
     .andNoEntityRows("BulkMailRecipient_entity", "BulkMailRecipients", {BulkMailId_param : rowId}) //Recipients
-    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activites
+    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activities
     .validate();
 
 result.string(canDelete);
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/grantDeleteProcess.js b/entity/CampaignStep_entity/grantDeleteProcess.js
index 769ff1a44e..7e11b9474d 100644
--- a/entity/CampaignStep_entity/grantDeleteProcess.js
+++ b/entity/CampaignStep_entity/grantDeleteProcess.js
@@ -7,7 +7,7 @@ var rowId = vars.get("$field.CAMPAIGNSTEPID");
 var currentContext = ContextUtils.getCurrentContextId();
 
 var canDelete = new HasLinkedObjectTester()
-    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activites
+    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activities
     .andNoEntityRows("Task_entity", "Tasks", {ObjectId_param : currentContext, RowId_param : rowId}) //Tasks
     .validate();
 
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index d53f98b1c0..1e61996eaa 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -677,14 +677,14 @@
         </filterExtensionSet>
         <filterExtension>
           <name>DateStart_filter</name>
-          <title>Startdatum</title>
+          <title>Startdate</title>
           <contentType>DATE</contentType>
           <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/datestart_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtension>
         <filterExtension>
           <name>DateEnd_filter</name>
-          <title>Enddatum</title>
+          <title>Enddate</title>
           <contentType>DATE</contentType>
           <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/dateend_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
diff --git a/entity/Favorite_entity/Favorite_entity.aod b/entity/Favorite_entity/Favorite_entity.aod
index 1ad0dce01d..bb5ba3f508 100644
--- a/entity/Favorite_entity/Favorite_entity.aod
+++ b/entity/Favorite_entity/Favorite_entity.aod
@@ -102,7 +102,7 @@
       <filterExtensions>
         <filterExtension>
           <name>groupGroupNameExtension</name>
-          <title>Gruppenname</title>
+          <title>Groupname</title>
           <contentType>TEXT</contentType>
           <filterValuesProcess>%aditoprj%/entity/Favorite_entity/recordcontainers/jditorecordcontainer/filterextensions/groupgroupnameextension/filterValuesProcess.js</filterValuesProcess>
           <filtertype>BASIC</filtertype>
diff --git a/entity/Product_entity/grantDeleteProcess.js b/entity/Product_entity/grantDeleteProcess.js
index 71a0e8a5f2..8ea2acc50f 100644
--- a/entity/Product_entity/grantDeleteProcess.js
+++ b/entity/Product_entity/grantDeleteProcess.js
@@ -7,7 +7,7 @@ var rowId = vars.get("$field.PRODUCTID");
 var currentContext = ContextUtils.getCurrentContextId();
 
 var canDelete = new HasLinkedObjectTester()
-    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activites
+    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activities
     .andNoEntityRows("Task_entity", "Tasks", {ObjectId_param : currentContext, RowId_param : rowId}) //Tasks
     .andNoEntityRows("Document_entity", "Documents", {AssignmentTable_param : "PRODUCT", AssignmentRowId_param : rowId}) //Documents
     .validate();
diff --git a/entity/SerialLetter_entity/grantDeleteProcess.js b/entity/SerialLetter_entity/grantDeleteProcess.js
index f4b411ed01..42f09d992d 100644
--- a/entity/SerialLetter_entity/grantDeleteProcess.js
+++ b/entity/SerialLetter_entity/grantDeleteProcess.js
@@ -8,7 +8,7 @@ var currentContext = ContextUtils.getCurrentContextId();
 
 var canDelete = new HasLinkedObjectTester()
     .andNoEntityRows("LetterRecipient_entity", "SerialLetterRecipients", {SerialLetterId_param : rowId}) //Recipients
-    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activites
+    .andNoEntityRows("Activity_entity", "LinkedObjects", {ObjectId_param : currentContext, RowId_param : rowId}) //Activiites
     .validate();
 
 result.string(canDelete);
\ No newline at end of file
diff --git a/entity/UnlinkedMailMappingWrapper_entity/documentation.adoc b/entity/UnlinkedMailMappingWrapper_entity/documentation.adoc
index 27350aa271..cda1b4330c 100644
--- a/entity/UnlinkedMailMappingWrapper_entity/documentation.adoc
+++ b/entity/UnlinkedMailMappingWrapper_entity/documentation.adoc
@@ -2,6 +2,6 @@
 
 For manual linking of an unlinked mail
 
-WARNING: This is deprecated and should not longer be used. Activites are now created always and have some or no activity links.
+WARNING: This is deprecated and should not longer be used. Activities are now created always and have some or no activity links.
 
 //todo: remove entity
\ No newline at end of file
diff --git a/entity/UnlinkedMailMappingWrapper_entity/entityfields/forunlinkedmail/documentation.adoc b/entity/UnlinkedMailMappingWrapper_entity/entityfields/forunlinkedmail/documentation.adoc
index 1f1f3de9c7..fb63d20fd2 100644
--- a/entity/UnlinkedMailMappingWrapper_entity/entityfields/forunlinkedmail/documentation.adoc
+++ b/entity/UnlinkedMailMappingWrapper_entity/entityfields/forunlinkedmail/documentation.adoc
@@ -1,3 +1,3 @@
 Provides a wrapper for Unlinked Mails. 
 
-WARNING: This is deprecated and should not longer be used. Activites are now created always and have some or no activity links.
\ No newline at end of file
+WARNING: This is deprecated and should not longer be used. Activities are now created always and have some or no activity links.
\ No newline at end of file
diff --git a/entity/WorkflowInstanceHistory_entity/WorkflowInstanceHistory_entity.aod b/entity/WorkflowInstanceHistory_entity/WorkflowInstanceHistory_entity.aod
index 606db71e8c..8c35ddbe8c 100644
--- a/entity/WorkflowInstanceHistory_entity/WorkflowInstanceHistory_entity.aod
+++ b/entity/WorkflowInstanceHistory_entity/WorkflowInstanceHistory_entity.aod
@@ -7,7 +7,7 @@
   <grantCreate v="false" />
   <grantUpdate v="false" />
   <grantDelete v="false" />
-  <titlePlural>Activites</titlePlural>
+  <titlePlural>Activities</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index b93533604a..4456bbd1de 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -786,9 +786,6 @@
     <entry>
       <key>February</key>
     </entry>
-    <entry>
-      <key>Abomodel</key>
-    </entry>
     <entry>
       <key>Confirmed</key>
     </entry>
@@ -2169,24 +2166,12 @@
     <entry>
       <key>New appointment</key>
     </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
     <entry>
       <key>Other Contactroles</key>
     </entry>
     <entry>
       <key>OK</key>
     </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
-    </entry>
     <entry>
       <key>normal</key>
     </entry>
@@ -2235,12 +2220,6 @@
     <entry>
       <key>Marketing</key>
     </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
     <entry>
       <key>${QUANTITY_LOWER_THAN_1}</key>
     </entry>
@@ -3300,21 +3279,12 @@
     <entry>
       <key>Price Condition</key>
     </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
     <entry>
       <key>Possible Value</key>
     </entry>
     <entry>
       <key>Could not determine the current Classification type (usage).</key>
     </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
     <entry>
       <key>Campaign planning</key>
     </entry>
@@ -4482,9 +4452,6 @@
     <entry>
       <key>no valid phone number</key>
     </entry>
-    <entry>
-      <key>EntityToFilterParam</key>
-    </entry>
     <entry>
       <key>Sender</key>
     </entry>
@@ -4806,12 +4773,6 @@
     <entry>
       <key>Cancellation</key>
     </entry>
-    <entry>
-      <key>Vacation examination by</key>
-    </entry>
-    <entry>
-      <key>Vacation approval by</key>
-    </entry>
     <entry>
       <key>Credit</key>
     </entry>
@@ -4839,9 +4800,6 @@
     <entry>
       <key>HTML template - Only for .html</key>
     </entry>
-    <entry>
-      <key>Plaintext template - Only for .txt and .html</key>
-    </entry>
     <entry>
       <key>Use template attachments</key>
     </entry>
@@ -4863,9 +4821,6 @@
     <entry>
       <key>Private person</key>
     </entry>
-    <entry>
-      <key>Displays the amounts of my personal forecast and the turnover I have already made</key>
-    </entry>
     <entry>
       <key>My Keyfigures</key>
     </entry>
@@ -5013,9 +4968,6 @@
     <entry>
       <key>Ignore whole Cluster</key>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nFunktion und Organisation neu angelegt</key>
-    </entry>
     <entry>
       <key>Has sales approved this step?</key>
     </entry>
@@ -5183,9 +5135,6 @@
     <entry>
       <key>Duplicate</key>
     </entry>
-    <entry>
-      <key>Is ID field</key>
-    </entry>
     <entry>
       <key>Import date</key>
     </entry>
@@ -5264,18 +5213,9 @@
     <entry>
       <key>Info (Contact)</key>
     </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Data could not be imported.</key>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion neu angelegt</key>
-    </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson und Funktion neu angelegt</key>
-    </entry>
     <entry>
       <key>Duplicate status</key>
     </entry>
@@ -5285,15 +5225,9 @@
     <entry>
       <key>Transfer data</key>
     </entry>
-    <entry>
-      <key>Organisation und Person schon vorhanden\nFunktion neu angelegt</key>
-    </entry>
     <entry>
       <key>Ignore daily series</key>
     </entry>
-    <entry>
-      <key>Max results threshold</key>
-    </entry>
     <entry>
       <key>Import Fields</key>
     </entry>
@@ -5342,9 +5276,6 @@
     <entry>
       <key>Import canceled</key>
     </entry>
-    <entry>
-      <key>CSV benötigt</key>
-    </entry>
     <entry>
       <key>Internal (2)</key>
     </entry>
@@ -5354,45 +5285,24 @@
     <entry>
       <key>Import user</key>
     </entry>
-    <entry>
-      <key>Person neu angelegt\nOrganisation mögliche Dublette</key>
-    </entry>
     <entry>
       <key> Info</key>
     </entry>
     <entry>
       <key>Contact Owner</key>
     </entry>
-    <entry>
-      <key>Zeilen verarbeitet</key>
-    </entry>
-    <entry>
-      <key>Organisation und Person mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Import name</key>
     </entry>
     <entry>
       <key>Entity field name</key>
     </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
     <entry>
       <key>Salesproject source Id</key>
     </entry>
-    <entry>
-      <key>yearly series not specified</key>
-    </entry>
-    <entry>
-      <key>Organisation oder Person neu angelegt</key>
-    </entry>
     <entry>
       <key>Data imported.</key>
     </entry>
-    <entry>
-      <key>Organisation neu angelegt\nPerson mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Info (Company)</key>
     </entry>
@@ -5402,18 +5312,9 @@
     <entry>
       <key>Möglicherweise ist ein Import-Feld zu groß für das Zielfeld.</key>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nOrganisation mögliche Dublette</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
     <entry>
       <key>Record separator</key>
     </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
     <entry>
       <key>Culture, Sport and Leisure</key>
     </entry>
@@ -5468,9 +5369,6 @@
     <entry>
       <key>Lead preview</key>
     </entry>
-    <entry>
-      <key>No duplicate</key>
-    </entry>
     <entry>
       <key>Standard city</key>
     </entry>
@@ -5495,9 +5393,6 @@
     <entry>
       <key>Internet</key>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion schon vorhanden</key>
-    </entry>
     <entry>
       <key>Negotiations</key>
     </entry>
@@ -5648,9 +5543,6 @@
     <entry>
       <key>unknown</key>
     </entry>
-    <entry>
-      <key>series delete action</key>
-    </entry>
     <entry>
       <key>Choose a campaign and a step to add the contact to a  campaign</key>
     </entry>
@@ -5690,9 +5582,6 @@
     <entry>
       <key>Evaluation</key>
     </entry>
-    <entry>
-      <key>not started</key>
-    </entry>
     <entry>
       <key>cancelled</key>
     </entry>
@@ -5705,9 +5594,6 @@
     <entry>
       <key>booked</key>
     </entry>
-    <entry>
-      <key>off-site</key>
-    </entry>
     <entry>
       <key>Recipt</key>
     </entry>
@@ -5717,9 +5603,6 @@
     <entry>
       <key>Select user</key>
     </entry>
-    <entry>
-      <key>beschränken</key>
-    </entry>
     <entry>
       <key>confirmed</key>
     </entry>
@@ -5744,9 +5627,6 @@
     <entry>
       <key>Tasks of</key>
     </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
     <entry>
       <key>delegated</key>
     </entry>
@@ -5759,9 +5639,6 @@
     <entry>
       <key>deferred</key>
     </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
     <entry>
       <key>Error when reading the file!</key>
     </entry>
@@ -5777,15 +5654,9 @@
     <entry>
       <key>Campaign steps </key>
     </entry>
-    <entry>
-      <key>No transfer of private tasks possible!</key>
-    </entry>
     <entry>
       <key>No authorization to postpone the task</key>
     </entry>
-    <entry>
-      <key>LinkedIn</key>
-    </entry>
     <entry>
       <key>low</key>
     </entry>
@@ -5828,15 +5699,9 @@
     <entry>
       <key>Your changes may have an impact on the data privacy information (GDPR).\n Please update these.</key>
     </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
     <entry>
       <key>Owner</key>
     </entry>
-    <entry>
-      <key>Download Process</key>
-    </entry>
     <entry>
       <key>BPMN</key>
     </entry>
@@ -5879,9 +5744,6 @@
     <entry>
       <key>Manually</key>
     </entry>
-    <entry>
-      <key>Export process</key>
-    </entry>
     <entry>
       <key>To check</key>
     </entry>
@@ -5897,9 +5759,6 @@
     <entry>
       <key>SqlBuilder: The provided values object for updateFields is invalid or is not an object.</key>
     </entry>
-    <entry>
-      <key>Weitere Kontakte</key>
-    </entry>
     <entry>
       <key>Task done</key>
     </entry>
@@ -5915,18 +5774,12 @@
     <entry>
       <key>Permission procurer</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: AB_PERMISSIONCALENDARID or UID and OBJECT_TYPE and PERMISSIONDEALER_ID is not set.</key>
-    </entry>
     <entry>
       <key>Workflow signal</key>
     </entry>
     <entry>
       <key>Signals</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: PERMISSION is not set.</key>
-    </entry>
     <entry>
       <key>AddAction</key>
     </entry>
@@ -5954,9 +5807,6 @@
     <entry>
       <key>Permission Dealer</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onInsert: This operation isn't allowed.</key>
-    </entry>
     <entry>
       <key>LimitedReadPermission</key>
     </entry>
@@ -5966,9 +5816,6 @@
     <entry>
       <key>Permission Dealer User</key>
     </entry>
-    <entry>
-      <key>Berechtigungen</key>
-    </entry>
     <entry>
       <key>Claim task</key>
     </entry>
@@ -5987,15 +5834,9 @@
     <entry>
       <key>Calendar Permission</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onDelete: This operation isn't allowed.</key>
-    </entry>
     <entry>
       <key>Claim date</key>
     </entry>
-    <entry>
-      <key>Auf eigenen Benutzer kann keine Berechtigung gesetzt werden!</key>
-    </entry>
     <entry>
       <key>You can't set a permission to yourself!</key>
     </entry>
@@ -6065,9 +5906,6 @@
     <entry>
       <key>Field and Position</key>
     </entry>
-    <entry>
-      <key>AExport fields of this table</key>
-    </entry>
     <entry>
       <key>Place of Use</key>
     </entry>
@@ -6158,9 +5996,6 @@
     <entry>
       <key>Complete tasks</key>
     </entry>
-    <entry>
-      <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key>
-    </entry>
     <entry>
       <key>show visit planning of the week</key>
     </entry>
@@ -6242,9 +6077,6 @@
     <entry>
       <key>Send email</key>
     </entry>
-    <entry>
-      <key>Activites</key>
-    </entry>
     <entry>
       <key>Dispatch as mail</key>
     </entry>
@@ -6317,15 +6149,6 @@
     <entry>
       <key>Visit Recommendations</key>
     </entry>
-    <entry>
-      <key>Besuchsreport erstellt</key>
-    </entry>
-    <entry>
-      <key>geplant</key>
-    </entry>
-    <entry>
-      <key>Termin vereinbart</key>
-    </entry>
     <entry>
       <key>Contactreport</key>
     </entry>
@@ -6374,9 +6197,6 @@
     <entry>
       <key>Parallel gateway</key>
     </entry>
-    <entry>
-      <key>Intermediate throwing event</key>
-    </entry>
     <entry>
       <key>End event</key>
     </entry>
@@ -6395,9 +6215,6 @@
     <entry>
       <key>User task</key>
     </entry>
-    <entry>
-      <key>Intermediate catching event</key>
-    </entry>
     <entry>
       <key>Business rule task</key>
     </entry>
@@ -6518,18 +6335,12 @@
     <entry>
       <key>Archive</key>
     </entry>
-    <entry>
-      <key>BOOL VALUE</key>
-    </entry>
     <entry>
       <key>Support ticket</key>
     </entry>
     <entry>
       <key>Type</key>
     </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
     <entry>
       <key>Senden per E-Mail</key>
     </entry>
@@ -6587,36 +6398,21 @@
     <entry>
       <key>Linked in</key>
     </entry>
-    <entry>
-      <key>Mahnung</key>
-    </entry>
     <entry>
       <key>Lead Imports</key>
     </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
     <entry>
       <key>No Standard-E-Mail available!</key>
     </entry>
     <entry>
       <key>Leadimport</key>
     </entry>
-    <entry>
-      <key>EXPORTTEMPLATE.FIELDLIMITER</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
     <entry>
       <key>Relation type 1</key>
     </entry>
     <entry>
       <key>Relation type 2</key>
     </entry>
-    <entry>
-      <key>Nicht begonnen</key>
-    </entry>
     <entry>
       <key>task number</key>
     </entry>
@@ -6626,30 +6422,18 @@
     <entry>
       <key>hoch</key>
     </entry>
-    <entry>
-      <key>Export coloumns using a exporttemplate</key>
-    </entry>
     <entry>
       <key>QuickEntry</key>
     </entry>
     <entry>
       <key>Leadimports</key>
     </entry>
-    <entry>
-      <key>keine Standard-E-Mail Büro vorhanden !</key>
-    </entry>
     <entry>
       <key>Entry date</key>
     </entry>
     <entry>
       <key>Relation type</key>
     </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
     <entry>
       <key>Leadimport Reset</key>
     </entry>
@@ -6659,24 +6443,12 @@
     <entry>
       <key>finished</key>
     </entry>
-    <entry>
-      <key>EA private task cannot be assigned to somebody else.</key>
-    </entry>
-    <entry>
-      <key>Ein Fehler ist aufgetreten beim Import dieses Datensatzes:\n</key>
-    </entry>
     <entry>
       <key>tentative</key>
     </entry>
     <entry>
       <key>Nein</key>
     </entry>
-    <entry>
-      <key>Termine von</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
     <entry>
       <key>Caimpaignsteps</key>
     </entry>
@@ -6701,9 +6473,6 @@
     <entry>
       <key>Not created yet</key>
     </entry>
-    <entry>
-      <key>ankle of</key>
-    </entry>
     <entry>
       <key>New Visit Recommendation</key>
     </entry>
@@ -6821,24 +6590,12 @@
     <entry>
       <key>0-50</key>
     </entry>
-    <entry>
-      <key>Till Score</key>
-    </entry>
     <entry>
       <key>251-1000</key>
     </entry>
-    <entry>
-      <key>ab 1000</key>
-    </entry>
     <entry>
       <key>Full Permissions</key>
     </entry>
-    <entry>
-      <key>200-349 T€</key>
-    </entry>
-    <entry>
-      <key>100-199 T€</key>
-    </entry>
     <entry>
       <key>Full permissions already assigned</key>
     </entry>
@@ -6848,24 +6605,12 @@
     <entry>
       <key>Import Daten</key>
     </entry>
-    <entry>
-      <key>ab 350 T€</key>
-    </entry>
-    <entry>
-      <key>0-49 T€</key>
-    </entry>
     <entry>
       <key>Grading</key>
     </entry>
     <entry>
       <key>Import Logs</key>
     </entry>
-    <entry>
-      <key>Transferdaten</key>
-    </entry>
-    <entry>
-      <key>50-99 T€</key>
-    </entry>
     <entry>
       <key>101-250</key>
     </entry>
@@ -6881,21 +6626,12 @@
     <entry>
       <key>yellow</key>
     </entry>
-    <entry>
-      <key>Borrow</key>
-    </entry>
     <entry>
       <key>Is unlinked activity</key>
     </entry>
-    <entry>
-      <key>Fantasy</key>
-    </entry>
     <entry>
       <key>Extend</key>
     </entry>
-    <entry>
-      <key>Krimi</key>
-    </entry>
     <entry>
       <key>red</key>
     </entry>
@@ -6905,9 +6641,6 @@
     <entry>
       <key>green</key>
     </entry>
-    <entry>
-      <key>Actionthriller</key>
-    </entry>
     <entry>
       <key>No new recipients found that can be added to the bulk mail.</key>
     </entry>
@@ -6926,9 +6659,6 @@
     <entry>
       <key>export</key>
     </entry>
-    <entry>
-      <key>export using the selected  template</key>
-    </entry>
     <entry>
       <key>No new recipients found that can be added to the serial letter.</key>
     </entry>
@@ -6956,9 +6686,6 @@
     <entry>
       <key>Permission received</key>
     </entry>
-    <entry>
-      <key>leadimport notification</key>
-    </entry>
     <entry>
       <key>granted permission</key>
     </entry>
@@ -7004,9 +6731,6 @@
     <entry>
       <key>Archived</key>
     </entry>
-    <entry>
-      <key>asdf</key>
-    </entry>
     <entry>
       <key>Settings</key>
     </entry>
@@ -7046,9 +6770,6 @@
     <entry>
       <key>favorties</key>
     </entry>
-    <entry>
-      <key>Gruppenname</key>
-    </entry>
     <entry>
       <key>Password must contain special characters</key>
     </entry>
@@ -7094,9 +6815,6 @@
     <entry>
       <key>Refresh</key>
     </entry>
-    <entry>
-      <key>Run ServerProcess</key>
-    </entry>
     <entry>
       <key>SELECTION_NEITHER</key>
     </entry>
@@ -7124,9 +6842,6 @@
     <entry>
       <key>Password must contain spaces</key>
     </entry>
-    <entry>
-      <key>The use of any of your previous %0 passwords is prohibited</key>
-    </entry>
     <entry>
       <key>export using the selected template</key>
     </entry>
@@ -7151,9 +6866,6 @@
     <entry>
       <key>Output value</key>
     </entry>
-    <entry>
-      <key>Enddatum</key>
-    </entry>
     <entry>
       <key>Startdatum</key>
     </entry>
@@ -7193,9 +6905,6 @@
     <entry>
       <key>Run Serverprocess</key>
     </entry>
-    <entry>
-      <key>ab 350 D€</key>
-    </entry>
     <entry>
       <key>200-349 D€</key>
     </entry>
@@ -7214,12 +6923,6 @@
     <entry>
       <key>Points</key>
     </entry>
-    <entry>
-      <key>OLDACTION</key>
-    </entry>
-    <entry>
-      <key>Run Upgrade Serverprocess</key>
-    </entry>
     <entry>
       <key>Child Attributes</key>
     </entry>
@@ -7310,9 +7013,6 @@
     <entry>
       <key>Nr</key>
     </entry>
-    <entry>
-      <key>Verantwortlicher</key>
-    </entry>
     <entry>
       <key>Userhelp Ressources</key>
     </entry>
@@ -7371,24 +7071,12 @@
     <entry>
       <key>%0 of the chosen records are already recipients.</key>
     </entry>
-    <entry>
-      <key>Set missing address locations</key>
-    </entry>
-    <entry>
-      <key>Set all address locations</key>
-    </entry>
     <entry>
       <key>Shows the number of Activities of the Grouped Fields</key>
     </entry>
-    <entry>
-      <key>The status of the offer was changed to \"sent\".</key>
-    </entry>
     <entry>
       <key>Sales Staff Activity</key>
     </entry>
-    <entry>
-      <key>Titel</key>
-    </entry>
     <entry>
       <key>Month</key>
     </entry>
@@ -7398,15 +7086,9 @@
     <entry>
       <key>Shows the different conversion rates of the sales project phases</key>
     </entry>
-    <entry>
-      <key>FavoriteFilter_view</key>
-    </entry>
     <entry>
       <key>Salesproject Convertion Rates</key>
     </entry>
-    <entry>
-      <key>The status of the order was changed to \"sent\".</key>
-    </entry>
     <entry>
       <key>Conversion Rate</key>
     </entry>
@@ -7458,6 +7140,108 @@
     <entry>
       <key>Phone number (Person)</key>
     </entry>
+    <entry>
+      <key>Date must not be in the future</key>
+    </entry>
+    <entry>
+      <key>Date (Month)</key>
+    </entry>
+    <entry>
+      <key>Current Recipients</key>
+    </entry>
+    <entry>
+      <key>Date (Year)</key>
+    </entry>
+    <entry>
+      <key>Grant new User Permission</key>
+    </entry>
+    <entry>
+      <key>Date (Day)</key>
+    </entry>
+    <entry>
+      <key>BOOL VALUE</key>
+    </entry>
+    <entry>
+      <key>more contacts</key>
+    </entry>
+    <entry>
+      <key>Seite</key>
+    </entry>
+    <entry>
+      <key>from 350 €</key>
+    </entry>
+    <entry>
+      <key>from 1000</key>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+    </entry>
+    <entry>
+      <key>Intermediate catching event</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>LinkedIn</key>
+    </entry>
+    <entry>
+      <key>Groupname</key>
+    </entry>
+    <entry>
+      <key>No duplicate</key>
+    </entry>
+    <entry>
+      <key>Vacation examination by</key>
+    </entry>
+    <entry>
+      <key>0-49 €</key>
+    </entry>
+    <entry>
+      <key>100-199 €</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Intermediate throwing event</key>
+    </entry>
+    <entry>
+      <key>50-99 €</key>
+    </entry>
+    <entry>
+      <key>Enddate</key>
+    </entry>
+    <entry>
+      <key>200-349 €</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>Startdate</key>
+    </entry>
+    <entry>
+      <key>Vacation approval by</key>
+    </entry>
+    <entry>
+      <key>File from this template could not be found anymore.</key>
+    </entry>
+    <entry>
+      <key>allow</key>
+    </entry>
+    <entry>
+      <key>field</key>
+    </entry>
+    <entry>
+      <key>restrict</key>
+    </entry>
+    <entry>
+      <key>dataset</key>
+    </entry>
+    <entry>
+      <key>entity</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 3ca1a4994f..ba1f8173d9 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -40,6 +40,7 @@
     </entry>
     <entry>
       <key>Finished</key>
+      <value>Fertig</value>
     </entry>
     <entry>
       <key>Show my organisations</key>
@@ -134,6 +135,7 @@
     </entry>
     <entry>
       <key>Maximal</key>
+      <value>Maximal</value>
     </entry>
     <entry>
       <key>Sender address</key>
@@ -709,6 +711,7 @@
     </entry>
     <entry>
       <key>Edit workflow</key>
+      <value>Workflow editieren</value>
     </entry>
     <entry>
       <key>Date of request</key>
@@ -1153,6 +1156,7 @@
     </entry>
     <entry>
       <key>Liter</key>
+      <value>Liter</value>
     </entry>
     <entry>
       <key>Key account</key>
@@ -1348,6 +1352,7 @@
     </entry>
     <entry>
       <key>Standard</key>
+      <value>Standard</value>
     </entry>
     <entry>
       <key>I / O</key>
@@ -1562,6 +1567,7 @@
     </entry>
     <entry>
       <key>Option4</key>
+      <value>Option4</value>
     </entry>
     <entry>
       <key>Offers</key>
@@ -1569,12 +1575,15 @@
     </entry>
     <entry>
       <key>Option3</key>
+      <value>Option3</value>
     </entry>
     <entry>
       <key>Option2</key>
+      <value>Option2</value>
     </entry>
     <entry>
       <key>Option1</key>
+      <value>Option1</value>
     </entry>
     <entry>
       <key>Countries</key>
@@ -1582,6 +1591,7 @@
     </entry>
     <entry>
       <key>Options</key>
+      <value>Optionen</value>
     </entry>
     <entry>
       <key>Total gross</key>
@@ -1829,12 +1839,15 @@
     </entry>
     <entry>
       <key>Pos.</key>
+      <value>Pos.</value>
     </entry>
     <entry>
       <key>ISO 3166-1 alpha-3</key>
+      <value>ISO 3166-1 alpha-3</value>
     </entry>
     <entry>
       <key>ISO 3166-1 alpha-2</key>
+      <value>ISO 3166-1 alpha-2</value>
     </entry>
     <entry>
       <key>Field staff</key>
@@ -2839,6 +2852,7 @@
     </entry>
     <entry>
       <key>jdito</key>
+      <value>jdito</value>
     </entry>
     <entry>
       <key>Ireland</key>
@@ -3110,6 +3124,7 @@
     </entry>
     <entry>
       <key>Minimal</key>
+      <value>Minimal</value>
     </entry>
     <entry>
       <key>Vanuatu</key>
@@ -3615,18 +3630,23 @@
     </entry>
     <entry>
       <key>MAL</key>
+      <value>MAL</value>
     </entry>
     <entry>
       <key>SQO</key>
+      <value>SQO</value>
     </entry>
     <entry>
       <key>NQC</key>
+      <value>NQC</value>
     </entry>
     <entry>
       <key>MQL</key>
+      <value>MQL</value>
     </entry>
     <entry>
       <key>SAL</key>
+      <value>SAL</value>
     </entry>
     <entry>
       <key>Syrian Arab Republic</key>
@@ -3658,9 +3678,11 @@
     </entry>
     <entry>
       <key>Name \"%0\" already used for container \"%1\"</key>
+      <value>Name \"%0\" wird bereits für Container \"%1\" "benutzt</value>
     </entry>
     <entry>
       <key>CHAR_VALUE</key>
+      <value>CHAR_VALUE</value>
     </entry>
     <entry>
       <key>Keyword Attribute</key>
@@ -3712,6 +3734,7 @@
     </entry>
     <entry>
       <key>relations</key>
+      <value>Beziehungen</value>
     </entry>
     <entry>
       <key>Time</key>
@@ -3746,6 +3769,7 @@
     </entry>
     <entry>
       <key>Mobil</key>
+      <value>Handy</value>
     </entry>
     <entry>
       <key>25%</key>
@@ -3758,6 +3782,7 @@
     </entry>
     <entry>
       <key>no keyword attribute \"%0\" found in keyword container \"%1\"</key>
+      <value>Kein Schlüsselwortattribut \"%0\" gefunden in Schlüsselwortcontainer \"%1\"</value>
     </entry>
     <entry>
       <key>competitor</key>
@@ -3856,6 +3881,7 @@
     </entry>
     <entry>
       <key>MQC</key>
+      <value>MQC</value>
     </entry>
     <entry>
       <key>France</key>
@@ -3879,6 +3905,7 @@
     </entry>
     <entry>
       <key>CIF</key>
+      <value>CIF</value>
     </entry>
     <entry>
       <key>ex works</key>
@@ -3900,38 +3927,21 @@
       <key>Contactrole</key>
       <value>Funktion</value>
     </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
     <entry>
       <key>Other Contactroles</key>
       <value>Weitere Funktionen</value>
     </entry>
     <entry>
       <key>OK</key>
-    </entry>
-    <entry>
-      <key>Nicht begonnen</key>
+      <value>OK</value>
     </entry>
     <entry>
       <key>True</key>
       <value>Ja</value>
     </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
     <entry>
       <key>hoch</key>
-      <value></value>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
+      <value>hoch</value>
     </entry>
     <entry>
       <key>Username</key>
@@ -3939,9 +3949,7 @@
     </entry>
     <entry>
       <key>normal</key>
-    </entry>
-    <entry>
-      <key>Termine von</key>
+      <value>Normal</value>
     </entry>
     <entry>
       <key>Product content</key>
@@ -4025,6 +4033,7 @@
     </entry>
     <entry>
       <key>CSO</key>
+      <value>Vertriebsvorstand</value>
     </entry>
     <entry>
       <key>Executive board</key>
@@ -4100,6 +4109,7 @@
     </entry>
     <entry>
       <key>Chart</key>
+      <value>Diagram</value>
     </entry>
     <entry>
       <key>Pending</key>
@@ -4143,6 +4153,7 @@
     </entry>
     <entry>
       <key>Successful</key>
+      <value>Erfolgreich</value>
     </entry>
     <entry>
       <key>Enable relation type 2</key>
@@ -4150,6 +4161,7 @@
     </entry>
     <entry>
       <key>Salesproject Analyses</key>
+      <value>Vertriebsprojektanalysen</value>
     </entry>
     <entry>
       <key>Days count</key>
@@ -4169,18 +4181,23 @@
     </entry>
     <entry>
       <key>[%0]the tableName is not a string after interpreting</key>
+      <value>[%0]Der TabellenName ist nach dem interpretieren nicht vom Typ "string"</value>
     </entry>
     <entry>
       <key>[%0]%1 has to be a string or array but it is %2</key>
+      <value>[%0]%1 muss ein string oder ein array sein, ist aber %2</value>
     </entry>
     <entry>
       <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key>
+      <value>[%0]hat jetzt eine falsche Länge; Elemente erwartet: 2 aber stattdessen %1 bekommen</value>
     </entry>
     <entry>
       <key>[%0]the columnName is not a string after interpreting</key>
+      <value>[%0]Der Spaltenname ist nach dem interpretieren nicht vom Typ "string"</value>
     </entry>
     <entry>
       <key>[%0]%1 is an object but seems not to be a valid array or array-like</key>
+      <value>[%0]%1 ist vom typ "object" aber scheint kein valides array oder array-ähnlich zu sein</value>
     </entry>
     <entry>
       <key>Responsible</key>
@@ -4214,12 +4231,6 @@
       <key>In planning</key>
       <value>In Planung</value>
     </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
     <entry>
       <key>Added</key>
       <value>Hinzugefügt</value>
@@ -4301,6 +4312,7 @@
     </entry>
     <entry>
       <key>Id value</key>
+      <value>Id Wert</value>
     </entry>
     <entry>
       <key>Order executed</key>
@@ -4308,9 +4320,11 @@
     </entry>
     <entry>
       <key>Liquibase</key>
+      <value>Liquibase</value>
     </entry>
     <entry>
       <key>Number value</key>
+      <value>Zahlenwert</value>
     </entry>
     <entry>
       <key>Author</key>
@@ -4318,12 +4332,15 @@
     </entry>
     <entry>
       <key>Position Id</key>
+      <value>PositionsId</value>
     </entry>
     <entry>
       <key>ISO3</key>
+      <value>ISO3</value>
     </entry>
     <entry>
       <key>ISO2</key>
+      <value>ISO2</value>
     </entry>
     <entry>
       <key>Communication Id</key>
@@ -4335,6 +4352,7 @@
     </entry>
     <entry>
       <key>Modification user</key>
+      <value>Modifizierungsuser</value>
     </entry>
     <entry>
       <key>Headline</key>
@@ -4346,12 +4364,15 @@
     </entry>
     <entry>
       <key>Salesproject milestone Id</key>
+      <value>VertriebsprojektsmeilensteinId</value>
     </entry>
     <entry>
       <key>Appointment Id</key>
+      <value>Termin Id</value>
     </entry>
     <entry>
       <key>Locked</key>
+      <value>Gelocked</value>
     </entry>
     <entry>
       <key>Timetracking Id</key>
@@ -4363,6 +4384,7 @@
     </entry>
     <entry>
       <key>NUMBER VALUE</key>
+      <value>Zahlenwert</value>
     </entry>
     <entry>
       <key>ID</key>
@@ -4382,6 +4404,7 @@
     </entry>
     <entry>
       <key>Object 1 row Id</key>
+      <value>Objekt 1 Row Id</value>
     </entry>
     <entry>
       <key>Side</key>
@@ -4389,6 +4412,7 @@
     </entry>
     <entry>
       <key>Salesproject Id</key>
+      <value>VertriebsprojektId</value>
     </entry>
     <entry>
       <key>Product Id</key>
@@ -4407,6 +4431,7 @@
     </entry>
     <entry>
       <key>Maximal count</key>
+      <value>Maximale Anzahl</value>
     </entry>
     <entry>
       <key>Data executed</key>
@@ -4418,6 +4443,7 @@
     </entry>
     <entry>
       <key>Appointment link Id</key>
+      <value>Terminverknüpfungs Id</value>
     </entry>
     <entry>
       <key>Relation Type</key>
@@ -4441,6 +4467,7 @@
     </entry>
     <entry>
       <key>Object 2 row Id</key>
+      <value>Objekt 2 Row Id</value>
     </entry>
     <entry>
       <key>Source tablename Id</key>
@@ -4460,9 +4487,11 @@
     </entry>
     <entry>
       <key>Parent Id</key>
+      <value>Übergeordnete Id</value>
     </entry>
     <entry>
       <key>Task link Id</key>
+      <value>AufgabenverknüpfungsId</value>
     </entry>
     <entry>
       <key>Keyword attribute Id</key>
@@ -4470,9 +4499,11 @@
     </entry>
     <entry>
       <key>Log type</key>
+      <value>Logtyp</value>
     </entry>
     <entry>
       <key>Object row Id</key>
+      <value>Objekt Row Id</value>
     </entry>
     <entry>
       <key>Labels</key>
@@ -4500,6 +4531,7 @@
     </entry>
     <entry>
       <key>Name native</key>
+      <value>Name Muttersprache</value>
     </entry>
     <entry>
       <key>Flag</key>
@@ -4515,6 +4547,7 @@
     </entry>
     <entry>
       <key>Sex</key>
+      <value>Geschlecht</value>
     </entry>
     <entry>
       <key>Product price Id</key>
@@ -4526,21 +4559,27 @@
     </entry>
     <entry>
       <key>Object Relation Type</key>
+      <value>Objektrelationstyp</value>
     </entry>
     <entry>
       <key>Entry date</key>
+      <value>Eintrittsdatum</value>
     </entry>
     <entry>
       <key>Object relation type 2</key>
+      <value>Objektrelationstyp 2</value>
     </entry>
     <entry>
       <key>Object relation type 1</key>
+      <value>Objektrelationstyp 1</value>
     </entry>
     <entry>
       <key>Modification date</key>
+      <value>Modifizierungsdaten</value>
     </entry>
     <entry>
       <key>Object Type</key>
+      <value>Objekttyp</value>
     </entry>
     <entry>
       <key>%0 from \"%1\" to \"%2\"</key>
@@ -4548,6 +4587,7 @@
     </entry>
     <entry>
       <key>MD5 Sum</key>
+      <value>MD5 Summe</value>
     </entry>
     <entry>
       <key>Letter salutation</key>
@@ -4555,6 +4595,7 @@
     </entry>
     <entry>
       <key>Lock granted</key>
+      <value>Lock gewährt</value>
     </entry>
     <entry>
       <key>Required fields</key>
@@ -4574,9 +4615,11 @@
     </entry>
     <entry>
       <key>LogHistory</key>
+      <value>Loghistorie</value>
     </entry>
     <entry>
       <key>Locked by</key>
+      <value>Gelocked durch</value>
     </entry>
     <entry>
       <key>Salutation Id</key>
@@ -4588,6 +4631,7 @@
     </entry>
     <entry>
       <key>Task Id</key>
+      <value>AufgabenId</value>
     </entry>
     <entry>
       <key>Valid to</key>
@@ -4595,6 +4639,7 @@
     </entry>
     <entry>
       <key>ZIP regex</key>
+      <value>Plz regex</value>
     </entry>
     <entry>
       <key>Keyword entry Id</key>
@@ -4602,6 +4647,7 @@
     </entry>
     <entry>
       <key>Stop costs</key>
+      <value>Stoppkosten</value>
     </entry>
     <entry>
       <key>Contexts</key>
@@ -4617,9 +4663,11 @@
     </entry>
     <entry>
       <key>Date start</key>
+      <value>Startdatum</value>
     </entry>
     <entry>
       <key>Deployment Id</key>
+      <value>Deployment Id</value>
     </entry>
     <entry>
       <key>Address format</key>
@@ -4627,6 +4675,7 @@
     </entry>
     <entry>
       <key>Activity link Id</key>
+      <value>Activity link Id</value>
     </entry>
     <entry>
       <key>Date end</key>
@@ -4634,10 +4683,11 @@
     </entry>
     <entry>
       <key>Creation user</key>
-      <value></value>
+      <value>Ersteller</value>
     </entry>
     <entry>
       <key>Object Id</key>
+      <value>Objekt Id</value>
     </entry>
     <entry>
       <key>Is active</key>
@@ -4662,6 +4712,7 @@
     </entry>
     <entry>
       <key>Tag</key>
+      <value>Tag</value>
     </entry>
     <entry>
       <key>Title suffix</key>
@@ -4669,6 +4720,7 @@
     </entry>
     <entry>
       <key>Step costs</key>
+      <value>Schrittkosten</value>
     </entry>
     <entry>
       <key>Please check if the Salesproject has all necessary information</key>
@@ -4684,9 +4736,11 @@
     </entry>
     <entry>
       <key>Stock Id</key>
+      <value>Lager Id</value>
     </entry>
     <entry>
       <key>Tablename</key>
+      <value>Tabellenname</value>
     </entry>
     <entry>
       <key>CHAR VALUE</key>
@@ -4699,6 +4753,7 @@
     </entry>
     <entry>
       <key>Parent context</key>
+      <value>Übergeordneter Kontext</value>
     </entry>
     <entry>
       <key>Linked Appointments</key>
@@ -4710,6 +4765,7 @@
     </entry>
     <entry>
       <key>Tablename Id</key>
+      <value>TabellennamenId</value>
     </entry>
     <entry>
       <key>rebuild Index</key>
@@ -4729,9 +4785,11 @@
     </entry>
     <entry>
       <key>Logs</key>
+      <value>Logs</value>
     </entry>
     <entry>
       <key>Mail</key>
+      <value>E-Mail</value>
     </entry>
     <entry>
       <key>Phonecall</key>
@@ -4743,6 +4801,7 @@
     </entry>
     <entry>
       <key>Log</key>
+      <value>Log</value>
     </entry>
     <entry>
       <key>Offer Header Text</key>
@@ -5049,6 +5108,7 @@
     </entry>
     <entry>
       <key>Start</key>
+      <value>Start</value>
     </entry>
     <entry>
       <key>End</key>
@@ -5100,6 +5160,7 @@
     </entry>
     <entry>
       <key>Permission Set ID</key>
+      <value>BerechtigungssetzId</value>
     </entry>
     <entry>
       <key>Create</key>
@@ -5119,6 +5180,7 @@
     </entry>
     <entry>
       <key>View</key>
+      <value>Ansicht</value>
     </entry>
     <entry>
       <key>Salutations</key>
@@ -5156,12 +5218,6 @@
       <key>Price Condition</key>
       <value>Preiskonditionen</value>
     </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
     <entry>
       <key>Possible Value</key>
       <value>Möglicher Wert</value>
@@ -5170,9 +5226,6 @@
       <key>Could not determine the current Classification type (usage).</key>
       <value>der aktuelle Klassifizierungstyp konnte nicht ermittelt werden</value>
     </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
     <entry>
       <key>Campaign planning</key>
       <value>Kampagnenplanung</value>
@@ -5522,6 +5575,7 @@
     </entry>
     <entry>
       <key>Support Tickets</key>
+      <value>Supporttickets</value>
     </entry>
     <entry>
       <key>Handcraft</key>
@@ -5849,6 +5903,7 @@
     </entry>
     <entry>
       <key>UID</key>
+      <value>UID</value>
     </entry>
     <entry>
       <key>ticket number</key>
@@ -5860,6 +5915,7 @@
     </entry>
     <entry>
       <key>DATE_NEW_CONTACT</key>
+      <value>Ersteller</value>
     </entry>
     <entry>
       <key>Icon</key>
@@ -5871,12 +5927,15 @@
     </entry>
     <entry>
       <key>PARENT_CONTEXT</key>
+      <value>PARENT_CONTEXT</value>
     </entry>
     <entry>
       <key>OFFER_ID</key>
+      <value>OFFER_ID</value>
     </entry>
     <entry>
       <key>SMS</key>
+      <value>SMS</value>
     </entry>
     <entry>
       <key>CAMPAIGNID (UID)</key>
@@ -5884,6 +5943,7 @@
     </entry>
     <entry>
       <key>PARENT_ID</key>
+      <value>PARENT_ID</value>
     </entry>
     <entry>
       <key>Interfaces</key>
@@ -5895,6 +5955,7 @@
     </entry>
     <entry>
       <key>ORGANISATIONID (UID)</key>
+      <value>ORGANISATIONID (UID)</value>
     </entry>
     <entry>
       <key>SALESORDER_ID</key>
@@ -5922,6 +5983,7 @@
     </entry>
     <entry>
       <key>TASKID (UID)</key>
+      <value>TASKID (UID)</value>
     </entry>
     <entry>
       <key>Fax</key>
@@ -5929,9 +5991,11 @@
     </entry>
     <entry>
       <key>DATE_EDIT</key>
+      <value>Bearbeitungsdatum</value>
     </entry>
     <entry>
       <key>OFFERID (UID)</key>
+      <value>OFFERID (UID)</value>
     </entry>
     <entry>
       <key>Connection Type</key>
@@ -5951,6 +6015,7 @@
     </entry>
     <entry>
       <key>ACTIVITYID (UID)</key>
+      <value>ACTIVITYID (UID)</value>
     </entry>
     <entry>
       <key>Issue</key>
@@ -5970,9 +6035,11 @@
     </entry>
     <entry>
       <key>DATE_NEW</key>
+      <value>Erstellungsdatum</value>
     </entry>
     <entry>
       <key>SALESPROJECTID (UID)</key>
+      <value>SALESPROJECTID (UID)</value>
     </entry>
     <entry>
       <key>ORGANISATION_ID</key>
@@ -5980,21 +6047,26 @@
     </entry>
     <entry>
       <key>CONTRACTID (UID)</key>
+      <value>CONTRACTID (UID)</value>
     </entry>
     <entry>
       <key>[%0]it was necessary to create a file from a blob-field but no lob-file-path was specified.</key>
+      <value>[%0]es war Notwendig eine Datei von einem blob-Feld zu erstellen aber es wurde kein lob-Dateipfad angegeben.</value>
     </entry>
     <entry>
       <key>SqlUtils.getSqlInStatement: if pAsPrepared is true, pPreparedDbType has to be filld with the correct db type</key>
     </entry>
     <entry>
       <key>[%0]it was necessary to create a text-file from a clob-field but no lob-file-path was specified.</key>
+      <value>[%0]es war Notwendig eine Textdatei von einem clob-Feld zu erstellen aber es wurde kein lob-Dateipfad angegeben.</value>
     </entry>
     <entry>
       <key>USER_NEW</key>
+      <value>USER_NEW</value>
     </entry>
     <entry>
       <key>USER_EDIT</key>
+      <value>USER_EDIT</value>
     </entry>
     <entry>
       <key>CONTACTID (UID)</key>
@@ -6010,6 +6082,7 @@
     </entry>
     <entry>
       <key>Support ticket</key>
+      <value>Supportticket</value>
     </entry>
     <entry>
       <key>Modul group</key>
@@ -6021,6 +6094,7 @@
     </entry>
     <entry>
       <key>no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"</key>
+      <value>Kein Schlüsselwortattribute \"%0\" gefunden in Schlüsselwort \"%1\" von Container \"%2\"</value>
     </entry>
     <entry>
       <key>SALESORDERID (UID)</key>
@@ -6040,6 +6114,7 @@
     </entry>
     <entry>
       <key>USER_NEW_CONTACT</key>
+      <value>USER_NEW_CONTACT</value>
     </entry>
     <entry>
       <key>All selected participants already are in the campaign</key>
@@ -6075,6 +6150,7 @@
     </entry>
     <entry>
       <key>Update</key>
+      <value>Update</value>
     </entry>
     <entry>
       <key>Blog</key>
@@ -6090,9 +6166,7 @@
     </entry>
     <entry>
       <key>Xing</key>
-    </entry>
-    <entry>
-      <key>LinkedIn</key>
+      <value>Xing</value>
     </entry>
     <entry>
       <key>%0 new recipients will be added to the serial letter.</key>
@@ -6279,14 +6353,13 @@
       <key>no valid phone number</key>
       <value>keine gültige Telefonnummer</value>
     </entry>
-    <entry>
-      <key>EntityToFilterParam</key>
-    </entry>
     <entry>
       <key>Sender</key>
+      <value>Sender</value>
     </entry>
     <entry>
       <key>parameter</key>
+      <value>Parameter</value>
     </entry>
     <entry>
       <key>Test DuplicateSearch</key>
@@ -6338,6 +6411,7 @@
     </entry>
     <entry>
       <key>Exec type</key>
+      <value>"Exec" Typ</value>
     </entry>
     <entry>
       <key>Permission Details</key>
@@ -6407,9 +6481,6 @@
       <key>Texts</key>
       <value>Texte</value>
     </entry>
-    <entry>
-      <key>keine Standard-E-Mail Büro vorhanden !</key>
-    </entry>
     <entry>
       <key>Choose payment address</key>
       <value>Zahlungsadresse auswählen</value>
@@ -6492,6 +6563,7 @@
     </entry>
     <entry>
       <key>Rech.-Betrag</key>
+      <value></value>
     </entry>
     <entry>
       <key>Order date</key>
@@ -6505,9 +6577,6 @@
       <key>Order amount</key>
       <value>Bestellmenge</value>
     </entry>
-    <entry>
-      <key>Mahnung</key>
-    </entry>
     <entry>
       <key>Due</key>
       <value>Fällig</value>
@@ -6522,6 +6591,7 @@
     </entry>
     <entry>
       <key>No duplicates allowed: action '</key>
+      <value>Keine Duplikate erlaubt: Aktion '</value>
     </entry>
     <entry>
       <key>Empty actions are not allowed!</key>
@@ -6549,6 +6619,7 @@
     </entry>
     <entry>
       <key>This error should never appear - contact administrator (PermissionDetail_entity.PermissionAction.onValidation).</key>
+      <value>Dieser Fehler sollte nie erscheinen - kontaktieren sie einen Administrator (PermissionDetail_entity.PermissionAction.onValidation).</value>
     </entry>
     <entry>
       <key>Empty actions are invalid!</key>
@@ -6588,6 +6659,7 @@
     </entry>
     <entry>
       <key>Sender: %0</key>
+      <value>Sender: %0</value>
     </entry>
     <entry>
       <key>Offer Id</key>
@@ -6617,6 +6689,7 @@
     </entry>
     <entry>
       <key>Name latin</key>
+      <value>Name Latein</value>
     </entry>
     <entry>
       <key>Order confirmation</key>
@@ -6638,12 +6711,6 @@
       <key>Cancellation</key>
       <value>Stornierung</value>
     </entry>
-    <entry>
-      <key>Vacation examination by</key>
-    </entry>
-    <entry>
-      <key>Vacation approval by</key>
-    </entry>
     <entry>
       <key>Credit</key>
       <value>Gutschrift</value>
@@ -6662,6 +6729,7 @@
     </entry>
     <entry>
       <key>Wrong filetype for the current document template type and classification.</key>
+      <value>Falscher Dateityp für den derzeitigen dokumentenvorlagentyp und Klassifizierung.</value>
     </entry>
     <entry>
       <key>Use template attachments</key>
@@ -6679,9 +6747,6 @@
       <key>Preview</key>
       <value>Vorschau</value>
     </entry>
-    <entry>
-      <key>Plaintext template - Only for .txt and .html</key>
-    </entry>
     <entry>
       <key>Action not supported</key>
       <value>Aktion wird nicht unterstützt</value>
@@ -6765,9 +6830,11 @@
     </entry>
     <entry>
       <key>The contract number already exists!</key>
+      <value>Die Vertragsnummer existiert bereits!</value>
     </entry>
     <entry>
       <key>Morocco</key>
+      <value>Marokko</value>
     </entry>
     <entry>
       <key>Colombia</key>
@@ -6811,21 +6878,23 @@
     </entry>
     <entry>
       <key>Salesproject forecast Id</key>
+      <value>Vertriebsprojekt VorhersagenId</value>
     </entry>
     <entry>
       <key>Everyone</key>
+      <value>Alle</value>
     </entry>
     <entry>
       <key>Salesproject member Id</key>
+      <value>VertriebsprojektsteilnehmerId</value>
     </entry>
     <entry>
       <key>Edit</key>
+      <value>Editieren</value>
     </entry>
     <entry>
       <key>task number</key>
-    </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
+      <value>Afgabennummer</value>
     </entry>
     <entry>
       <key>in process</key>
@@ -6833,6 +6902,7 @@
     </entry>
     <entry>
       <key>Salesproject competition Id</key>
+      <value>VertriebsprojektmitbewerberId</value>
     </entry>
     <entry>
       <key>Ignore series</key>
@@ -6844,6 +6914,7 @@
     </entry>
     <entry>
       <key>To buildingnumber</key>
+      <value>Bis hausnummer</value>
     </entry>
     <entry>
       <key>Ignore daily series</key>
@@ -6853,11 +6924,9 @@
       <key>From buildingnumber</key>
       <value>ab Hausnummer</value>
     </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
     <entry>
       <key>Resource</key>
+      <value>Resource</value>
     </entry>
     <entry>
       <key>Internal (2)</key>
@@ -6865,24 +6934,15 @@
     </entry>
     <entry>
       <key>Set campaign step</key>
-    </entry>
-    <entry>
-      <key>Bug Ticket</key>
+      <value>kampagnenschritt setzen</value>
     </entry>
     <entry>
       <key>Salesproject source Id</key>
-    </entry>
-    <entry>
-      <key>yearly series not specified</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
+      <value>VertriebsprojektquellenId</value>
     </entry>
     <entry>
       <key>participants will be added to the selected campaign step</key>
+      <value>Teilnehmer werden dem ausgewähltem Kampagnenschritt hinzugefügt.</value>
     </entry>
     <entry>
       <key>yyyyMMdd</key>
@@ -6893,14 +6953,12 @@
     </entry>
     <entry>
       <key>closed</key>
+      <value>geschlossen</value>
     </entry>
     <entry>
       <key>Internet</key>
       <value>Internet</value>
     </entry>
-    <entry>
-      <key>Displays the amounts of my personal forecast and the turnover I have already made</key>
-    </entry>
     <entry>
       <key>My Keyfigures</key>
       <value>Mein Umsatz und Forecast</value>
@@ -6999,14 +7057,12 @@
     </entry>
     <entry>
       <key>Ignore whole Cluster</key>
+      <value>ganzen Cluster ignorieren</value>
     </entry>
     <entry>
       <key>Data block size</key>
       <value>Datenblockgröße</value>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nFunktion und Organisation neu angelegt</key>
-    </entry>
     <entry>
       <key>Import Date</key>
       <value>Import Datum</value>
@@ -7017,6 +7073,7 @@
     </entry>
     <entry>
       <key>Standard mail</key>
+      <value>Standard E-Mailadresse</value>
     </entry>
     <entry>
       <key>Field delimiter</key>
@@ -7072,6 +7129,7 @@
     </entry>
     <entry>
       <key>Standard street</key>
+      <value>Standardstraße</value>
     </entry>
     <entry>
       <key>Importer created</key>
@@ -7091,9 +7149,11 @@
     </entry>
     <entry>
       <key>CRLF</key>
+      <value>CRLF</value>
     </entry>
     <entry>
       <key>Accept 1st line</key>
+      <value>1. Zeile annehmen</value>
     </entry>
     <entry>
       <key>Inserted rows</key>
@@ -7119,9 +7179,6 @@
       <key>Leadimports</key>
       <value>Leadimport</value>
     </entry>
-    <entry>
-      <key>Is ID field</key>
-    </entry>
     <entry>
       <key>Import date</key>
       <value>Import Datum</value>
@@ -7224,20 +7281,12 @@
     </entry>
     <entry>
       <key>Info (Contact)</key>
-    </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson mögliche Dublette</key>
+      <value>Info (Kontakt)</value>
     </entry>
     <entry>
       <key>Field configuration</key>
       <value>Feldkonfiguration</value>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion neu angelegt</key>
-    </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson und Funktion neu angelegt</key>
-    </entry>
     <entry>
       <key>Duplicate status</key>
       <value>Dublettenstatus</value>
@@ -7246,12 +7295,6 @@
       <key>Transfer data</key>
       <value>Daten transferieren</value>
     </entry>
-    <entry>
-      <key>Organisation und Person schon vorhanden\nFunktion neu angelegt</key>
-    </entry>
-    <entry>
-      <key>Max results threshold</key>
-    </entry>
     <entry>
       <key>Import Fields</key>
       <value>Import Felder</value>
@@ -7262,6 +7305,7 @@
     </entry>
     <entry>
       <key>Rebuild Organisation duplicates cache</key>
+      <value>organisationsduplettencache neuaufbauen</value>
     </entry>
     <entry>
       <key>Tab</key>
@@ -7287,24 +7331,13 @@
       <key>Import canceled</key>
       <value>Import abgebrochen</value>
     </entry>
-    <entry>
-      <key>CSV benötigt</key>
-    </entry>
     <entry>
       <key>Import user</key>
       <value>Import Benutzer</value>
     </entry>
-    <entry>
-      <key>Person neu angelegt\nOrganisation mögliche Dublette</key>
-    </entry>
     <entry>
       <key> Info</key>
-    </entry>
-    <entry>
-      <key>Zeilen verarbeitet</key>
-    </entry>
-    <entry>
-      <key>Organisation und Person mögliche Dublette</key>
+      <value>Info</value>
     </entry>
     <entry>
       <key>Import name</key>
@@ -7314,19 +7347,10 @@
       <key>Entity field name</key>
       <value>Entitäten-Feldname</value>
     </entry>
-    <entry>
-      <key>Ein Fehler ist aufgetreten beim Import dieses Datensatzes:\n</key>
-    </entry>
     <entry>
       <key>Linked in</key>
       <value>LinkedIn</value>
     </entry>
-    <entry>
-      <key>Organisation oder Person neu angelegt</key>
-    </entry>
-    <entry>
-      <key>Organisation neu angelegt\nPerson mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Info (Company)</key>
       <value>Info (Firma)</value>
@@ -7335,9 +7359,6 @@
       <key>Möglicherweise ist ein Import-Feld zu groß für das Zielfeld.</key>
       <value>An import field may be too large for the target field.</value>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nOrganisation mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Record separator</key>
       <value>Satztrenner</value>
@@ -7348,6 +7369,7 @@
     </entry>
     <entry>
       <key>Unrelated organisation duplicates</key>
+      <value>Unabhängige Firmendupletten</value>
     </entry>
     <entry>
       <key>Load data</key>
@@ -7371,30 +7393,31 @@
     </entry>
     <entry>
       <key>Standard phone</key>
+      <value>Standardtelefonnummer</value>
     </entry>
     <entry>
       <key>Nein</key>
-      <value></value>
+      <value>Nein</value>
     </entry>
     <entry>
       <key>Use for duplicate search</key>
+      <value>Für Duplettensuche benutzen</value>
     </entry>
     <entry>
       <key>Lead preview</key>
       <value>Lead Vorschau</value>
     </entry>
-    <entry>
-      <key>No duplicate</key>
-    </entry>
     <entry>
       <key>Standard city</key>
+      <value>Standardstadt</value>
     </entry>
     <entry>
       <key>Standard zip</key>
+      <value>Standard PLZ</value>
     </entry>
     <entry>
       <key>Leadimport</key>
-      <value></value>
+      <value>Leadimport</value>
     </entry>
     <entry>
       <key>Import logs</key>
@@ -7404,9 +7427,6 @@
       <key>Data loaded</key>
       <value>Daten geladen</value>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion schon vorhanden</key>
-    </entry>
     <entry>
       <key>%0 duplicate has been identified.</key>
       <value>Es wurde %0 Dublette identifiziert.</value>
@@ -7433,6 +7453,7 @@
     </entry>
     <entry>
       <key>Hospitality</key>
+      <value>Gastfreundschaft</value>
     </entry>
     <entry>
       <key>Scan pattern</key>
@@ -7440,12 +7461,14 @@
     </entry>
     <entry>
       <key>No consumer found for context '%0'</key>
+      <value>Kein consumer für den Kontext '%0' gefunden.</value>
     </entry>
     <entry>
       <key>SqlBuilder: pValue (or pFieldOrCond if only one param) is not allowed to be null, undefined or []. (use *IfSet functions if you need optional conditions which are just ignored if value is null or undefined)</key>
     </entry>
     <entry>
       <key>pExecuteOnlyIfConditionExists has to be of type boolean. This parameter controls what happens if the condition is empty (select / delete all or nothing)</key>
+      <value>pExecuteOnlyIfConditionExists muss vom typ "boolean" sein. Dieser Parameter steuert was passiert wenn die condition leer ist (selektieren / löschen alles oder nichts)</value>
     </entry>
     <entry>
       <key>is assignable</key>
@@ -7453,6 +7476,7 @@
     </entry>
     <entry>
       <key>Parent Role</key>
+      <value>Übergeordnete Rolle</value>
     </entry>
     <entry>
       <key>SqlBuilder must be instanciated with 'new' or one of the factory methods (newSelect, newWhere, newWhereIfSet)</key>
@@ -7471,9 +7495,11 @@
     </entry>
     <entry>
       <key>Entity id field name</key>
+      <value>EntitätsIdfeldname</value>
     </entry>
     <entry>
       <key>[%0]has now an incorrect length; estimated 2 or 3 elements but got %1</key>
+      <value>[%0]hat jetzt eine falsche Länge; Elemente erwartet: 2 oder 3 aber stattdessen %1 bekommen</value>
     </entry>
     <entry>
       <key>Children</key>
@@ -7528,12 +7554,15 @@
     </entry>
     <entry>
       <key>[%0]%1 has to be a string without empty spaces, (, ), =, &lt;, &gt;  but it contains at least one of them</key>
+      <value>[%0]%1 muss ein string ohne Leerzeichen, (, ), =, &lt;, &gt;  sein aber beinhaltet mindestens eins davon</value>
     </entry>
     <entry>
       <key>%0 leads imported, %1 errors</key>
+      <value>%0 leads importiert, %1 Fehler.</value>
     </entry>
     <entry>
       <key>[%0]the tableAlias is not a string after interpreting</key>
+      <value>[%0]Der TabellenAlias ist nach dem interpretieren nicht vom Typ "string"</value>
     </entry>
     <entry>
       <key>SqlBuilder: invalid value-type for pFieldOrCond. It can be a fully qualified SqlBuilder (e.g. select, from, ... have to be set) or an jdito-prepared-statement array</key>
@@ -7556,6 +7585,7 @@
     </entry>
     <entry>
       <key>HH:mm</key>
+      <value></value>
     </entry>
     <entry>
       <key>%0 | %1 - %2 o'clock</key>
@@ -7617,9 +7647,6 @@
       <key>Apply changes for all</key>
       <value>Änderungen für alle übernehmen</value>
     </entry>
-    <entry>
-      <key>series delete action</key>
-    </entry>
     <entry>
       <key>New child attribute</key>
       <value>Untergeordnete Eigenschaft anlegen</value>
@@ -7636,28 +7663,26 @@
       <key>Evaluation</key>
       <value>Auswertung</value>
     </entry>
-    <entry>
-      <key>not started</key>
-    </entry>
     <entry>
       <key>cancelled</key>
+      <value>abgebrochen</value>
     </entry>
     <entry>
       <key>free</key>
+      <value>kostenlos</value>
     </entry>
     <entry>
       <key>finished</key>
+      <value>fertig</value>
     </entry>
     <entry>
       <key>tentativ</key>
+      <value>vorläufig</value>
     </entry>
     <entry>
       <key>booked</key>
       <value>gebucht</value>
     </entry>
-    <entry>
-      <key>off-site</key>
-    </entry>
     <entry>
       <key>Recipt</key>
       <value>Beleg</value>
@@ -7668,12 +7693,11 @@
     </entry>
     <entry>
       <key>Select user</key>
-    </entry>
-    <entry>
-      <key>beschränken</key>
+      <value>Benutzer auswählen</value>
     </entry>
     <entry>
       <key>confirmed</key>
+      <value>bestätigt</value>
     </entry>
     <entry>
       <key>Please verify Date</key>
@@ -7686,6 +7710,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Please vertify Date</key>
+      <value>Bitte Datum vertifizieren</value>
     </entry>
     <entry>
       <key>Please set filter conditions</key>
@@ -7699,18 +7724,13 @@ Bitte Datumseingabe prüfen</value>
       <key>Tasks of</key>
       <value>Tasks of</value>
     </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
     <entry>
       <key>delegated</key>
       <value>delegiert</value>
     </entry>
     <entry>
       <key>Desciption</key>
-    </entry>
-    <entry>
-      <key>EA private task cannot be assigned to somebody else.</key>
+      <value>Beschreibung</value>
     </entry>
     <entry>
       <key>A private task cannot be assigned to somebody else.</key>
@@ -7720,9 +7740,6 @@ Bitte Datumseingabe prüfen</value>
       <key>deferred</key>
       <value>erledigt</value>
     </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
     <entry>
       <key>Error when reading the file!</key>
       <value>Fehler beim Einlesen der Datei!</value>
@@ -7747,22 +7764,10 @@ Bitte Datumseingabe prüfen</value>
       <key>Campaign steps </key>
       <value>Kampagnen Stufen </value>
     </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>No transfer of private tasks possible!</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
     <entry>
       <key>No authorization to postpone the task</key>
       <value>Keine Berechtigung zum Verschieben der Aufgabe</value>
     </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
     <entry>
       <key>low</key>
       <value>niedrig</value>
@@ -7785,9 +7790,6 @@ Bitte Datumseingabe prüfen</value>
       <key>My workflow tasks</key>
       <value>Meine Workflow Aufgaben</value>
     </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
     <entry>
       <key>Senden per E-Mail</key>
     </entry>
@@ -7797,21 +7799,23 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>QuickEntry</key>
+      <value>Schnelleingabe</value>
     </entry>
     <entry>
       <key>Owner</key>
-    </entry>
-    <entry>
-      <key>Download Process</key>
+      <value>Besitzer</value>
     </entry>
     <entry>
       <key>BPMN</key>
+      <value>BPMN</value>
     </entry>
     <entry>
       <key>Process</key>
+      <value>Prozess</value>
     </entry>
     <entry>
       <key>Test</key>
+      <value>Test</value>
     </entry>
     <entry>
       <key>Trigger</key>
@@ -7823,9 +7827,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Version</key>
+      <value>Version</value>
     </entry>
     <entry>
       <key>The file must be a XML</key>
+      <value>Die Datei muss vom typ "XML" sein</value>
     </entry>
     <entry>
       <key>Quick Entry</key>
@@ -7833,19 +7839,18 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Additional Contacts</key>
+      <value>zusätzliche Kontakte</value>
     </entry>
     <entry>
       <key>SqlBuilder: The provided values object for updateFields is invalid or is not an object.</key>
     </entry>
-    <entry>
-      <key>Weitere Kontakte</key>
-    </entry>
     <entry>
       <key>${CANCELLED}</key>
       <value>Abgebrochen</value>
     </entry>
     <entry>
       <key>Workflow signal</key>
+      <value>Workflow Signal</value>
     </entry>
     <entry>
       <key>Seperator</key>
@@ -7861,6 +7866,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Context</key>
+      <value>Kontext</value>
     </entry>
     <entry>
       <key>ExportTemplateFieldID</key>
@@ -7868,6 +7874,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Signal</key>
+      <value>Signal</value>
     </entry>
     <entry>
       <key>Export Template Field</key>
@@ -7879,6 +7886,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Scope</key>
+      <value>Scope</value>
     </entry>
     <entry>
       <key>Export Template</key>
@@ -7919,9 +7927,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Field and Position</key>
       <value>Feld und Position</value>
     </entry>
-    <entry>
-      <key>AExport fields of this table</key>
-    </entry>
     <entry>
       <key>Place of Use</key>
       <value>Verwendungsort</value>
@@ -7976,12 +7981,15 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Senderemail</key>
+      <value>Senderemail-adresse</value>
     </entry>
     <entry>
       <key>Senderphone</key>
+      <value>Sendertelefonnummer</value>
     </entry>
     <entry>
       <key>Sendername</key>
+      <value>Sendername</value>
     </entry>
     <entry>
       <key>FullAddress</key>
@@ -8020,16 +8028,20 @@ Bitte Datumseingabe prüfen</value>
       <value>Trennzeichen</value>
     </entry>
     <entry>
-      <key>File from this template could not be found anymore. </key>
+      <key>File from this template could not be found anymore.</key>
+      <value>Datei von diesem Template konnte nicht mehr gefunden werden.</value>
     </entry>
     <entry>
       <key>delete linked permissions and hierarchies</key>
+      <value>lösche verlinkte Berechtigungen und Hierachien</value>
     </entry>
     <entry>
       <key>Child Roles</key>
+      <value>Kinderrollen</value>
     </entry>
     <entry>
       <key>Parent Roles</key>
+      <value>Übergeordnete Rollen</value>
     </entry>
     <entry>
       <key>Export columns using a exporttemplate</key>
@@ -8039,14 +8051,9 @@ Bitte Datumseingabe prüfen</value>
       <key>Permission procurer</key>
       <value>Rechteempfänger</value>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: AB_PERMISSIONCALENDARID or UID and OBJECT_TYPE and PERMISSIONDEALER_ID is not set.</key>
-    </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: PERMISSION is not set.</key>
-    </entry>
     <entry>
       <key>AddAction</key>
+      <value>Hinzufügen-Action</value>
     </entry>
     <entry>
       <key>NoPermissions</key>
@@ -8068,9 +8075,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Permission Dealer</key>
       <value>Rechtegeber</value>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onInsert: This operation isn't allowed.</key>
-    </entry>
     <entry>
       <key>LimitedReadPermission</key>
       <value>eingeschränkte Leseberechtigung</value>
@@ -8095,12 +8099,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Calendar Permission</key>
       <value>Kalender-Berechtigungen</value>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onDelete: This operation isn't allowed.</key>
-    </entry>
-    <entry>
-      <key>Auf eigenen Benutzer kann keine Berechtigung gesetzt werden!</key>
-    </entry>
     <entry>
       <key>You can't set a permission to yourself!</key>
       <value>Sie können keine Berechtigungen für sich selbst setzen.</value>
@@ -8111,6 +8109,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Deparment</key>
+      <value>Abteilung</value>
     </entry>
     <entry>
       <key>Add new User Permission</key>
@@ -8126,6 +8125,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>External Service</key>
+      <value>Aussendienst</value>
     </entry>
     <entry>
       <key>show visit planning of the week</key>
@@ -8165,6 +8165,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>The endtime can't be before begintime!</key>
+      <value>Die Endzeit darf nicht vor der Startzeit liegen!</value>
     </entry>
     <entry>
       <key>Rights of access</key>
@@ -8172,12 +8173,15 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Leadimport Reset</key>
+      <value>Leadimport zurücksetzen</value>
     </entry>
     <entry>
       <key>Create notification</key>
+      <value>benachrichtigung erstellen</value>
     </entry>
     <entry>
       <key>Set attribute</key>
+      <value>Eigenschaft setzen</value>
     </entry>
     <entry>
       <key>End time</key>
@@ -8189,6 +8193,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Workflow management</key>
+      <value>Workflow management</value>
     </entry>
     <entry>
       <key>my visit planning</key>
@@ -8196,6 +8201,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Update offer</key>
+      <value>Angebot updaten</value>
     </entry>
     <entry>
       <key>New Visit Recommendation</key>
@@ -8243,12 +8249,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Send email</key>
-    </entry>
-    <entry>
-      <key>Activites</key>
-    </entry>
-    <entry>
-      <key>Export process</key>
+      <value>E-Mail senden</value>
     </entry>
     <entry>
       <key>From</key>
@@ -8261,6 +8262,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Date Planned</key>
+      <value>geplanntes Datum</value>
     </entry>
     <entry>
       <key>Priority Source</key>
@@ -8268,6 +8270,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Planned By</key>
+      <value>Geplannt von</value>
     </entry>
     <entry>
       <key>Due Date</key>
@@ -8279,6 +8282,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Appointment arranged</key>
+      <value>Termin vereinbart</value>
     </entry>
     <entry>
       <key>Visitreport created</key>
@@ -8298,6 +8302,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Linked Appointment</key>
+      <value>Verknüpfte Termine</value>
     </entry>
     <entry>
       <key>Visitplan Entries</key>
@@ -8307,15 +8312,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Visit Recommendations</key>
       <value>Besuchsvorschläge</value>
     </entry>
-    <entry>
-      <key>Besuchsreport erstellt</key>
-    </entry>
-    <entry>
-      <key>geplant</key>
-    </entry>
-    <entry>
-      <key>Termin vereinbart</key>
-    </entry>
     <entry>
       <key>Contactreport</key>
       <value>Kontaktbericht</value>
@@ -8328,20 +8324,13 @@ Bitte Datumseingabe prüfen</value>
       <key>Visitreport</key>
       <value>Besuchsbericht</value>
     </entry>
-    <entry>
-      <key>Export coloumns using a exporttemplate</key>
-    </entry>
     <entry>
       <key>add new Department Permission</key>
+      <value>neue Abteilungsberechtigung</value>
     </entry>
     <entry>
       <key>add new User Permission</key>
-    </entry>
-    <entry>
-      <key>ankle of</key>
-    </entry>
-    <entry>
-      <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key>
+      <value>neue Userberechtigung hinzufügen</value>
     </entry>
     <entry>
       <key>Create new Visitreport</key>
@@ -8395,9 +8384,6 @@ Bitte Datumseingabe prüfen</value>
       <key>Parallel gateway</key>
       <value>Paralleles Gateway</value>
     </entry>
-    <entry>
-      <key>Intermediate throwing event</key>
-    </entry>
     <entry>
       <key>End event</key>
       <value>End-Ereignis</value>
@@ -8422,9 +8408,6 @@ Bitte Datumseingabe prüfen</value>
       <key>User task</key>
       <value>Benutzer-Aufgabe</value>
     </entry>
-    <entry>
-      <key>Intermediate catching event</key>
-    </entry>
     <entry>
       <key>Business rule task</key>
       <value>Geschäftsregel-Aufgabe</value>
@@ -8455,6 +8438,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Their Permissions</key>
+      <value>Ihre Berechtigungen</value>
     </entry>
     <entry>
       <key>SqlBuilder: The provided callback function is not a function.</key>
@@ -8477,6 +8461,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>pCallbackFn is not a function</key>
+      <value>pCallbackFn ist keine Funktion</value>
     </entry>
     <entry>
       <key>Offer status changed</key>
@@ -8488,6 +8473,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Offer status changed!</key>
+      <value>Angebotsstatus geändert!</value>
     </entry>
     <entry>
       <key>semicolon</key>
@@ -8511,12 +8497,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>pSqlQuery must be of type SqlBuilder</key>
+      <value>pSqlQuery muss vom typ "SqlBuilder" sein.</value>
     </entry>
     <entry>
       <key>rights of access</key>
-    </entry>
-    <entry>
-      <key>EXPORTTEMPLATE.FIELDLIMITER</key>
+      <value>Zugangsrechte</value>
     </entry>
     <entry>
       <key>Other Calendars</key>
@@ -8528,9 +8513,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Variable</key>
+      <value>Variable</value>
     </entry>
     <entry>
       <key>me</key>
+      <value>ich</value>
     </entry>
     <entry>
       <key>Sales Dashboard</key>
@@ -8566,6 +8553,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Point of Contact</key>
+      <value>Berührungspunkt</value>
     </entry>
     <entry>
       <key>Subscription model</key>
@@ -8577,6 +8565,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Angebot</key>
+      <value>Angebot</value>
     </entry>
     <entry>
       <key>Article Number</key>
@@ -8588,18 +8577,15 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Appointment checkup</key>
+      <value>Terminüberprüfung</value>
     </entry>
     <entry>
       <key>Articlenumber</key>
-    </entry>
-    <entry>
-      <key>Berechtigungen</key>
-    </entry>
-    <entry>
-      <key>BOOL VALUE</key>
+      <value>Artikelnummer</value>
     </entry>
     <entry>
       <key>Lead Import Reset</key>
+      <value>Leadimport zurücksetzen</value>
     </entry>
     <entry>
       <key>Type</key>
@@ -8607,45 +8593,59 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>von</key>
+      <value>von</value>
     </entry>
     <entry>
       <key>Minimal count</key>
+      <value>Minimale Anzahl</value>
     </entry>
     <entry>
       <key>Todo</key>
+      <value>Todo</value>
     </entry>
     <entry>
       <key>Relation Type 1</key>
+      <value>Beziehungstyp 1</value>
     </entry>
     <entry>
       <key>Relation Type 2</key>
+      <value>Beziehungstyp 2</value>
     </entry>
     <entry>
       <key>Min. stock</key>
+      <value>Min. Anzahl</value>
     </entry>
     <entry>
       <key>No Standard-E-Mail available!</key>
+      <value>Keine Standard-E-Mail-Adresse verfügbar!</value>
     </entry>
     <entry>
       <key>details</key>
+      <value>Details</value>
     </entry>
     <entry>
       <key>Please pay the outstanding amount,this is you first/second reminder.</key>
+      <value>Bitte zahle den ausstehenden Betrag, dies ist ihre erste/zweite Mahnung.</value>
     </entry>
     <entry>
       <key>Zip</key>
+      <value>Plz</value>
     </entry>
     <entry>
       <key>type</key>
+      <value>Typ</value>
     </entry>
     <entry>
       <key>Lead Imports</key>
+      <value>Leadimporte</value>
     </entry>
     <entry>
       <key>Caimpaignsteps</key>
+      <value>Kampagnenschritte</value>
     </entry>
     <entry>
       <key>Seen</key>
+      <value>Gelesen</value>
     </entry>
     <entry>
       <key>Unseen</key>
@@ -8657,15 +8657,15 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Linked In</key>
-    </entry>
-    <entry>
-      <key>Abomodel</key>
+      <value>Linked In</value>
     </entry>
     <entry>
       <key>Set salesproject phase</key>
+      <value>Vertriebsprojektphase setzen</value>
     </entry>
     <entry>
       <key>Create salesproject</key>
+      <value>Vertriebsprojekt erstellen</value>
     </entry>
     <entry>
       <key> number of connections</key>
@@ -8673,6 +8673,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Create salesproject touchpoint</key>
+      <value>Vertriebsprojektberührungspunkt erstellen</value>
     </entry>
     <entry>
       <key>Limited details</key>
@@ -8726,11 +8727,9 @@ Bitte Datumseingabe prüfen</value>
       <key>Not created yet</key>
       <value>Noch nicht erstellt</value>
     </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
     <entry>
       <key>Sales Projects</key>
+      <value>Vertriebsprojekte</value>
     </entry>
     <entry>
       <key>set Read</key>
@@ -8750,9 +8749,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Version %0</key>
+      <value>Version %0</value>
     </entry>
     <entry>
       <key>data</key>
+      <value>Daten</value>
     </entry>
     <entry>
       <key>Offer No.</key>
@@ -8804,6 +8805,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Negative</key>
+      <value>Negativ</value>
     </entry>
     <entry>
       <key>1. Target group</key>
@@ -8811,28 +8813,21 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Positive</key>
+      <value>Positiv</value>
     </entry>
     <entry>
       <key>0-50</key>
     </entry>
-    <entry>
-      <key>Till Score</key>
-    </entry>
     <entry>
       <key>251-1000</key>
     </entry>
-    <entry>
-      <key>asdf</key>
-    </entry>
-    <entry>
-      <key>ab 1000</key>
-    </entry>
     <entry>
       <key>Gradings</key>
       <value>Bewertungen</value>
     </entry>
     <entry>
       <key>Full Permissions</key>
+      <value>Komplette  Berechtigungen</value>
     </entry>
     <entry>
       <key>200-349 D€</key>
@@ -8842,15 +8837,14 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Full permissions already assigned</key>
+      <value>Komplette  Berechtigungen bereits vergeben</value>
     </entry>
     <entry>
       <key>51-100</key>
     </entry>
     <entry>
       <key>Import Daten</key>
-    </entry>
-    <entry>
-      <key>ab 350 D€</key>
+      <value>Daten importieren</value>
     </entry>
     <entry>
       <key>0-49 D€</key>
@@ -8861,9 +8855,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Import Logs</key>
-    </entry>
-    <entry>
-      <key>Transferdaten</key>
+      <value>logs importieren</value>
     </entry>
     <entry>
       <key>50-99 D€</key>
@@ -8877,9 +8869,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>yellow</key>
-    </entry>
-    <entry>
-      <key>Borrow</key>
+      <value>gelb</value>
     </entry>
     <entry>
       <key>Is unlinked activity</key>
@@ -8887,30 +8877,31 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Download letter and create Activity</key>
+      <value>Brief herunterladen und Aktivität erstellen</value>
     </entry>
     <entry>
       <key>Extend</key>
-    </entry>
-    <entry>
-      <key>Krimi</key>
+      <value>Vergrößern</value>
     </entry>
     <entry>
       <key>red</key>
+      <value>rot</value>
     </entry>
     <entry>
       <key>Return</key>
+      <value>Return</value>
     </entry>
     <entry>
       <key>green</key>
-    </entry>
-    <entry>
-      <key>Actionthriller</key>
+      <value>grün</value>
     </entry>
     <entry>
       <key>and open modeler</key>
+      <value>und modeler öffnen</value>
     </entry>
     <entry>
       <key>export</key>
+      <value>exportieren</value>
     </entry>
     <entry>
       <key>Receive new Department Permission</key>
@@ -8918,6 +8909,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>No new recipients found that can be added to the serial letter.</key>
+      <value>Keine neuen empfänger gefunden die zum Serienbrief hinzugefügt werden können.</value>
     </entry>
     <entry>
       <key>New</key>
@@ -8925,6 +8917,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Archived</key>
+      <value>Archiviert</value>
     </entry>
     <entry>
       <key>Receive new User Permission</key>
@@ -8932,16 +8925,15 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>workflow notification</key>
+      <value>Workflow Benachrichtigung</value>
     </entry>
     <entry>
       <key>Permission received</key>
       <value>Erhaltene Berechtigungen</value>
     </entry>
-    <entry>
-      <key>leadimport notification</key>
-    </entry>
     <entry>
       <key>Workflow Model</key>
+      <value>Workflow Modell</value>
     </entry>
     <entry>
       <key>Workflow deploy failed</key>
@@ -8949,9 +8941,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Total in euros</key>
-    </entry>
-    <entry>
-      <key>export using the selected  template</key>
+      <value>Gesamt in Euro</value>
     </entry>
     <entry>
       <key>send mail</key>
@@ -8963,6 +8953,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>%0: %1/%2 points = %3</key>
+      <value>%0: %1/%2 Punkte = %3</value>
     </entry>
     <entry>
       <key>Classification: </key>
@@ -8978,6 +8969,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Add Participants</key>
+      <value>Teilnehmer hinzufügen</value>
     </entry>
     <entry>
       <key>and open Report</key>
@@ -8985,6 +8977,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Add Recipients</key>
+      <value>Empfänger hinzufügen</value>
     </entry>
     <entry>
       <key>{SEND_MAIL}</key>
@@ -8992,9 +8985,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>The workflow could not be deployed</key>
+      <value>Der Workflow konnte nicht deployed werden</value>
     </entry>
     <entry>
       <key>Create model</key>
+      <value>Modell erstellen</value>
     </entry>
     <entry>
       <key>Recipients after adding</key>
@@ -9024,9 +9019,12 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>%0 new recipients will be added to the bulk mail. \n\&#xD;
                             %1 of the chosen records are already recipients or don't have an e-mail set</key>
+      <value>%0 neue Empfänger werden der Serienmail hinzugefügt. \n\
+                            %1 der ausgewählten Datensätze sind bereits Empfänger oder haben keine E-Mail-Adresse hinterlegt.</value>
     </entry>
     <entry>
       <key>download ready</key>
+      <value>Downlaod bereit</value>
     </entry>
     <entry>
       <key>export using the selected template</key>
@@ -9054,6 +9052,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>favorite</key>
+      <value>favorisieren</value>
     </entry>
     <entry>
       <key>New password</key>
@@ -9117,9 +9116,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>favorties</key>
-    </entry>
-    <entry>
-      <key>Fantasy</key>
+      <value>Favoriten</value>
     </entry>
     <entry>
       <key>Permission Procurer Department</key>
@@ -9127,6 +9124,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Release</key>
+      <value>Release</value>
     </entry>
     <entry>
       <key>granted permission</key>
@@ -9146,37 +9144,43 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>No new recipients found that can be added to the bulk mail.</key>
+      <value>Keine neuen empfänger gefunden die zur Serienmail hinzugefügt werden können.</value>
     </entry>
     <entry>
       <key>Titel</key>
+      <value>Titel</value>
     </entry>
     <entry>
       <key>Password must contain spaces</key>
       <value>Passwort muss Leerzeichen enhalten</value>
     </entry>
-    <entry>
-      <key>Enddatum</key>
-    </entry>
     <entry>
       <key>Startdatum</key>
+      <value>Startdatum</value>
     </entry>
     <entry>
       <key>Set all address locations</key>
+      <value>Setze alle Addressstandorte</value>
     </entry>
     <entry>
       <key>Input value</key>
+      <value>Eingebewert</value>
     </entry>
     <entry>
       <key>Output value</key>
+      <value>Ausgabewert</value>
     </entry>
     <entry>
       <key>Mapping</key>
+      <value>Mapping</value>
     </entry>
     <entry>
       <key>Mappings</key>
+      <value>Mappings</value>
     </entry>
     <entry>
       <key>Sort up</key>
+      <value>aufsteigend sortieren</value>
     </entry>
     <entry>
       <key>Password must contain letters</key>
@@ -9204,39 +9208,35 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Radius in km</key>
+      <value>Radius in km</value>
     </entry>
     <entry>
       <key>Set missing address locations</key>
-    </entry>
-    <entry>
-      <key>Gruppenname</key>
+      <value>Fehlende AddresStandorte setzen</value>
     </entry>
     <entry>
       <key>FavoriteFilter_view</key>
+      <value>FavoriteFilter_view</value>
     </entry>
     <entry>
       <key>Typ</key>
+      <value>Typ</value>
     </entry>
     <entry>
       <key>Members</key>
+      <value>Mitglieder</value>
     </entry>
     <entry>
       <key>Sort down</key>
+      <value>Absteigend sortieren</value>
     </entry>
     <entry>
       <key>Longitude</key>
-    </entry>
-    <entry>
-      <key>0-49 T€</key>
+      <value>Längengad</value>
     </entry>
     <entry>
       <key>Refresh</key>
-    </entry>
-    <entry>
-      <key>Run ServerProcess</key>
-    </entry>
-    <entry>
-      <key>50-99 T€</key>
+      <value>Refresh</value>
     </entry>
     <entry>
       <key>Max Value</key>
@@ -9246,17 +9246,13 @@ Bitte Datumseingabe prüfen</value>
       <key>Points</key>
       <value>Punkte</value>
     </entry>
-    <entry>
-      <key>OLDACTION</key>
-    </entry>
-    <entry>
-      <key>Run Upgrade Serverprocess</key>
-    </entry>
     <entry>
       <key>The Sales Project can only be filled when a company has been specified</key>
+      <value>vertriebsprojekt darf nur gefüllt sein wenn eine Firma festgelegt wurde.</value>
     </entry>
     <entry>
       <key>Child Attributes</key>
+      <value>Diagrameigenschaften</value>
     </entry>
     <entry>
       <key>Recalculate all Classifications</key>
@@ -9264,6 +9260,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Reminder:</key>
+      <value>Erinnerung:</value>
     </entry>
     <entry>
       <key>Start Serveprocess</key>
@@ -9281,24 +9278,13 @@ Bitte Datumseingabe prüfen</value>
       <key>Hint</key>
       <value>Hinweis</value>
     </entry>
-    <entry>
-      <key>200-349 T€</key>
-    </entry>
-    <entry>
-      <key>100-199 T€</key>
-    </entry>
-    <entry>
-      <key>ab 350 T€</key>
-    </entry>
-    <entry>
-      <key>The use of any of your previous %0 passwords is prohibited</key>
-    </entry>
     <entry>
       <key>Parent Filter</key>
       <value>Übergeordneter Filter</value>
     </entry>
     <entry>
       <key>Filter information</key>
+      <value>Informationen Filtern</value>
     </entry>
     <entry>
       <key>District Responsible</key>
@@ -9310,6 +9296,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Districts</key>
+      <value>Gebiete</value>
     </entry>
     <entry>
       <key>{$DISTRICTNUMBER}</key>
@@ -9377,12 +9364,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Nr</key>
-    </entry>
-    <entry>
-      <key>Verantwortlicher</key>
+      <value>Nr</value>
     </entry>
     <entry>
       <key>Userhelp Ressources</key>
+      <value>benutzerhilfe Ressourcen</value>
     </entry>
     <entry>
       <key>Worklow started</key>
@@ -9390,27 +9376,35 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>The status of the offer was changed to \"Sent\".</key>
+      <value>Der Status fes Angebots wurde auf "gesendet" geändert.</value>
     </entry>
     <entry>
       <key>favorites</key>
+      <value>Favoriten</value>
     </entry>
     <entry>
       <key>Mark all cached record containers as invalid</key>
+      <value>Alle gecacheden record container als Invalid markieren</value>
     </entry>
     <entry>
       <key>Current Recipients</key>
+      <value>Derzeitige Empfänger</value>
     </entry>
     <entry>
       <key>Date (Month)</key>
+      <value>Datum (Monat)</value>
     </entry>
     <entry>
       <key>Date (Year)</key>
+      <value>Datum (Jahr)</value>
     </entry>
     <entry>
       <key>Date (Day)</key>
+      <value>Datum (Tag)</value>
     </entry>
     <entry>
       <key>Grant new User Permission</key>
+      <value>Neue Benutzerberechtigung vegeben</value>
     </entry>
     <entry>
       <key>%0 of the chosen records are already recipients.</key>
@@ -9431,6 +9425,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Xing (Organisation)</key>
+      <value>Xing (Firma)</value>
     </entry>
     <entry>
       <key>Mail (Organisation)</key>
@@ -9442,9 +9437,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Blog (Organisation)</key>
+      <value>Blog (Firma)</value>
     </entry>
     <entry>
       <key>Internet (Person)</key>
+      <value>Internet (Person)</value>
     </entry>
     <entry>
       <key>Mobile number (Person)</key>
@@ -9452,9 +9449,11 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Internet (Organisation)</key>
+      <value>Internet (Firma)</value>
     </entry>
     <entry>
       <key>Blog (Person)</key>
+      <value>Blog (Person)</value>
     </entry>
     <entry>
       <key>Phone number (Organisation)</key>
@@ -9466,39 +9465,148 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Xing (Person)</key>
+      <value>Xing (Person)</value>
     </entry>
     <entry>
       <key>Date must not be in the future</key>
+      <value>Datum darf nicht in der Zukunft liegen</value>
     </entry>
     <entry>
       <key>Shows the number of Activities of the Grouped Fields</key>
+      <value>Zeigt die Nummer der Aktivitäten der gruppierten Felder</value>
     </entry>
     <entry>
       <key>Sales Staff Activity</key>
+      <value>Vertriebsmitarbeiteraktivität</value>
     </entry>
     <entry>
       <key>Month</key>
+      <value>Monat</value>
     </entry>
     <entry>
       <key>Responsible Department</key>
+      <value>zuständige Abteilung</value>
     </entry>
     <entry>
       <key>Shows the different conversion rates of the sales project phases</key>
+      <value>zeigt die unterschiedlichen Umrechnungsraten der vertriebsprojektphasen</value>
     </entry>
     <entry>
       <key>Salesproject Convertion Rates</key>
+      <value>Vertriebsprojekt Umrechnungsraten</value>
     </entry>
     <entry>
-      <key>Date has to be in the selected calendar week!</key>
+      <key>Conversion Rate</key>
+      <value>Umrechnungsrate</value>
     </entry>
     <entry>
-      <key>50-99 D€</key>
+      <key>AB_KEYWORD_ENTRYID</key>
+      <value>AB_KEYWORD_ENTRYID</value>
     </entry>
     <entry>
-      <key>Conversion Rate</key>
+      <key>BOOL VALUE</key>
+      <value>BOOL VALUE</value>
     </entry>
     <entry>
-      <key>AB_KEYWORD_ENTRYID</key>
+      <key>more contacts</key>
+      <value>mehr Kontakte</value>
+    </entry>
+    <entry>
+      <key>Seite</key>
+    </entry>
+    <entry>
+      <key>from 350 €</key>
+      <value>ab 350€</value>
+    </entry>
+    <entry>
+      <key>from 1000</key>
+      <value>ab 1000</value>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>Intermediate catching event</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>LinkedIn</key>
+      <value>LinkedIn</value>
+    </entry>
+    <entry>
+      <key>Groupname</key>
+      <value>Gruppenname</value>
+    </entry>
+    <entry>
+      <key>No duplicate</key>
+      <value>Keine Duplette</value>
+    </entry>
+    <entry>
+      <key>Vacation examination by</key>
+      <value>Urlaubsgeprüft von</value>
+    </entry>
+    <entry>
+      <key>0-49 €</key>
+    </entry>
+    <entry>
+      <key>100-199 €</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Intermediate throwing event</key>
+    </entry>
+    <entry>
+      <key>50-99 €</key>
+    </entry>
+    <entry>
+      <key>Enddate</key>
+      <value>Enddatum</value>
+    </entry>
+    <entry>
+      <key>200-349 €</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>Startdate</key>
+      <value>Startdatum</value>
+    </entry>
+    <entry>
+      <key>Vacation approval by</key>
+      <value>Urlaubsantrag genehmigt von</value>
+    </entry>
+    <entry>
+      <key>File from this template could not be found anymore. </key>
+      <value>Die Datei von dieser Vorlage konnte nicht mehr gefudnen werden.</value>
+    </entry>
+    <entry>
+      <key>allow</key>
+      <value>erlauben</value>
+    </entry>
+    <entry>
+      <key>field</key>
+      <value>Feld</value>
+    </entry>
+    <entry>
+      <key>restrict</key>
+      <value>verbieten</value>
+    </entry>
+    <entry>
+      <key>dataset</key>
+      <value>Datensatz</value>
+    </entry>
+    <entry>
+      <key>entity</key>
+      <value>Entität</value>
+    </entry>
+    <entry>
+      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
     </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 794e1fefaa..19ec9d0a4d 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -819,9 +819,6 @@
     <entry>
       <key>February</key>
     </entry>
-    <entry>
-      <key>Abomodel</key>
-    </entry>
     <entry>
       <key>Confirmed</key>
     </entry>
@@ -2201,24 +2198,12 @@
     <entry>
       <key>New appointment</key>
     </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
     <entry>
       <key>Other Contactroles</key>
     </entry>
     <entry>
       <key>OK</key>
     </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
-    </entry>
     <entry>
       <key>normal</key>
     </entry>
@@ -2267,12 +2252,6 @@
     <entry>
       <key>Marketing</key>
     </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
     <entry>
       <key>${QUANTITY_LOWER_THAN_1}</key>
       <value>Quantity should be greater than 0.</value>
@@ -3378,21 +3357,12 @@
     <entry>
       <key>Price Condition</key>
     </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
     <entry>
       <key>Possible Value</key>
     </entry>
     <entry>
       <key>Could not determine the current Classification type (usage).</key>
     </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
     <entry>
       <key>3. Classification</key>
     </entry>
@@ -4559,9 +4529,6 @@
     <entry>
       <key>no valid phone number</key>
     </entry>
-    <entry>
-      <key>EntityToFilterParam</key>
-    </entry>
     <entry>
       <key>Sender</key>
     </entry>
@@ -4883,12 +4850,6 @@
     <entry>
       <key>Cancellation</key>
     </entry>
-    <entry>
-      <key>Vacation examination by</key>
-    </entry>
-    <entry>
-      <key>Vacation approval by</key>
-    </entry>
     <entry>
       <key>Credit</key>
     </entry>
@@ -4919,9 +4880,6 @@
     <entry>
       <key>My Forecast</key>
     </entry>
-    <entry>
-      <key>Plaintext template - Only for .txt and .html</key>
-    </entry>
     <entry>
       <key>Action not supported</key>
     </entry>
@@ -4940,9 +4898,6 @@
     <entry>
       <key>Private person</key>
     </entry>
-    <entry>
-      <key>Displays the amounts of my personal forecast and the turnover I have already made</key>
-    </entry>
     <entry>
       <key>My Keyfigures</key>
     </entry>
@@ -5090,9 +5045,6 @@
     <entry>
       <key>Ignore whole Cluster</key>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nFunktion und Organisation neu angelegt</key>
-    </entry>
     <entry>
       <key>Has sales approved this step?</key>
     </entry>
@@ -5260,9 +5212,6 @@
     <entry>
       <key>Duplicate</key>
     </entry>
-    <entry>
-      <key>Is ID field</key>
-    </entry>
     <entry>
       <key>Import date</key>
     </entry>
@@ -5341,18 +5290,9 @@
     <entry>
       <key>Info (Contact)</key>
     </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Data could not be imported.</key>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion neu angelegt</key>
-    </entry>
-    <entry>
-      <key>Organisation schon vorhanden oder keine Organisation importiert\nPerson und Funktion neu angelegt</key>
-    </entry>
     <entry>
       <key>Duplicate status</key>
     </entry>
@@ -5362,15 +5302,9 @@
     <entry>
       <key>Transfer data</key>
     </entry>
-    <entry>
-      <key>Organisation und Person schon vorhanden\nFunktion neu angelegt</key>
-    </entry>
     <entry>
       <key>Ignore daily series</key>
     </entry>
-    <entry>
-      <key>Max results threshold</key>
-    </entry>
     <entry>
       <key>Import Fields</key>
     </entry>
@@ -5419,9 +5353,6 @@
     <entry>
       <key>Import canceled</key>
     </entry>
-    <entry>
-      <key>CSV benötigt</key>
-    </entry>
     <entry>
       <key>Internal (2)</key>
     </entry>
@@ -5431,45 +5362,24 @@
     <entry>
       <key>Import user</key>
     </entry>
-    <entry>
-      <key>Person neu angelegt\nOrganisation mögliche Dublette</key>
-    </entry>
     <entry>
       <key> Info</key>
     </entry>
     <entry>
       <key>Contact Owner</key>
     </entry>
-    <entry>
-      <key>Zeilen verarbeitet</key>
-    </entry>
-    <entry>
-      <key>Organisation und Person mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Import name</key>
     </entry>
     <entry>
       <key>Entity field name</key>
     </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
     <entry>
       <key>Salesproject source Id</key>
     </entry>
-    <entry>
-      <key>yearly series not specified</key>
-    </entry>
-    <entry>
-      <key>Organisation oder Person neu angelegt</key>
-    </entry>
     <entry>
       <key>Data imported.</key>
     </entry>
-    <entry>
-      <key>Organisation neu angelegt\nPerson mögliche Dublette</key>
-    </entry>
     <entry>
       <key>Info (Company)</key>
     </entry>
@@ -5479,18 +5389,9 @@
     <entry>
       <key>Möglicherweise ist ein Import-Feld zu groß für das Zielfeld.</key>
     </entry>
-    <entry>
-      <key>Person schon vorhanden oder keine Person importiert\nOrganisation mögliche Dublette</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
     <entry>
       <key>Record separator</key>
     </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
     <entry>
       <key>Culture, Sport and Leisure</key>
     </entry>
@@ -5545,9 +5446,6 @@
     <entry>
       <key>Lead preview</key>
     </entry>
-    <entry>
-      <key>No duplicate</key>
-    </entry>
     <entry>
       <key>Standard city</key>
     </entry>
@@ -5572,9 +5470,6 @@
     <entry>
       <key>Internet</key>
     </entry>
-    <entry>
-      <key>Organisation, Person und Funktion schon vorhanden</key>
-    </entry>
     <entry>
       <key>Negotiations</key>
     </entry>
@@ -5725,9 +5620,6 @@
     <entry>
       <key>unknown</key>
     </entry>
-    <entry>
-      <key>series delete action</key>
-    </entry>
     <entry>
       <key>Choose a campaign and a step to add the contact to a  campaign</key>
     </entry>
@@ -5767,9 +5659,6 @@
     <entry>
       <key>Evaluation</key>
     </entry>
-    <entry>
-      <key>not started</key>
-    </entry>
     <entry>
       <key>cancelled</key>
     </entry>
@@ -5782,9 +5671,6 @@
     <entry>
       <key>booked</key>
     </entry>
-    <entry>
-      <key>off-site</key>
-    </entry>
     <entry>
       <key>Recipt</key>
     </entry>
@@ -5794,9 +5680,6 @@
     <entry>
       <key>Select user</key>
     </entry>
-    <entry>
-      <key>beschränken</key>
-    </entry>
     <entry>
       <key>confirmed</key>
     </entry>
@@ -5821,9 +5704,6 @@
     <entry>
       <key>Tasks of</key>
     </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
     <entry>
       <key>delegated</key>
     </entry>
@@ -5836,9 +5716,6 @@
     <entry>
       <key>deferred</key>
     </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
     <entry>
       <key>Error when reading the file!</key>
     </entry>
@@ -5854,15 +5731,9 @@
     <entry>
       <key>Campaign steps </key>
     </entry>
-    <entry>
-      <key>No transfer of private tasks possible!</key>
-    </entry>
     <entry>
       <key>No authorization to postpone the task</key>
     </entry>
-    <entry>
-      <key>LinkedIn</key>
-    </entry>
     <entry>
       <key>low</key>
     </entry>
@@ -5905,15 +5776,9 @@
     <entry>
       <key>Your changes may have an impact on the data privacy information (GDPR).\n Please update these.</key>
     </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
     <entry>
       <key>Owner</key>
     </entry>
-    <entry>
-      <key>Download Process</key>
-    </entry>
     <entry>
       <key>BPMN</key>
     </entry>
@@ -5956,9 +5821,6 @@
     <entry>
       <key>Manually</key>
     </entry>
-    <entry>
-      <key>Export process</key>
-    </entry>
     <entry>
       <key>To check</key>
     </entry>
@@ -5974,9 +5836,6 @@
     <entry>
       <key>SqlBuilder: The provided values object for updateFields is invalid or is not an object.</key>
     </entry>
-    <entry>
-      <key>Weitere Kontakte</key>
-    </entry>
     <entry>
       <key>Task done</key>
     </entry>
@@ -5991,18 +5850,12 @@
     <entry>
       <key>Permission procurer</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: AB_PERMISSIONCALENDARID or UID and OBJECT_TYPE and PERMISSIONDEALER_ID is not set.</key>
-    </entry>
     <entry>
       <key>Workflow signal</key>
     </entry>
     <entry>
       <key>Signals</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onUpdate: PERMISSION is not set.</key>
-    </entry>
     <entry>
       <key>AddAction</key>
     </entry>
@@ -6032,9 +5885,6 @@
     <entry>
       <key>Permission Dealer</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onInsert: This operation isn't allowed.</key>
-    </entry>
     <entry>
       <key>LimitedReadPermission</key>
       <value>limited read permission</value>
@@ -6064,9 +5914,6 @@
     <entry>
       <key>Calendar Permission</key>
     </entry>
-    <entry>
-      <key>PermissionCalendar_entity.PermissionCalendarJDito.onDelete: This operation isn't allowed.</key>
-    </entry>
     <entry>
       <key>Claim date</key>
     </entry>
@@ -6076,12 +5923,6 @@
     <entry>
       <key>There is already a permission existing!</key>
     </entry>
-    <entry>
-      <key>Auf eigenen Benutzer kann keine Berechtigung gesetzt werden!</key>
-    </entry>
-    <entry>
-      <key>Berechtigungen</key>
-    </entry>
     <entry>
       <key>Deparment</key>
     </entry>
@@ -6147,9 +5988,6 @@
     <entry>
       <key>Field and Position</key>
     </entry>
-    <entry>
-      <key>AExport fields of this table</key>
-    </entry>
     <entry>
       <key>Place of Use</key>
     </entry>
@@ -6256,9 +6094,6 @@
     <entry>
       <key>Complete tasks</key>
     </entry>
-    <entry>
-      <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key>
-    </entry>
     <entry>
       <key>Start time</key>
     </entry>
@@ -6379,15 +6214,6 @@
     <entry>
       <key>Visit Recommendations</key>
     </entry>
-    <entry>
-      <key>Besuchsreport erstellt</key>
-    </entry>
-    <entry>
-      <key>geplant</key>
-    </entry>
-    <entry>
-      <key>Termin vereinbart</key>
-    </entry>
     <entry>
       <key>Contactreport</key>
     </entry>
@@ -6439,9 +6265,6 @@
     <entry>
       <key>Parallel gateway</key>
     </entry>
-    <entry>
-      <key>Intermediate throwing event</key>
-    </entry>
     <entry>
       <key>End event</key>
     </entry>
@@ -6460,9 +6283,6 @@
     <entry>
       <key>User task</key>
     </entry>
-    <entry>
-      <key>Intermediate catching event</key>
-    </entry>
     <entry>
       <key>Business rule task</key>
     </entry>
@@ -6488,9 +6308,6 @@
     <entry>
       <key>Script task</key>
     </entry>
-    <entry>
-      <key>Activites</key>
-    </entry>
     <entry>
       <key>Dispatch as mail</key>
     </entry>
@@ -6591,18 +6408,12 @@
     <entry>
       <key>Archive</key>
     </entry>
-    <entry>
-      <key>BOOL VALUE</key>
-    </entry>
     <entry>
       <key>Support ticket</key>
     </entry>
     <entry>
       <key>Type</key>
     </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
     <entry>
       <key>Senden per E-Mail</key>
     </entry>
@@ -6660,36 +6471,21 @@
     <entry>
       <key>Linked in</key>
     </entry>
-    <entry>
-      <key>Mahnung</key>
-    </entry>
     <entry>
       <key>Lead Imports</key>
     </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
     <entry>
       <key>No Standard-E-Mail available!</key>
     </entry>
     <entry>
       <key>Leadimport</key>
     </entry>
-    <entry>
-      <key>EXPORTTEMPLATE.FIELDLIMITER</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
     <entry>
       <key>Relation type 1</key>
     </entry>
     <entry>
       <key>Relation type 2</key>
     </entry>
-    <entry>
-      <key>Nicht begonnen</key>
-    </entry>
     <entry>
       <key>task number</key>
     </entry>
@@ -6699,30 +6495,18 @@
     <entry>
       <key>hoch</key>
     </entry>
-    <entry>
-      <key>Export coloumns using a exporttemplate</key>
-    </entry>
     <entry>
       <key>QuickEntry</key>
     </entry>
     <entry>
       <key>Leadimports</key>
     </entry>
-    <entry>
-      <key>keine Standard-E-Mail Büro vorhanden !</key>
-    </entry>
     <entry>
       <key>Entry date</key>
     </entry>
     <entry>
       <key>Relation type</key>
     </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
     <entry>
       <key>Leadimport Reset</key>
     </entry>
@@ -6732,24 +6516,12 @@
     <entry>
       <key>finished</key>
     </entry>
-    <entry>
-      <key>EA private task cannot be assigned to somebody else.</key>
-    </entry>
-    <entry>
-      <key>Ein Fehler ist aufgetreten beim Import dieses Datensatzes:\n</key>
-    </entry>
     <entry>
       <key>tentative</key>
     </entry>
     <entry>
       <key>Nein</key>
     </entry>
-    <entry>
-      <key>Termine von</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
     <entry>
       <key>Caimpaignsteps</key>
     </entry>
@@ -6789,9 +6561,6 @@
     <entry>
       <key>Visit Planning</key>
     </entry>
-    <entry>
-      <key>ankle of</key>
-    </entry>
     <entry>
       <key>Set salesproject phase</key>
     </entry>
@@ -6910,15 +6679,9 @@
     <entry>
       <key>0-50</key>
     </entry>
-    <entry>
-      <key>Till Score</key>
-    </entry>
     <entry>
       <key>251-1000</key>
     </entry>
-    <entry>
-      <key>ab 1000</key>
-    </entry>
     <entry>
       <key>Full Permissions</key>
     </entry>
@@ -6937,9 +6700,6 @@
     <entry>
       <key>Import Logs</key>
     </entry>
-    <entry>
-      <key>Transferdaten</key>
-    </entry>
     <entry>
       <key>101-250</key>
     </entry>
@@ -6952,21 +6712,12 @@
     <entry>
       <key>yellow</key>
     </entry>
-    <entry>
-      <key>Borrow</key>
-    </entry>
     <entry>
       <key>Is unlinked activity</key>
     </entry>
-    <entry>
-      <key>Fantasy</key>
-    </entry>
     <entry>
       <key>Extend</key>
     </entry>
-    <entry>
-      <key>Krimi</key>
-    </entry>
     <entry>
       <key>red</key>
     </entry>
@@ -6976,9 +6727,6 @@
     <entry>
       <key>green</key>
     </entry>
-    <entry>
-      <key>Actionthriller</key>
-    </entry>
     <entry>
       <key>No new recipients found that can be added to the bulk mail.</key>
     </entry>
@@ -6997,9 +6745,6 @@
     <entry>
       <key>export</key>
     </entry>
-    <entry>
-      <key>export using the selected  template</key>
-    </entry>
     <entry>
       <key>No new recipients found that can be added to the serial letter.</key>
     </entry>
@@ -7027,9 +6772,6 @@
     <entry>
       <key>Permission received</key>
     </entry>
-    <entry>
-      <key>leadimport notification</key>
-    </entry>
     <entry>
       <key>granted permission</key>
     </entry>
@@ -7083,9 +6825,6 @@
     <entry>
       <key>Refresh</key>
     </entry>
-    <entry>
-      <key>Run ServerProcess</key>
-    </entry>
     <entry>
       <key>favorite</key>
     </entry>
@@ -7143,9 +6882,6 @@
     <entry>
       <key>Set all address locations</key>
     </entry>
-    <entry>
-      <key>Gruppenname</key>
-    </entry>
     <entry>
       <key>Password must be at least %0 characters</key>
     </entry>
@@ -7188,9 +6924,6 @@
     <entry>
       <key>Password must contain spaces</key>
     </entry>
-    <entry>
-      <key>The use of any of your previous %0 passwords is prohibited</key>
-    </entry>
     <entry>
       <key>export using the selected template</key>
     </entry>
@@ -7203,9 +6936,6 @@
     <entry>
       <key>Output value</key>
     </entry>
-    <entry>
-      <key>Enddatum</key>
-    </entry>
     <entry>
       <key>Startdatum</key>
     </entry>
@@ -7239,9 +6969,6 @@
     <entry>
       <key>Enter current password to verify</key>
     </entry>
-    <entry>
-      <key>ab 350 D€</key>
-    </entry>
     <entry>
       <key>200-349 D€</key>
     </entry>
@@ -7254,36 +6981,12 @@
     <entry>
       <key>50-99 D€</key>
     </entry>
-    <entry>
-      <key>asdf</key>
-    </entry>
-    <entry>
-      <key>OLDACTION</key>
-    </entry>
-    <entry>
-      <key>200-349 T€</key>
-    </entry>
-    <entry>
-      <key>100-199 T€</key>
-    </entry>
-    <entry>
-      <key>ab 350 T€</key>
-    </entry>
-    <entry>
-      <key>0-49 T€</key>
-    </entry>
-    <entry>
-      <key>50-99 T€</key>
-    </entry>
     <entry>
       <key>Max Value</key>
     </entry>
     <entry>
       <key>Points</key>
     </entry>
-    <entry>
-      <key>Run Upgrade Serverprocess</key>
-    </entry>
     <entry>
       <key>Child Attributes</key>
     </entry>
@@ -7382,9 +7085,6 @@
     <entry>
       <key>Nr</key>
     </entry>
-    <entry>
-      <key>Verantwortlicher</key>
-    </entry>
     <entry>
       <key>Userhelp Ressources</key>
     </entry>
@@ -7452,12 +7152,6 @@
     <entry>
       <key>Current Recipients</key>
     </entry>
-    <entry>
-      <key>The status of the offer was changed to \"sent\".</key>
-    </entry>
-    <entry>
-      <key>The status of the order was changed to \"sent\".</key>
-    </entry>
     <entry>
       <key>Conversion Rate</key>
     </entry>
@@ -7509,6 +7203,126 @@
     <entry>
       <key>Phone number (Person)</key>
     </entry>
+    <entry>
+      <key>%0 of the chosen records are already recipients.</key>
+    </entry>
+    <entry>
+      <key>Date must not be in the future</key>
+    </entry>
+    <entry>
+      <key>Date (Month)</key>
+    </entry>
+    <entry>
+      <key>Shows the number of Activities of the Grouped Fields</key>
+    </entry>
+    <entry>
+      <key>Sales Staff Activity</key>
+    </entry>
+    <entry>
+      <key>Date (Year)</key>
+    </entry>
+    <entry>
+      <key>Month</key>
+    </entry>
+    <entry>
+      <key>Responsible Department</key>
+    </entry>
+    <entry>
+      <key>Shows the different conversion rates of the sales project phases</key>
+    </entry>
+    <entry>
+      <key>Salesproject Convertion Rates</key>
+    </entry>
+    <entry>
+      <key>Grant new User Permission</key>
+    </entry>
+    <entry>
+      <key>Date (Day)</key>
+    </entry>
+    <entry>
+      <key>BOOL VALUE</key>
+    </entry>
+    <entry>
+      <key>more contacts</key>
+    </entry>
+    <entry>
+      <key>Seite</key>
+    </entry>
+    <entry>
+      <key>from 350 €</key>
+    </entry>
+    <entry>
+      <key>from 1000</key>
+    </entry>
+    <entry>
+      <key>erlauben</key>
+    </entry>
+    <entry>
+      <key>Intermediate catching event</key>
+    </entry>
+    <entry>
+      <key>Entität</key>
+    </entry>
+    <entry>
+      <key>LinkedIn</key>
+    </entry>
+    <entry>
+      <key>Groupname</key>
+    </entry>
+    <entry>
+      <key>No duplicate</key>
+    </entry>
+    <entry>
+      <key>Vacation examination by</key>
+    </entry>
+    <entry>
+      <key>0-49 €</key>
+    </entry>
+    <entry>
+      <key>100-199 €</key>
+    </entry>
+    <entry>
+      <key>Feld</key>
+    </entry>
+    <entry>
+      <key>Intermediate throwing event</key>
+    </entry>
+    <entry>
+      <key>50-99 €</key>
+    </entry>
+    <entry>
+      <key>Enddate</key>
+    </entry>
+    <entry>
+      <key>200-349 €</key>
+    </entry>
+    <entry>
+      <key>Datensatz</key>
+    </entry>
+    <entry>
+      <key>Startdate</key>
+    </entry>
+    <entry>
+      <key>Vacation approval by</key>
+    </entry>
+    <entry>
+      <key>File from this template could not be found anymore.</key>
+    </entry>
+    <entry>
+      <key>allow</key>
+    </entry>
+    <entry>
+      <key>field</key>
+    </entry>
+    <entry>
+      <key>restrict</key>
+    </entry>
+    <entry>
+      <key>dataset</key>
+    </entry>
+    <entry>
+      <key>entity</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/CampaignEdit_view/CampaignEdit_view.aod b/neonView/CampaignEdit_view/CampaignEdit_view.aod
index 09b4854722..4636fbdffb 100644
--- a/neonView/CampaignEdit_view/CampaignEdit_view.aod
+++ b/neonView/CampaignEdit_view/CampaignEdit_view.aod
@@ -18,7 +18,7 @@
       <showDrawer v="false" />
       <drawerCaption></drawerCaption>
       <entityField>#ENTITY</entityField>
-      <title>Neue Kampagne</title>
+      <title>New Campaign</title>
       <fields>
         <entityFieldLink>
           <name>df6356cf-e0bd-4947-8163-736301e622cf</name>
diff --git a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
index 65f90217df..930baab2cb 100644
--- a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
+++ b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>CampaignStepEdit_view</name>
-  <title>Neuer Kampagnenschritt</title>
+  <title>New campaign step</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <size>SMALL</size>
   <overlayOrientation>PORTRAIT</overlayOrientation>
diff --git a/neonView/LeadimportLeadFilter_view/LeadimportLeadFilter_view.aod b/neonView/LeadimportLeadFilter_view/LeadimportLeadFilter_view.aod
index e62ead8520..5d7859d4cc 100644
--- a/neonView/LeadimportLeadFilter_view/LeadimportLeadFilter_view.aod
+++ b/neonView/LeadimportLeadFilter_view/LeadimportLeadFilter_view.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>LeadimportLeadFilter_view</name>
-  <title>Transferdaten</title>
+  <title>Transfer data</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
   <layout>
diff --git a/neonView/PersonMultiEditQuickEntry_view/PersonMultiEditQuickEntry_view.aod b/neonView/PersonMultiEditQuickEntry_view/PersonMultiEditQuickEntry_view.aod
index f93d76ce50..5b15646ad0 100644
--- a/neonView/PersonMultiEditQuickEntry_view/PersonMultiEditQuickEntry_view.aod
+++ b/neonView/PersonMultiEditQuickEntry_view/PersonMultiEditQuickEntry_view.aod
@@ -11,7 +11,7 @@
     <genericMultipleViewTemplate>
       <name>GenericMultiple</name>
       <entityField>#ENTITY</entityField>
-      <title>Weitere Kontakte</title>
+      <title>more contacts</title>
       <devices>
         <element>MOBILE</element>
         <element>TABLET</element>
diff --git a/report/Organisation_report/Organisation_report.aod b/report/Organisation_report/Organisation_report.aod
index 0d4e3d583a..f04a61ab01 100644
--- a/report/Organisation_report/Organisation_report.aod
+++ b/report/Organisation_report/Organisation_report.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
   <name>Organisation_report</name>
-  <title>Kundenstammblatt</title>
+  <title>Customer Base Sheet</title>
   <description></description>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <icon>%aditoprj%/report/Organisation_report/icon.png</icon>
diff --git a/report/Reminder_report/Reminder_report.aod b/report/Reminder_report/Reminder_report.aod
index f36b26362c..795c617033 100644
--- a/report/Reminder_report/Reminder_report.aod
+++ b/report/Reminder_report/Reminder_report.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
   <name>Reminder_report</name>
-  <title>Mahnung</title>
+  <title>Reminder</title>
   <description></description>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <reportData>%aditoprj%/report/Reminder_report/reportData.jrxml</reportData>
-- 
GitLab


From 8f2250bd32e4f465fb65d9f2bbc274d7cb23fd89 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 08:07:59 +0200
Subject: [PATCH 041/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201064455][Dubletten-Integration=20bei=20User:=20Contac?=
 =?UTF-8?q?tId=20wird=20nicht=20=C3=BCbertragen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../integratecurrentintoselectedaction/onActionProcess.js  | 7 +++++++
 .../integrateselectedintocurrentaction/onActionProcess.js  | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
index 648ecdcc39..c5025d447a 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
@@ -1,3 +1,4 @@
+import("system.tools");
 import("Employee_lib");
 import("system.vars");
 import("system.neon");
@@ -11,6 +12,12 @@ var mergeSuccess = DuplicateScannerUtils.MergePerson(sourceContactId, targetCont
 
 if(mergeSuccess)
 {
+    var user = tools.getUserByAttribute(tools.CONTACTID, sourceContactId);
+    
+    if (user) {
+    user[tools.PARAMS][tools.CONTACTID] = targetContactId;
+    tools.updateUser(user);
+    }
     var currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
diff --git a/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
index 651c632fb2..8b4940918a 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
@@ -1,3 +1,4 @@
+import("system.tools");
 import("system.db");
 import("Employee_lib");
 import("KeywordRegistry_basic");
@@ -15,6 +16,12 @@ var mergeSuccess = DuplicateScannerUtils.MergePerson(sourceContactId, targetCont
 
 if(mergeSuccess)
 {
+    var user = tools.getUserByAttribute(tools.CONTACTID, sourceContactId);
+    
+    if (user) {
+    user[tools.PARAMS][tools.CONTACTID] = targetContactId;
+    tools.updateUser(user);
+    }
     var currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
-- 
GitLab


From ddfc0a2cfcdb27ec4af03585427234218efc6ef6 Mon Sep 17 00:00:00 2001
From: Tom Lutzenberger <t.lutzenberger@adito.de>
Date: Mon, 21 Sep 2020 07:44:50 +0000
Subject: [PATCH 042/251] #1065199 campaign creation bug

---
 .../recordfieldmappings/date_end.value/expression.js   | 10 +++++++++-
 .../recordfieldmappings/date_start.value/expression.js | 10 +++++++++-
 neonView/360DegreeFilter_view/360DegreeFilter_view.aod |  1 -
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_end.value/expression.js b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_end.value/expression.js
index 11c7772942..510c61f479 100644
--- a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_end.value/expression.js
+++ b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_end.value/expression.js
@@ -1,4 +1,12 @@
+import("system.neon");
 import("system.result");
+import("system.vars");
 
 
-result.string("STEPDATEEND_ALIAS");
\ No newline at end of file
+var recordState = vars.get("$sys.recordstate");
+
+if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
+    result.string("STEPDATEEND_ALIAS");
+} else {
+    result.string("0");
+}
diff --git a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_start.value/expression.js b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_start.value/expression.js
index ab23a74c47..77d1b3dde6 100644
--- a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_start.value/expression.js
+++ b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_start.value/expression.js
@@ -1,4 +1,12 @@
+import("system.neon");
 import("system.result");
+import("system.vars");
 
 
-result.string("STEPDATESTART_ALIAS");
\ No newline at end of file
+var recordState = vars.get("$sys.recordstate");
+
+if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
+    result.string("STEPDATESTART_ALIAS");
+} else {
+    result.string("0");
+}
\ No newline at end of file
diff --git a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
index c0e2ae19ee..87ccd07eaf 100644
--- a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
+++ b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
@@ -15,7 +15,6 @@
       <titleField>TITLE</titleField>
       <descriptionField>DATE</descriptionField>
       <iconField>ICON</iconField>
-      <hideContentSearch v="false" />
       <entityField>#ENTITY</entityField>
       <defaultGroupFields>
         <element>ENTITY_NAME</element>
-- 
GitLab


From 9dfa49acf6a542d68663e3c28a807a93112b5a86 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 07:48:16 +0000
Subject: [PATCH 043/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065477][L=C3=B6schen=20=C3=BCber=20"Weitere=20Funkti?=
 =?UTF-8?q?onen"=20l=C3=B6scht=20nicht=20alle=20Daten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Contact_entity/Contact_entity.aod       |  1 +
 .../recordcontainers/db/onDBDelete.js          | 18 ++++++++++++++++++
 .../recordcontainers/db/onDBDelete.js          |  4 ++--
 3 files changed, 21 insertions(+), 2 deletions(-)
 create mode 100644 entity/Contact_entity/recordcontainers/db/onDBDelete.js

diff --git a/entity/Contact_entity/Contact_entity.aod b/entity/Contact_entity/Contact_entity.aod
index 53ca53c9db..41a386bd8d 100644
--- a/entity/Contact_entity/Contact_entity.aod
+++ b/entity/Contact_entity/Contact_entity.aod
@@ -263,6 +263,7 @@
       <fromClauseProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
       <conditionProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <onDBDelete>%aditoprj%/entity/Contact_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>86ded52f-1b55-4d3d-b89d-23c465f20566</name>
diff --git a/entity/Contact_entity/recordcontainers/db/onDBDelete.js b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 0000000000..db41811d78
--- /dev/null
+++ b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,18 @@
+import("Sql_lib");
+import("Context_lib");
+import("Attribute_lib");
+import("Workflow_lib");
+import("system.vars");
+import("DuplicateScanner_lib");
+
+var contactId = vars.get("$field.CONTACTID");
+DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
+
+new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
+    .deleteAllAttributes();
+
+newWhere("COMMUNICATION.CONTACT_ID", contactId).deleteData();
+newWhere("ADDRESS.CONTACT_ID", contactId).deleteData();
+newWhere("COMMRESTRICTION.CONTACT_ID", contactId).deleteData();
+
+WorkflowSignalSender.deleted();
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/onDBDelete.js b/entity/Person_entity/recordcontainers/db/onDBDelete.js
index c6f452b97c..db41811d78 100644
--- a/entity/Person_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Person_entity/recordcontainers/db/onDBDelete.js
@@ -4,8 +4,8 @@ import("Attribute_lib");
 import("Workflow_lib");
 import("system.vars");
 import("DuplicateScanner_lib");
-// TODO: enable when duplicate-module is finalized
-let contactId = vars.get("$field.CONTACTID");
+
+var contactId = vars.get("$field.CONTACTID");
 DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
 
 new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
-- 
GitLab


From 2e8106d1e6a381e188dd15f5b0a493f2dd1cc079 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 11:24:11 +0200
Subject: [PATCH 044/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1063549][Commrestriction Liquibase Spaltentyp]

---
 .../alter_CommrestrictionsEmployeeInvolved.xml  | 17 +++++++++++++++++
 .../Data_alias/basic/2020.2.0/changelog.xml     |  1 +
 2 files changed, 18 insertions(+)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.0/alter_CommrestrictionsEmployeeInvolved.xml

diff --git a/.liquibase/Data_alias/basic/2020.2.0/alter_CommrestrictionsEmployeeInvolved.xml b/.liquibase/Data_alias/basic/2020.2.0/alter_CommrestrictionsEmployeeInvolved.xml
new file mode 100644
index 0000000000..487e3f6392
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.0/alter_CommrestrictionsEmployeeInvolved.xml
@@ -0,0 +1,17 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">   
+    <changeSet dbms="derby" author="b.ulrich" id="c56df7ca-aa5c-426b-bdb7-16f8ad16d17c">
+        <sql>
+            ALTER TABLE COMMRESTRICTION ADD COLUMN EMPLOYEE_INVOLVED_NEW CHAR(36);
+            UPDATE COMMRESTRICTION SET EMPLOYEE_INVOLVED_NEW=EMPLOYEE_INVOLVED;
+            ALTER TABLE COMMRESTRICTION DROP COLUMN EMPLOYEE_INVOLVED;
+            RENAME COLUMN COMMRESTRICTION.EMPLOYEE_INVOLVED_NEW TO EMPLOYEE_INVOLVED;
+        </sql>
+    </changeSet>
+    
+    <changeSet dbms="!derby" author="b.ulrich" id="17c1eb73-3131-4a2b-bf9a-913590767c79">
+        <modifyDataType tableName="COMMRESTRICTION" columnName="EMPLOYEE_INVOLVED" newDataType="CHAR(36)"/>
+    </changeSet>
+
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
index 2979f8b183..620de86991 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/changelog.xml
@@ -12,4 +12,5 @@
     <include relativeToChangelogFile="true" file="ReportDispatchImpl/add_DocumentTemplatePlaceOfUse.xml"/>
     <include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityDatatype.xml"/>
     <include relativeToChangelogFile="true" file="alter_KeywordTitlesForTranslation.xml"/>
+    <include relativeToChangelogFile="true" file="alter_CommrestrictionsEmployeeInvolved.xml"/>
 </databaseChangeLog>
-- 
GitLab


From 86b568008418c8f9938ca2730571dcca4b5256e2 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 13:32:27 +0200
Subject: [PATCH 045/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064083][[Serienmail] Unterschiedliche Preview]

---
 neonContext/BulkMail/BulkMail.aod             |  4 ----
 .../BulkMailMainPreview_view.aod              | 23 -------------------
 .../BulkMailMain_view/BulkMailMain_view.aod   |  6 ++---
 .../BulkMailPreview_view.aod                  |  5 ++++
 4 files changed, 8 insertions(+), 30 deletions(-)
 delete mode 100644 neonView/BulkMailMainPreview_view/BulkMailMainPreview_view.aod

diff --git a/neonContext/BulkMail/BulkMail.aod b/neonContext/BulkMail/BulkMail.aod
index 393dc69322..f87a16ce60 100644
--- a/neonContext/BulkMail/BulkMail.aod
+++ b/neonContext/BulkMail/BulkMail.aod
@@ -29,9 +29,5 @@
       <name>6b057fb0-94ac-4bca-88b2-c97fdfcf9d6e</name>
       <view>BulkMailContent_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>fb5bc6ed-d3c9-45ef-a0c7-17b190e3ce74</name>
-      <view>BulkMailMainPreview_view</view>
-    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/BulkMailMainPreview_view/BulkMailMainPreview_view.aod b/neonView/BulkMailMainPreview_view/BulkMailMainPreview_view.aod
deleted file mode 100644
index fa1411c9d2..0000000000
--- a/neonView/BulkMailMainPreview_view/BulkMailMainPreview_view.aod
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
-  <name>BulkMailMainPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <footer>e8f0200f-3447-4196-8aba-f2966e83689a</footer>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>2a1f719c-1838-4f30-8fb7-27cd7bbf16ee</name>
-      <entityField>#ENTITY</entityField>
-      <view>BulkMailPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e8f0200f-3447-4196-8aba-f2966e83689a</name>
-      <entityField>RecipientStatusChart</entityField>
-      <view>BulkMailStatusChart_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/BulkMailMain_view/BulkMailMain_view.aod b/neonView/BulkMailMain_view/BulkMailMain_view.aod
index 64a7c61cca..5c3d99ce8a 100644
--- a/neonView/BulkMailMain_view/BulkMailMain_view.aod
+++ b/neonView/BulkMailMain_view/BulkMailMain_view.aod
@@ -5,7 +5,7 @@
   <layout>
     <masterSlaveLayout>
       <name>layout</name>
-      <master>3f7fc7d4-7cda-428c-8acb-364addc5239c</master>
+      <master>9dd4620e-2945-4f14-8e22-443812056001</master>
     </masterSlaveLayout>
   </layout>
   <children>
@@ -30,9 +30,9 @@
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>3f7fc7d4-7cda-428c-8acb-364addc5239c</name>
+      <name>9dd4620e-2945-4f14-8e22-443812056001</name>
       <entityField>#ENTITY</entityField>
-      <view>BulkMailMainPreview_view</view>
+      <view>BulkMailPreview_view</view>
     </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
index f01706069a..7e3f5b4804 100644
--- a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
+++ b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
@@ -69,5 +69,10 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>23ab3cb7-2d15-467d-8bd1-536ddd6262c7</name>
+      <entityField>RecipientStatusChart</entityField>
+      <view>BulkMailStatusChart_view</view>
+    </neonViewReference>
   </children>
 </neonView>
-- 
GitLab


From 51843ff30f7af44b996a3dab48994c38eae976ce Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Mon, 21 Sep 2020 15:50:16 +0200
Subject: [PATCH 046/251] =?UTF-8?q?#1065622-AttributeusageLeadimport=20Att?=
 =?UTF-8?q?ributeusage=20wird=20ber=C3=BCcksichtigt.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/Leadimport_lib/process.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 5d102d64c0..573bbca214 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -1,3 +1,4 @@
+import("Attribute_lib");
 import("ExportTemplate_lib");
 import("system.workflow");
 import("system.project");
@@ -732,6 +733,8 @@ LeadImportUtils.insertLeadAttr  = function(pAttrObject, orgid, persid, pUser, pD
  */
 LeadImportUtils.sqlInsertAttr = function(pAttrObject, pAttrValues, pUser, pDate)
 {
+    if (AttributeUtil.getPossibleAttributes(pAttrValues[0]).indexOf(pAttrValues[1]) == -1)
+        return;
     pAttrValues[8] = util.getNewUUID();
     pAttrValues[9] = pUser;
     pAttrValues[10] = pDate;
-- 
GitLab


From 0c61224ae64d7e36ae6b101f9f26e384d2468561 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Mon, 21 Sep 2020 14:48:16 +0000
Subject: [PATCH 047/251] =?UTF-8?q?#1064634-CalendarPermission=5FBugVergab?=
 =?UTF-8?q?eBerechtigung=20Abfangen=20von=20Leerstring=20Fehlern=20und=20H?=
 =?UTF-8?q?inzuf=C3=BCgen=20von=20=C3=9Cbersetzung?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../permissiondealer_department_rowid/onValueChange.js | 10 +++++++---
 .../permissiondealer_user_rowid/onValueChange.js       | 10 ++++++----
 .../onValueChange.js                                   |  2 +-
 .../permissionprocurer_user_rowid/onValueChange.js     |  2 +-
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod         |  4 ++--
 5 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/entity/PermissionCalendar_entity/entityfields/permissiondealer_department_rowid/onValueChange.js b/entity/PermissionCalendar_entity/entityfields/permissiondealer_department_rowid/onValueChange.js
index 714a30b415..701342d4f8 100644
--- a/entity/PermissionCalendar_entity/entityfields/permissiondealer_department_rowid/onValueChange.js
+++ b/entity/PermissionCalendar_entity/entityfields/permissiondealer_department_rowid/onValueChange.js
@@ -4,10 +4,14 @@ import("system.vars");
 let userRowIdVal = vars.getString("$field.PERMISSIONDEALER_USER_ROWID.val");
 let departmentRowIdVal = vars.getString("$field.PERMISSIONDEALER_DEPARTMENT_ROWID.val");
 
-if (userRowIdVal != departmentRowIdVal){
-    vars.set("$field.PERMISSIONDEALER_USER_ROWID", departmentRowIdVal);
+if (departmentRowIdVal) 
+{
+    if (userRowIdVal != departmentRowIdVal){
+        vars.set("$field.PERMISSIONDEALER_USER_ROWID", departmentRowIdVal);
+    }
+
+    vars.set("$field.permissionDealer_rowId", departmentRowIdVal);
 }
 
-vars.set("$field.permissionDealer_rowId", departmentRowIdVal);
 
     
\ No newline at end of file
diff --git a/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/onValueChange.js b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/onValueChange.js
index e00a175242..f1f8090d69 100644
--- a/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/onValueChange.js
+++ b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/onValueChange.js
@@ -4,7 +4,9 @@ import("system.vars");
 let user_rowId_val = vars.getString("$field.PERMISSIONDEALER_USER_ROWID.val");
 let department_rowId_val = vars.getString("$field.PERMISSIONDEALER_DEPARTMENT_ROWID.val");
 
-if (user_rowId_val != department_rowId_val){
-    // Caution indireckt call of PERMISSIONDEALER_DEPARTMENT_ROWID.onValueChange
-    vars.set("$field.PERMISSIONDEALER_DEPARTMENT_ROWID", user_rowId_val);
-}
\ No newline at end of file
+if (user_rowId_val){
+    if (user_rowId_val != department_rowId_val){
+        // Caution indireckt call of PERMISSIONDEALER_DEPARTMENT_ROWID.onValueChange
+        vars.set("$field.PERMISSIONDEALER_DEPARTMENT_ROWID", user_rowId_val);
+    }
+}
diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_department_rowid/onValueChange.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_department_rowid/onValueChange.js
index a10a281ce5..73a8618c76 100644
--- a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_department_rowid/onValueChange.js
+++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_department_rowid/onValueChange.js
@@ -2,7 +2,7 @@ import("KeywordRegistry_basic");
 import("system.neon");
 import("system.vars");
 
-if (vars.get("$this.value") != null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if (vars.get("$this.value") && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
     vars.set("$field.PERMISSIONPROCURER_ROWID", vars.get("$this.value"));
     vars.set("$field.PERMISSIONPROCURER_TYPE", $KeywordRegistry.permissionCalendarType$department());
diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js
index 03e9dfdfd7..436506066a 100644
--- a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js
+++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js
@@ -2,7 +2,7 @@ import("KeywordRegistry_basic");
 import("system.neon");
 import("system.vars");
 
-if (vars.get("$this.value") != null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if (vars.get("$this.value") && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
     vars.set("$field.PERMISSIONPROCURER_ROWID", vars.get("$this.value"));
     vars.set("$field.PERMISSIONPROCURER_TYPE", $KeywordRegistry.permissionCalendarType$user());
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index ba1f8173d9..a4ae04b67f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9036,7 +9036,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Grant new Department Permission</key>
-      <value>Neue Abteilungs-Berechtigung vergeben</value>
+      <value>Neue Abteilungsberechtigung vergeben</value>
     </entry>
     <entry>
       <key>Current password</key>
@@ -9404,7 +9404,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Grant new User Permission</key>
-      <value>Neue Benutzerberechtigung vegeben</value>
+      <value>Neue Benutzerberechtigung vergeben</value>
     </entry>
     <entry>
       <key>%0 of the chosen records are already recipients.</key>
-- 
GitLab


From 20e5a0aa59bbc5b926f53ee44cdecb60de9c4837 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 17:04:18 +0200
Subject: [PATCH 048/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064841][Dublettenkonfiguration - identische Beschriftung vorhanden]

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index a4ae04b67f..77aa98e6a6 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -7305,7 +7305,7 @@
     </entry>
     <entry>
       <key>Rebuild Organisation duplicates cache</key>
-      <value>organisationsduplettencache neuaufbauen</value>
+      <value>Firmen Dubletten Cache wiederherstellen</value>
     </entry>
     <entry>
       <key>Tab</key>
@@ -7365,7 +7365,7 @@
     </entry>
     <entry>
       <key>Rebuild Person duplicates cache</key>
-      <value>Firmen Dubletten Cache wiederherstellen</value>
+      <value>Personen Dubletten Cache wiederherstellen</value>
     </entry>
     <entry>
       <key>Unrelated organisation duplicates</key>
-- 
GitLab


From 6e36c171ef432a68391deb22780133e592ed2900 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Tue, 22 Sep 2020 08:14:41 +0200
Subject: [PATCH 049/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201064221][Kontakt:=20Suche=20'Firma:Name=20enth=C3=A4l?=
 =?UTF-8?q?t=20nicht=20=3D>=20Datens=C3=A4tze=20werden=20trotzdem=20angeze?=
 =?UTF-8?q?igt]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../organisations/filterConditionProcess.js                    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
index 58155b84d1..6664ea968a 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
@@ -6,4 +6,5 @@ var from = "CONTACT PersonContact\n\
     join ORGANISATION on (ORGANISATION.ORGANISATIONID = PersonContact.ORGANISATION_ID)\n\
     join CONTACT on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and CONTACT.PERSON_ID is null)";
 
-result.string("PERSONID in (select PersonContact.PERSON_ID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+//using the ContactId instead of the PersonId to make it possible to also filter the functions by e.g organisationName
+result.string("CONTACTID in (select PersonContact.CONTACTID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
-- 
GitLab


From 24467f6ff63a1b4d00ca20a89ea97ce3e171e0b3 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Tue, 22 Sep 2020 08:55:35 +0200
Subject: [PATCH 050/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065528][Erstellen=20von=20Dokumenten=20nicht=20mehr?=
 =?UTF-8?q?=20m=C3=B6glich]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Document_entity/Document_entity.aod                     | 1 +
 .../entityfields/disallowcreate_param/valueProcess.js          | 3 +++
 2 files changed, 4 insertions(+)
 create mode 100644 entity/Document_entity/entityfields/disallowcreate_param/valueProcess.js

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index dd65b75f3f..06715c4803 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -338,6 +338,7 @@
     </entityProvider>
     <entityParameter>
       <name>DisallowCreate_param</name>
+      <valueProcess>%aditoprj%/entity/Document_entity/entityfields/disallowcreate_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
     <entityProvider>
diff --git a/entity/Document_entity/entityfields/disallowcreate_param/valueProcess.js b/entity/Document_entity/entityfields/disallowcreate_param/valueProcess.js
new file mode 100644
index 0000000000..e0f3ec47e2
--- /dev/null
+++ b/entity/Document_entity/entityfields/disallowcreate_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(false);
\ No newline at end of file
-- 
GitLab


From 2584b438592fd026ec617882afad6badcaf9ed06 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 22 Sep 2020 11:03:03 +0200
Subject: [PATCH 051/251] Removed unnecessary code

---
 process/PermissionCalendar_lib/process.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/process/PermissionCalendar_lib/process.js b/process/PermissionCalendar_lib/process.js
index 56c7388c90..5fdc9fb6c3 100644
--- a/process/PermissionCalendar_lib/process.js
+++ b/process/PermissionCalendar_lib/process.js
@@ -264,7 +264,6 @@ PermissionCalendar.getTree = function(pCurrentUser)
         PermissionCalendar._getDataRecursive(root[0], pCurrentUser, permissions, user, resultArr);    
     
     return resultArr;
-    resultArr = [];
 };
 
 /**
-- 
GitLab


From 8874254ff4d5dd7821b7b9931698e26af529e4d1 Mon Sep 17 00:00:00 2001
From: Tom Lutzenberger <t.lutzenberger@adito.de>
Date: Tue, 22 Sep 2020 14:03:04 +0200
Subject: [PATCH 052/251] #1064151: Fix campaign copy bug

---
 .../recordcontainers/db/conditionProcess.js               | 8 +++++++-
 process/Campaign_lib/process.js                           | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
index 80bfe7f521..b56a17e4e1 100644
--- a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
@@ -1,19 +1,25 @@
 import("system.db");
+import("system.neon");
 import("system.result");
 import("system.vars");
 import("Employee_lib");
 import("Sql_lib");
 
 
+var recordState = vars.get("$sys.recordstate");
+
 if(vars.get("$param.ShowOnlyCurrentUsersCampaigns_param") == 'true')
 {
     //TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026
     result.string(newWhere("CAMPAIGN.EMPLOYEE_CONTACT_ID", EmployeeUtils.getCurrentContactId()).toString());
-} else {
+} else if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
     var condition = new SqlBuilder()
         .whereIfSet("STEPDATESTART_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID")
         .andIfSet("STEPDATEEND_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID")
         ;
 
     result.string(condition.toString());
+} else {
+    
+    result.string(newWhere().toString());
 }
\ No newline at end of file
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 99d839acf1..9db490141b 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -652,7 +652,7 @@ CampaignUtils.copyCampaignSteps = function(pSourceCampaignId, pTargetCampaignId)
 {
     var InputMapping = {
         "CAMPAIGNSTEP": {
-            condition: newWhereIfSet("CAMPAIGN.CAMPAIGN_ID", pSourceCampaignId).orderBy("SORTING").toString(SqlBuilder.NORESULT_CONDITION(), true),
+            condition: newWhereIfSet("CAMPAIGNSTEP.CAMPAIGN_ID", pSourceCampaignId).orderBy("SORTING").toString(SqlBuilder.NORESULT_CONDITION(), true),
             ValueMapping: {
                 "CAMPAIGN_ID" : pTargetCampaignId
             }
-- 
GitLab


From e38c5698dcee2a79ab6666e4fdcbabbc9ca2f8f8 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Tue, 22 Sep 2020 14:30:25 +0000
Subject: [PATCH 053/251] #1063345 fix campaign planning maria db

---
 .../jditorecordcontainer/contentProcess.js          | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/contentProcess.js
index b062fc853d..9f1541d2f9 100644
--- a/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/contentProcess.js
+++ b/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/contentProcess.js
@@ -17,8 +17,17 @@ var TARGET_CONTEXT_ELEMENT = "CampaignStep";
 var campaignRows = {};
 var stepIds = {};
 
-var stepsRows = stepCondition.select("CAMPAIGNSTEPID, CAMPAIGNSTEP.\"NAME\", CAMPAIGNSTEP.PREDECESSORSTEP_ID,"
-                                   + " CAMPAIGNSTEP.DESCRIPTION, CAMPAIGNSTEP.DATE_START, CAMPAIGNSTEP.DATE_END, CAMPAIGNID, CAMPAIGN.\"NAME\", CAMPAIGN.STATUS")
+var columnName = "\"NAME\"";
+var alias = vars.get("$sys.dbalias");
+var isMariaDB = db.getDatabaseType(alias) == db.DBTYPE_MARIADB10;
+
+if (isMariaDB)
+{
+    columnName = "\`NAME\`";
+}
+
+var stepsRows = stepCondition.select("CAMPAIGNSTEPID, CAMPAIGNSTEP."+ columnName + ", CAMPAIGNSTEP.PREDECESSORSTEP_ID,"
+                                   + " CAMPAIGNSTEP.DESCRIPTION, CAMPAIGNSTEP.DATE_START, CAMPAIGNSTEP.DATE_END, CAMPAIGNID, CAMPAIGN."+ columnName +", CAMPAIGN.STATUS")
                              .from("CAMPAIGN")
                              .join("CAMPAIGNSTEP", "CAMPAIGN.CAMPAIGNID = CAMPAIGNSTEP.CAMPAIGN_ID")
                              .orderBy("SORTING")
-- 
GitLab


From 05d55977192771187f01a096724834825618f1bf Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 22 Sep 2020 16:41:06 +0200
Subject: [PATCH 054/251] ctiServerEvents: refactoring notifications

---
 process/ctiServerEvents/process.js | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/process/ctiServerEvents/process.js b/process/ctiServerEvents/process.js
index e0df2b323d..9ad5932612 100644
--- a/process/ctiServerEvents/process.js
+++ b/process/ctiServerEvents/process.js
@@ -62,10 +62,8 @@ var ringingHandlerFn = function()
                 var affectedContext = this.contactsCall[0].PERSON_ID.trim() == "" ? "Organisation" : "Person";
                 notificationConfig.linkInfo(text.encodeMS([affectedContext, affectedContactId]));
             }
-            
-            notificationConfig.initialState(notification.STATE_CONFIRMED);
-
-            
+            //do not set the notification-state CONFIRMED here because otherwise setting the state in the disconnectingHandlerFn would not work 
+            //the logic for the correct state is handled there
             notification.addNotificationWith(notificationConfig);
             return null;
         }, this);
@@ -100,6 +98,7 @@ var disconnectingHandlerFn = function()
 
     var [lastAnswermode, callBeginTime] = lastCallData
     var isMissedCall = lastAnswermode == "" || lastAnswermode == $KeywordRegistry.callAnswerMode$missed();//no TALKING state was called -> this means that the call has been missed
+    var isUnknownCall = this.contactsCall.length == 0;
 
     var cols = ["DATE_EDIT"];
     var vals = [callEndTime];
@@ -125,7 +124,7 @@ var disconnectingHandlerFn = function()
         var title, desc;
         if (isMissedCall)
         {
-            if (this.contactsCall.length == 0)
+            if (isUnknownCall)
             {
                 title = translate.withArguments("Call from unknown", [], targetLocale);
                 desc = translate.withArguments("Missed call from %0 to %1", [this.getFormattedCallAddress(), this.getFormattedLocalAddress()], targetLocale);
@@ -140,7 +139,7 @@ var disconnectingHandlerFn = function()
         else
         {
             var talkDuration = DateUtils.formatDurationFromStartTillEnd(callBeginTime, callEndTime, targetLocale);
-            if (this.contactsCall.length == 0)
+            if (isUnknownCall)
             {
                 title = translate.withArguments("Call from unknown", [], targetLocale);
                 desc = translate.withArguments("Unknown accepted call from %0 to %1, duration: %2", [this.getFormattedCallAddress(), this.getFormattedLocalAddress(), talkDuration], targetLocale);
@@ -157,7 +156,7 @@ var disconnectingHandlerFn = function()
         if (notificationConfig == null)
             return null;
 
-        if (this.contactsCall.length > 0)
+        if (!isUnknownCall)
         {
             //add the linkInfo again because otherwise the linkInfo would be overwritten with null when disconnecting
             //TODO: wait for #1047703 
@@ -167,7 +166,11 @@ var disconnectingHandlerFn = function()
         }
         
         notificationConfig.description(desc).caption(title);
-
+        notificationConfig.remindAgainOnNewContent(false);
+        if (isMissedCall)
+            notificationConfig.initialState(notification.STATE_UNSEEN);
+        else
+            notificationConfig.initialState(notification.STATE_CONFIRMED);
         notification.addNotificationWith(notificationConfig);
         return null;
     }, this);
-- 
GitLab


From 8deb053965eacc351d4f748f90cc8177fe3133dc Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 22 Sep 2020 16:41:21 +0200
Subject: [PATCH 055/251] DocumentTemaplate: adjustet wrong view

---
 .../DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod  | 1 -
 1 file changed, 1 deletion(-)

diff --git a/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod b/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
index 129100f62d..7eadad0864 100644
--- a/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
+++ b/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
@@ -21,7 +21,6 @@
     </tilesViewTemplate>
     <treeTableViewTemplate>
       <name>SearchTree</name>
-      <parentField>KIND</parentField>
       <entityField>#ENTITY</entityField>
       <linkedColumns>
         <element>NAME</element>
-- 
GitLab


From 9741750bba9e4519ce49a10d39dad45c1d630d19 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Wed, 23 Sep 2020 06:52:14 +0000
Subject: [PATCH 056/251] #1065600 fixed adding contact to campaign step
 from360

---
 .../entityfields/addparticipants/onActionProcess.js        | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
index 6b8422bd3d..798e2b67f2 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
@@ -146,12 +146,13 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
             ];
 
             let valsCampaignParticipantLog = [
-                campaignParticipantLogId, 
+                campaignParticipantLogId,
                 campaignId, 
-                newCampaignStepId,
+                newCampaignStepId, 
                 campaignParticipantId, 
                 vars.get("$sys.user"), 
-                vars.get("$sys.date")
+                vars.get("$sys.date"), 
+                ""
             ];
 
             statementArray.push(["CAMPAIGNPARTICIPANT", cols, null, valsCampaignParticipant]);
-- 
GitLab


From 3b31a0d2bedaa9dcc324d3e0d48ac87448bd9f60 Mon Sep 17 00:00:00 2001
From: Daniel Tran <daniel.tran@mailbox.org>
Date: Wed, 23 Sep 2020 10:07:01 +0200
Subject: [PATCH 057/251] #1064012: Set isEditable property for
 genericViewTemplate in CampaignPreview_view, to false.

---
 neonView/CampaignPreview_view/CampaignPreview_view.aod | 1 +
 1 file changed, 1 insertion(+)

diff --git a/neonView/CampaignPreview_view/CampaignPreview_view.aod b/neonView/CampaignPreview_view/CampaignPreview_view.aod
index a85780112d..6cbe20bbb7 100644
--- a/neonView/CampaignPreview_view/CampaignPreview_view.aod
+++ b/neonView/CampaignPreview_view/CampaignPreview_view.aod
@@ -34,6 +34,7 @@
       <showDrawer v="true" />
       <drawerCaption>Campaign Period</drawerCaption>
       <entityField>#ENTITY</entityField>
+      <isEditable v="false" />
       <title>Campaign Period</title>
       <fields>
         <entityFieldLink>
-- 
GitLab


From a58eedf3f79e147cafc4b37034d6c5fd0de61556 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 23 Sep 2020 11:38:33 +0200
Subject: [PATCH 058/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1060560][Umkreissuche implementieren]

---
 entity/Organisation_entity/Organisation_entity.aod  |  2 +-
 .../_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod     | 12 ++++++++++++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod      | 13 +++++++++++++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod      | 12 ++++++++++++
 4 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index d877dda51e..0c8dac8ecf 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1165,7 +1165,7 @@
     </entityActionField>
     <entityActionField>
       <name>openLocation</name>
-      <title>Location</title>
+      <title>Open Location</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/openlocation/onActionProcess.js</onActionProcess>
       <iconId>NEON:TACKED</iconId>
     </entityActionField>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 4456bbd1de..82790d93e5 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7242,6 +7242,18 @@
     <entry>
       <key>entity</key>
     </entry>
+    <entry>
+      <key>Open Location</key>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>ab 350 D€</key>
+    </entry>
+    <entry>
+      <key>ab 1000</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 77aa98e6a6..ce7c55d5fe 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9608,6 +9608,19 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
     </entry>
+    <entry>
+      <key>Open Location</key>
+      <value>Standort öffnen</value>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>ab 350 D€</key>
+    </entry>
+    <entry>
+      <key>ab 1000</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 19ec9d0a4d..7b9c9756c4 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7323,6 +7323,18 @@
     <entry>
       <key>entity</key>
     </entry>
+    <entry>
+      <key>Open Location</key>
+    </entry>
+    <entry>
+      <key>beschränken</key>
+    </entry>
+    <entry>
+      <key>ab 350 D€</key>
+    </entry>
+    <entry>
+      <key>ab 1000</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From 648825ac95b705e25761a818bd47656a1e9e19ec Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 23 Sep 2020 11:57:01 +0200
Subject: [PATCH 059/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201054781][=C3=84nderung=20der=20Anordnung=20der=20Feld?=
 =?UTF-8?q?er=20bei=20Aktivit=C3=A4tsanlage]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 neonView/ActivityEdit_view/ActivityEdit_view.aod | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/neonView/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod
index 43d67ddddc..955128744e 100644
--- a/neonView/ActivityEdit_view/ActivityEdit_view.aod
+++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod
@@ -24,14 +24,14 @@
           <name>b90a5d96-9d1f-4eeb-b42c-0debeb7cf260</name>
           <entityField>INFO</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>921a6690-43dc-488b-ae0a-4a0ab88a99ab</name>
-          <entityField>CATEGORY</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>a787b6c0-078d-47ff-9bff-eee1623d1760</name>
           <entityField>ENTRYDATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>921a6690-43dc-488b-ae0a-4a0ab88a99ab</name>
+          <entityField>CATEGORY</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>d767e312-b28a-42e9-9e7d-b4ad82f25ff0</name>
           <entityField>DIRECTION</entityField>
-- 
GitLab


From 111857231ce42af752da93b691ae23c1f8739b38 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Wed, 23 Sep 2020 12:14:58 +0200
Subject: [PATCH 060/251] =?UTF-8?q?#1065746=5FE-Mail=5FVersand=20=C3=9Cber?=
 =?UTF-8?q?pr=C3=BCfung=20AdditionalPlaceholders=5Fparam=20Fix?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Email_entity/entityfields/sendmail/onActionProcess.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Email_entity/entityfields/sendmail/onActionProcess.js b/entity/Email_entity/entityfields/sendmail/onActionProcess.js
index 8d7f805dd0..0ee0af9d3e 100644
--- a/entity/Email_entity/entityfields/sendmail/onActionProcess.js
+++ b/entity/Email_entity/entityfields/sendmail/onActionProcess.js
@@ -21,7 +21,7 @@ var subject = vars.get("$field.subject");
 var updateStatements = JSON.parse(vars.get("$param.UpdateStatements_param"));
 var additionalPlaceholders = null;
 
-if (vars.exists("$param.AdditionalPlaceholders_param") && vars.get("$param.AdditionalPlaceholders_param") != "null")
+if (vars.exists("$param.AdditionalPlaceholders_param") && vars.get("$param.AdditionalPlaceholders_param") != "null" && vars.get("$param.AdditionalPlaceholders_param"))
 {
     additionalPlaceholders = JSON.parse(vars.get("$param.AdditionalPlaceholders_param")).map(function (placeholder)
     {
-- 
GitLab


From 3d4b8b2ad24f2992b9ba5048ceb280494ceb74f4 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Wed, 23 Sep 2020 11:49:38 +0000
Subject: [PATCH 061/251] #1063928: Fixed strange behavior when campaign step
 end date is, at the same day as the start date or before the start date.

---
 entity/CampaignStep_entity/CampaignStep_entity.aod   |  1 +
 .../entityfields/date_end/onValidation.js            | 12 ++++++++++++
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod |  3 +++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod       |  8 ++++++++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       |  3 +++
 5 files changed, 27 insertions(+)
 create mode 100644 entity/CampaignStep_entity/entityfields/date_end/onValidation.js

diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index 3d7c9f806c..1cb097b61d 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -85,6 +85,7 @@
       <inputFormat>dd.MM.yyyy</inputFormat>
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js</valueProcess>
+      <onValidation>%aditoprj%/entity/CampaignStep_entity/entityfields/date_end/onValidation.js</onValidation>
     </entityField>
     <entityField>
       <name>STATUS</name>
diff --git a/entity/CampaignStep_entity/entityfields/date_end/onValidation.js b/entity/CampaignStep_entity/entityfields/date_end/onValidation.js
new file mode 100644
index 0000000000..e78e41c7b9
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/date_end/onValidation.js
@@ -0,0 +1,12 @@
+import("system.translate");
+import("system.result");
+import("system.vars");
+
+
+var startDate = vars.get("$field.DATE_START");
+var localValue = vars.get("$local.value");
+
+if (startDate && localValue <= startDate)
+{
+    result.string(translate.text("The end date has to be after the start."));
+}
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 82790d93e5..37ba189786 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7242,6 +7242,9 @@
     <entry>
       <key>entity</key>
     </entry>
+    <entry>
+      <key>The end date has to be after the start.</key>
+    </entry>
     <entry>
       <key>Open Location</key>
     </entry>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index ce7c55d5fe..c7b6c60456 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -10,6 +10,10 @@
       <key>Probability AI</key>
       <value>Wahrscheinlichkeit KI</value>
     </entry>
+    <entry>
+      <key>The start date has to be before the end date.</key>
+      <value>Das Startdatum muss vor dem Enddatum sein.</value>
+    </entry>
     <entry>
       <key>The given starting location is empty. An area search can not be performed.</key>
       <value>Der übergebene Startpunkt ist leer. Die Umkreissuche kann nicht ausgeführt werden.</value>
@@ -8515,6 +8519,10 @@ Bitte Datumseingabe prüfen</value>
       <key>Variable</key>
       <value>Variable</value>
     </entry>
+    <entry>
+      <key>The end date has to be after the start.</key>
+      <value>Das Enddatum muss nach dem Startdatum kommen.</value>
+    </entry>
     <entry>
       <key>me</key>
       <value>ich</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 7b9c9756c4..f3a687953e 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7323,6 +7323,9 @@
     <entry>
       <key>entity</key>
     </entry>
+    <entry>
+      <key>The end date has to be after the start.</key>
+    </entry>
     <entry>
       <key>Open Location</key>
     </entry>
-- 
GitLab


From 19655ef7b1634c68d6b3c2c4b4fd10931ca25b4d Mon Sep 17 00:00:00 2001
From: Daniel Tran <daniel.tran@mailbox.org>
Date: Wed, 23 Sep 2020 14:22:45 +0200
Subject: [PATCH 062/251] #1064050: Made fields groupable for already
 implemented treetable.

---
 entity/CampaignStep_entity/CampaignStep_entity.aod        | 4 ++++
 .../CampaignStepFilter_view/CampaignStepFilter_view.aod   | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index 1cb097b61d..38abc14be1 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -57,6 +57,7 @@
       <name>EMPLOYEE_CONTACT_ID</name>
       <title>Responsible</title>
       <consumer>Employees</consumer>
+      <groupable v="true" />
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
@@ -91,6 +92,7 @@
       <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordStates</consumer>
+      <groupable v="true" />
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
@@ -392,6 +394,7 @@
       <name>STEPMEDIUM</name>
       <title>Medium</title>
       <consumer>CampaignStepMedium</consumer>
+      <groupable v="true" />
       <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/stepmedium/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityActionField>
@@ -462,6 +465,7 @@
         <dbRecordFieldMapping>
           <name>EMPLOYEE_CONTACT_ID.value</name>
           <recordfield>CAMPAIGNSTEP.EMPLOYEE_CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>NAME.value</name>
diff --git a/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod b/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
index df00821f42..dc45eb0e65 100644
--- a/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
+++ b/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
@@ -88,6 +88,14 @@
           <name>cf22f88f-186f-4df5-bafb-d0ea9e2035de</name>
           <entityField>CurrentMaxParticipantsInfo</entityField>
         </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>64d758de-c747-429c-b48d-3360484e25ff</name>
+          <entityField>STATUS</entityField>
+        </neonTreeTableColumn>
+        <neonTreeTableColumn>
+          <name>f4ab8967-0161-4aeb-a1ec-d21f88e77385</name>
+          <entityField>STEPMEDIUM</entityField>
+        </neonTreeTableColumn>
       </columns>
     </treeTableViewTemplate>
   </children>
-- 
GitLab


From eee409643c17a257cabd28114267247433d548ff Mon Sep 17 00:00:00 2001
From: Daniel Tran <daniel.tran@mailbox.org>
Date: Wed, 23 Sep 2020 14:41:09 +0200
Subject: [PATCH 063/251] #1064048: Made fields groupable.

---
 entity/Campaign_entity/Campaign_entity.aod                    | 2 ++
 entity/Member_entity/Member_entity.aod                        | 2 ++
 .../CampaignParticipantFilter_view.aod                        | 4 ----
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index 1e61996eaa..07b9b388e4 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -70,6 +70,7 @@
       <name>EMPLOYEE_CONTACT_ID</name>
       <title>Person in charge</title>
       <consumer>Employee</consumer>
+      <groupable v="true" />
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Campaign_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
@@ -123,6 +124,7 @@
       <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordStates</consumer>
+      <groupable v="true" />
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/status/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Campaign_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod
index 807190e5ff..53dfef4032 100644
--- a/entity/Member_entity/Member_entity.aod
+++ b/entity/Member_entity/Member_entity.aod
@@ -36,12 +36,14 @@
       <name>MEMBERROLE</name>
       <title>Role</title>
       <consumer>KeywordMemberRoles</consumer>
+      <groupable v="true" />
       <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/memberrole/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>ORGANISATION_NAME</name>
       <title>Company</title>
+      <groupable v="true" />
     </entityField>
     <entityField>
       <name>ORG_ORGID</name>
diff --git a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
index 3dde5d4e26..0f7b727265 100644
--- a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
+++ b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
@@ -65,10 +65,6 @@
           <name>b5cf0352-2bb7-4219-afab-49ffd8c46fcc</name>
           <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
         </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>88e47cfc-d8cd-4192-aa70-3afb8588f75a</name>
-          <entityField>#TITLE</entityField>
-        </neonTreeTableColumn>
       </columns>
     </treeTableViewTemplate>
   </children>
-- 
GitLab


From defc36c7e2ed13c9b701be23f0b8d8c20b5f5540 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 23 Sep 2020 14:52:07 +0200
Subject: [PATCH 064/251] removed unnecessary logging.log

---
 .../recordcontainers/index/patternExtensionProcess.js           | 2 --
 1 file changed, 2 deletions(-)

diff --git a/entity/Organisation_entity/recordcontainers/index/patternExtensionProcess.js b/entity/Organisation_entity/recordcontainers/index/patternExtensionProcess.js
index a8964d1160..2e99541610 100644
--- a/entity/Organisation_entity/recordcontainers/index/patternExtensionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/index/patternExtensionProcess.js
@@ -2,7 +2,6 @@ import("Entity_lib");
 import("system.result");
 import("system.vars");
 import("system.indexsearch");
-import("system.logging");
 
 var patternConfig = indexsearch.createPatternConfig();
 
@@ -23,5 +22,4 @@ ParameterUtils.handleNotEmptyEntityParam("$param.OnlyShowContactIds_param", func
 });
 
 var pattern = indexsearch.buildPattern(patternConfig);
-logging.log("Pattern:" + pattern);
 result.string(pattern);
-- 
GitLab


From 32c0d72de0e9ee7b0d97bc572d36b98c5265aae3 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 23 Sep 2020 14:52:34 +0200
Subject: [PATCH 065/251] Attribute_entity: Code reformat

---
 .../Attribute_entity/recordcontainers/jdito/contentProcess.js  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
index fe6bcdd18f..d2083e4eb5 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
@@ -133,7 +133,8 @@ for (let i = 0, l = allNames.length; i < l; i++)
 }
 var nameCache = {};
 
-result.object(_buildAttributeTable(attributes, usages));
+var res = _buildAttributeTable(attributes, usages);
+result.object(res);
 
 //sorts the records in a way that a tree can be built and adds values
 function _buildAttributeTable (pAttributes, pUsages) 
-- 
GitLab


From 7334a85399163456160659cbdb6d31f32d28d442 Mon Sep 17 00:00:00 2001
From: Daniel Tran <daniel.tran@mailbox.org>
Date: Wed, 23 Sep 2020 15:03:24 +0200
Subject: [PATCH 066/251] #1064075: Removed no longer needed state process for
 consumer.

---
 .../Campaign_entity/entityfields/tasks/stateProcess.js | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/entity/Campaign_entity/entityfields/tasks/stateProcess.js b/entity/Campaign_entity/entityfields/tasks/stateProcess.js
index e60e2b2206..e69de29bb2 100644
--- a/entity/Campaign_entity/entityfields/tasks/stateProcess.js
+++ b/entity/Campaign_entity/entityfields/tasks/stateProcess.js
@@ -1,10 +0,0 @@
-import("system.result");
-import("system.neon");
-import("system.vars");
-import("ActivityTask_lib");
-import("Context_lib");
-
-if (TaskUtils.hasTasks(vars.get("$field.CAMPAIGNID"), ContextUtils.getCurrentContextId()))
-    result.string(neon.COMPONENTSTATE_EDITABLE);
-else
-    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
-- 
GitLab


From 1249965992e6da41dbfcf9e12cddffbcd6632c86 Mon Sep 17 00:00:00 2001
From: Simon Leipold <s.leipold@adito.de>
Date: Wed, 23 Sep 2020 17:04:33 +0200
Subject: [PATCH 067/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201062130][Filterview=20Berechtigung=20-=20keine=20Ausw?=
 =?UTF-8?q?ahlwerte=20f=C3=BCr=20Gruppierung]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../PermissionMetaDataFilter_view.aod         | 25 --------------
 .../PermissionOverviewFilter_view.aod         | 34 -------------------
 neonView/RoleFilter_view/RoleFilter_view.aod  | 33 ------------------
 3 files changed, 92 deletions(-)

diff --git a/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod b/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
index 2d45766d23..9644e50cf2 100644
--- a/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
+++ b/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
@@ -34,30 +34,5 @@
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
-    <treeTableViewTemplate>
-      <name>Treetable</name>
-      <entityField>#ENTITY</entityField>
-      <linkedColumns>
-        <element>TITLE</element>
-      </linkedColumns>
-      <columns>
-        <neonTreeTableColumn>
-          <name>d1b2e22a-d498-4210-98af-e23af4373a0c</name>
-          <entityField>#ICON</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>55d733cc-e7dc-411b-abf6-7fdd25ee1985</name>
-          <entityField>UID</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>00ed2afa-028d-4342-9398-66264b566521</name>
-          <entityField>TITLE</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>dd5ed711-0ed0-4d2a-9569-0b97cb2cb731</name>
-          <entityField>DESCRIPTION</entityField>
-        </neonTreeTableColumn>
-      </columns>
-    </treeTableViewTemplate>
   </children>
 </neonView>
diff --git a/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod b/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
index 6dd2bd1678..7e1ea7f0fa 100644
--- a/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
+++ b/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
@@ -46,39 +46,5 @@
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
-    <treeTableViewTemplate>
-      <name>Treetable</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTreeTableColumn>
-          <name>703cc584-ce6a-4c8c-8978-82c9860224ae</name>
-          <entityField>#ICON</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>bc7559c2-e9d5-42e9-8b61-a09046acf440</name>
-          <entityField>ENTITY</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>28a0ec9d-25b2-4fac-864d-e7938ccf6786</name>
-          <entityField>ACTION_VIEW</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>0d03d52c-2771-4f9c-a1a9-f6de6b36b810</name>
-          <entityField>ACTION_CREATE</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>981ff8df-b75c-49cd-b3f4-62bba6e5965b</name>
-          <entityField>ACTION_READ</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>3e9dfbd8-db73-480d-8a50-12cd18638d4f</name>
-          <entityField>ACTION_UPDATE</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>f0f6aace-aeae-42bd-be95-8b05f2ff087a</name>
-          <entityField>ACTION_DELETE</entityField>
-        </neonTreeTableColumn>
-      </columns>
-    </treeTableViewTemplate>
   </children>
 </neonView>
diff --git a/neonView/RoleFilter_view/RoleFilter_view.aod b/neonView/RoleFilter_view/RoleFilter_view.aod
index 724b573a3a..ca69cff2b7 100644
--- a/neonView/RoleFilter_view/RoleFilter_view.aod
+++ b/neonView/RoleFilter_view/RoleFilter_view.aod
@@ -46,38 +46,5 @@
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
-    <treeTableViewTemplate>
-      <name>Treetable</name>
-      <entityField>#ENTITY</entityField>
-      <linkedColumns>
-        <element>ROLETITLE</element>
-      </linkedColumns>
-      <columns>
-        <neonTreeTableColumn>
-          <name>d6624366-6f57-4c81-b2ef-4776297b94a7</name>
-          <entityField>#ICON</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>27d8023d-2867-4e3b-8586-33e2e91086b9</name>
-          <entityField>ROLENAME</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>9698900e-d897-4bdd-a3ef-5eb5857b5052</name>
-          <entityField>ROLETITLE</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>9dd955e3-e4dd-4d3b-aedd-1261ab77f947</name>
-          <entityField>ROLETYPE</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>9f64b198-dc4a-46ba-80fa-9e8e6f15298b</name>
-          <entityField>USERCOUNT</entityField>
-        </neonTreeTableColumn>
-        <neonTreeTableColumn>
-          <name>46a68706-86d0-43c4-8d66-2f1d8ccf94b6</name>
-          <entityField>ROLEDESCRIPTION</entityField>
-        </neonTreeTableColumn>
-      </columns>
-    </treeTableViewTemplate>
   </children>
 </neonView>
-- 
GitLab


From 53092050dc13abc6e6bba825ac04e1d3f41e1c6b Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Thu, 24 Sep 2020 13:35:02 +0200
Subject: [PATCH 068/251] #1056853_Bugfix_Filter isunlinked Activity Filter
 funktioniert

---
 .../isunlinked/filterConditionProcess.js                 | 9 +++++----
 .../ActivityUniversalFileProcessorFilter_view.aod        | 1 +
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js
index 3e01b63784..4114f9a338 100644
--- a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js
@@ -9,15 +9,16 @@ var rawvalue = vars.get("$local.rawvalue");
 var operator2 = vars.get("$local.operator2");
 var sqlCond = "";
 
-if(operator == "1" && rawvalue == "1" ||  operator == "2" && rawvalue == "0")
+rawvalue = (rawvalue == "true");
+
+if(operator == "1" && !rawvalue ||  operator == "2" && rawvalue )
     operator2 = SqlBuilder.IN();
-else if(operator == "1" && rawvalue == "0" ||  operator == "2" && rawvalue == "1")
+else if(operator == "1" && rawvalue ||  operator == "2" && !rawvalue)
     operator2 = SqlBuilder.NOT_IN();
 else 
     sqlCond = "1=1";
 
 if (sqlCond == "")
-    sqlCond = new SqlBuilder().where("ACTIVITY.ACTIVITYID", new SqlBuilder().select("ACTIVITYLINK.ACTIVITY_ID").from("ACTIVITYLINK").groupBy("ACTIVITYLINK.ACTIVITY_ID"), operator2);
-
+    sqlCond = new SqlBuilder().where("ACTIVITY.ACTIVITYID", newSelect("ACTIVITYLINK.ACTIVITY_ID").from("ACTIVITYLINK").groupBy("ACTIVITYLINK.ACTIVITY_ID"), operator2).toString();
 
 result.string(sqlCond);
\ No newline at end of file
diff --git a/neonView/ActivityUniversalFileProcessorFilter_view/ActivityUniversalFileProcessorFilter_view.aod b/neonView/ActivityUniversalFileProcessorFilter_view/ActivityUniversalFileProcessorFilter_view.aod
index a40577f24e..eaec7e7ddb 100644
--- a/neonView/ActivityUniversalFileProcessorFilter_view/ActivityUniversalFileProcessorFilter_view.aod
+++ b/neonView/ActivityUniversalFileProcessorFilter_view/ActivityUniversalFileProcessorFilter_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>ActivityUniversalFileProcessorFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
   <layout>
     <groupLayout>
       <name>layout</name>
-- 
GitLab


From 03f682a60241521bb2d6742845555be1f3c3c2e9 Mon Sep 17 00:00:00 2001
From: Markus Escher <m.escher@adito.de>
Date: Thu, 24 Sep 2020 14:51:25 +0200
Subject: [PATCH 069/251] fix BINDATA_UPLOAD only mandatory when
 OPERATINGSTATE_NEW

---
 entity/Document_entity/Document_entity.aod                | 3 ++-
 .../entityfields/bindata_upload/mandatoryProcess.js       | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 entity/Document_entity/entityfields/bindata_upload/mandatoryProcess.js

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 06715c4803..d8be2569e0 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -57,7 +57,8 @@
       <name>BINDATA_UPLOAD</name>
       <title>File</title>
       <contentType>FILE</contentType>
-      <mandatory v="true" />
+      <mandatory v="false" />
+      <mandatoryProcess>%aditoprj%/entity/Document_entity/entityfields/bindata_upload/mandatoryProcess.js</mandatoryProcess>
       <onValueChange>%aditoprj%/entity/Document_entity/entityfields/bindata_upload/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
diff --git a/entity/Document_entity/entityfields/bindata_upload/mandatoryProcess.js b/entity/Document_entity/entityfields/bindata_upload/mandatoryProcess.js
new file mode 100644
index 0000000000..9b10455db3
--- /dev/null
+++ b/entity/Document_entity/entityfields/bindata_upload/mandatoryProcess.js
@@ -0,0 +1,8 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("true");
+else
+    result.string("false");
-- 
GitLab


From 6240366a6c1b90e7395ace93e80c488f5b5e4eff Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Fri, 25 Sep 2020 08:16:55 +0200
Subject: [PATCH 070/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064735][Auswahl von E-Mail-Templates ]

---
 .../recordcontainers/db/conditionProcess.js         |  2 +-
 entity/Email_entity/Email_entity.aod                | 13 +++++++++++++
 .../entityfields/comingfrom/valueProcess.js         |  2 +-
 .../valueProcess.js                                 |  4 ++++
 .../valueProcess.js                                 |  5 +++++
 .../entityfields/newemail/onActionProcess.js        |  3 ++-
 .../entityfields/newemail/onActionProcess.js        |  3 ++-
 process/Email_lib/process.js                        |  6 ++++--
 8 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100644 entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js
 create mode 100644 entity/Email_entity/entityfields/documenttemplatetypeclassification/valueProcess.js

diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
index 40ced6b7b9..35836fe0a8 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
@@ -15,4 +15,4 @@ if(vars.get("$param.ComingFrom_param"))
         .and("DOCUMENTTEMPLATEPLACEOFUSE.DOCUMENTTEMPLATE_ID = DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID"), SqlBuilder.EXISTS());
 }
 
-result.string(cond);
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/Email_entity/Email_entity.aod b/entity/Email_entity/Email_entity.aod
index f0721f5e93..3fae2a234b 100644
--- a/entity/Email_entity/Email_entity.aod
+++ b/entity/Email_entity/Email_entity.aod
@@ -43,6 +43,10 @@
           <name>ComingFrom_param</name>
           <valueProcess>%aditoprj%/entity/Email_entity/entityfields/documenttemplates/children/comingfrom_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>DocumentTemplateTypeClassification_param</name>
+          <valueProcess>%aditoprj%/entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityParameter>
@@ -136,6 +140,15 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>documenttemplatetypeclassification</name>
+      <valueProcess>%aditoprj%/entity/Email_entity/entityfields/documenttemplatetypeclassification/valueProcess.js</valueProcess>
+    </entityField>
+    <entityParameter>
+      <name>DocumentTemplateTypeClassification_param</name>
+      <expose v="true" />
+      <description></description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <datalessRecordContainer>
diff --git a/entity/Email_entity/entityfields/comingfrom/valueProcess.js b/entity/Email_entity/entityfields/comingfrom/valueProcess.js
index e1559e60a1..534410568e 100644
--- a/entity/Email_entity/entityfields/comingfrom/valueProcess.js
+++ b/entity/Email_entity/entityfields/comingfrom/valueProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 
 if(vars.get("$param.ComingFrom_param"))
-result.string(vars.get("$param.ComingFrom_param"));
\ No newline at end of file
+    result.string(vars.get("$param.ComingFrom_param"));
\ No newline at end of file
diff --git a/entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js b/entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js
new file mode 100644
index 0000000000..1ee6655bba
--- /dev/null
+++ b/entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.documenttemplatetypeclassification"));
\ No newline at end of file
diff --git a/entity/Email_entity/entityfields/documenttemplatetypeclassification/valueProcess.js b/entity/Email_entity/entityfields/documenttemplatetypeclassification/valueProcess.js
new file mode 100644
index 0000000000..9e3fc1ddf9
--- /dev/null
+++ b/entity/Email_entity/entityfields/documenttemplatetypeclassification/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+
+if(vars.get("$param.DocumentTemplateTypeClassification_param"))
+    result.string(vars.get("$param.DocumentTemplateTypeClassification_param"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/newemail/onActionProcess.js b/entity/Organisation_entity/entityfields/newemail/onActionProcess.js
index 3909fcec58..a46efc111d 100644
--- a/entity/Organisation_entity/entityfields/newemail/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/newemail/onActionProcess.js
@@ -1,4 +1,5 @@
 import("system.vars");
 import("Email_lib");
+import("KeywordRegistry_basic");
 
-EmailWritingUtils.openNewMail(vars.getString("$field.CONTACTID"), null, vars.get("$sys.currentcontextname"));
\ No newline at end of file
+EmailWritingUtils.openNewMail(vars.getString("$field.CONTACTID"), null, vars.get("$sys.currentcontextname"), null, null, null, null, null, $KeywordRegistry.documentTemplateTypeCategory$single());
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/newemail/onActionProcess.js b/entity/Person_entity/entityfields/newemail/onActionProcess.js
index f4fedc1dc3..a4b80166ed 100644
--- a/entity/Person_entity/entityfields/newemail/onActionProcess.js
+++ b/entity/Person_entity/entityfields/newemail/onActionProcess.js
@@ -1,5 +1,6 @@
 import("system.vars");
 import("Email_lib");
+import("KeywordRegistry_basic");
 
-EmailWritingUtils.openNewMail(vars.getString("$field.CONTACTID"), null, vars.get("$sys.currentcontextname"));
 
+EmailWritingUtils.openNewMail(vars.getString("$field.CONTACTID"), null, vars.get("$sys.currentcontextname"), null, null, null, null, null, $KeywordRegistry.documentTemplateTypeCategory$single());
\ No newline at end of file
diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js
index 0a29f110ad..373495625a 100644
--- a/process/Email_lib/process.js
+++ b/process/Email_lib/process.js
@@ -81,8 +81,9 @@ EmailWritingUtils.openMailTemplate = function (pToRecipients, pSenderContactId,
  * @param {String} pEmailFilename optional file name of the email.
  * @param {String} [pAdditionalPlaceholders] additional placeholders for the email
  * @param {Array[]} [pUpdateStatements] an array with update statements which will be executed after email is downloaded/sent.
+ * @param {String} pTypeClassification Documenttemplatetypeclassification
  */
-EmailWritingUtils.openNewMail = function (pToContactId, pToEmailAddress, pComingFrom, pAttachmentArray, pNotificationMsg, pEmailFilename, pAdditionalPlaceholders, pUpdateStatements)
+EmailWritingUtils.openNewMail = function (pToContactId, pToEmailAddress, pComingFrom, pAttachmentArray, pNotificationMsg, pEmailFilename, pAdditionalPlaceholders, pUpdateStatements, pTypeClassification)
 {
     var params = {
         "ContactId_param" : pToContactId,
@@ -91,7 +92,8 @@ EmailWritingUtils.openNewMail = function (pToContactId, pToEmailAddress, pComing
         "NotificationMsg_param" : pNotificationMsg,
         "EmailFilename" : pEmailFilename,
         "AdditionalPlaceholders_param" : JSON.stringify(pAdditionalPlaceholders),
-        "UpdateStatements_param" : JSON.stringify(pUpdateStatements)
+        "UpdateStatements_param" : JSON.stringify(pUpdateStatements),
+        "DocumentTemplateTypeClassification_param" : pTypeClassification
     };
     
     if (pToEmailAddress)
-- 
GitLab


From ab0c105af91387e83386f340b65c81f8437246c9 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 08:37:21 +0200
Subject: [PATCH 071/251] Contact: Get view value now supports with or without
 Organisation-modes

---
 process/Contact_lib/process.js | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js
index 6db83d4d02..627ec11b14 100644
--- a/process/Contact_lib/process.js
+++ b/process/Contact_lib/process.js
@@ -67,12 +67,18 @@ function ContactUtils() {}
  * does not validate if pRelationIdField exists or is a valid or harmful value
  * 
  * @param {String} pContactIdField fieldname for the CONTACTID-condition as TABLEALIAS.COLUMNALIAS; e.g. TASK.EDITOR_CONTACT_ID
+ * @param {Boolean} [pIncludeOrganisation=true] false if the organisation shall not be included in the result string
  * @return {String} a subsql (without bracets) that can be played within an SQL
  */
-ContactUtils.getResolvingDisplaySubSql = function(pContactIdField)
+ContactUtils.getResolvingDisplaySubSql = function(pContactIdField, pIncludeOrganisation)
 {
     var contact = Contact.createWithColumnPreset();
-    var renderer = new ContactTitleRenderer(contact, ContactTitleRenderer.OPTIONS.IncludeOrganisation);
+    var rendererOptions;
+    if (pIncludeOrganisation === false)
+        rendererOptions = ContactTitleRenderer.OPTIONS.NoOption;
+    else
+        rendererOptions = ContactTitleRenderer.OPTIONS.IncludeOrganisation;
+    var renderer = new ContactTitleRenderer(contact, rendererOptions);
     var selectExpression = renderer.asSql();
 
     //TODO: verify if there is a better solution for the usage of this as a displayValueExpression --> automatic use of #TITLE | waiting vor implementation
@@ -342,10 +348,11 @@ ContactUtils.getOrgContactId = function(pOrgId)
  * get the name of the person or organisation
  * 
  * @param {String} pContactId the contact id where pers-name or orgname shall be loaded
+ * @param {Boolean} [pIncludeOrganisation=true] false if the organisation shall not be included in the result string
  * 
  * @return {String} the name or ""
  */
-ContactUtils.getFullTitleByContactId = function(pContactId)
+ContactUtils.getFullTitleByContactId = function(pContactId, pIncludeOrganisation)
 {
     var data = newSelect("ORGANISATION.NAME, PERSON.SALUTATION, PERSON.TITLE, PERSON.FIRSTNAME, PERSON.MIDDLENAME, PERSON.LASTNAME")
         .from("CONTACT")
@@ -358,7 +365,12 @@ ContactUtils.getFullTitleByContactId = function(pContactId)
         return "";
     var contact = new Contact();
     [contact.organisationName, contact.salutation, contact.title, contact.firstname, contact.middlename, contact.lastname] = data;
-    var renderer = new ContactTitleRenderer(contact);
+    var rendererOptions;
+    if (pIncludeOrganisation === false)
+        rendererOptions = ContactTitleRenderer.OPTIONS.NoOption;
+    else
+        rendererOptions = ContactTitleRenderer.OPTIONS.IncludeOrganisation;
+    var renderer = new ContactTitleRenderer(contact, rendererOptions);
     return renderer.asString();
 }
 
@@ -367,10 +379,11 @@ ContactUtils.getFullTitleByContactId = function(pContactId)
  * do not use this for a mass of data (e.g. in a loop) since this will be slow due to select-time
  * 
  * @param {String} pPersonId the id of the person where the data shall be loaded
+ * @param {Boolean} [pIncludeOrganisation=true] false if the organisation shall not be included in the result string
  * 
  * @return {String} the name or ""
  */
-ContactUtils.getTitleByPersonId = function(pPersonId)
+ContactUtils.getTitleByPersonId = function(pPersonId, pIncludeOrganisation)
 {
     var data = newSelect("PERSON.SALUTATION, PERSON.TITLE, PERSON.FIRSTNAME, PERSON.MIDDLENAME, PERSON.LASTNAME")
         .from("PERSON")
@@ -381,7 +394,12 @@ ContactUtils.getTitleByPersonId = function(pPersonId)
         return "";
     var contact = new Contact();
     [contact.salutation, contact.title, contact.firstname, contact.middlename, contact.lastname] = data;
-    var renderer = new ContactTitleRenderer(contact);
+    var rendererOptions;
+    if (pIncludeOrganisation === false)
+        rendererOptions = ContactTitleRenderer.OPTIONS.NoOption;
+    else
+        rendererOptions = ContactTitleRenderer.OPTIONS.IncludeOrganisation;
+    var renderer = new ContactTitleRenderer(contact, rendererOptions);
     return renderer.asString();
 }
 
@@ -644,6 +662,7 @@ function ContactTitleRenderer(pContact, pOptions)
         var res = maskingUtil.concat([this.contact.salutation, this.contact.title, this.contact.firstname, this.contact.middlename, this.contact.lastname].filter(function (e){
             return e != "";
         }), " ");
+        //binary AND check for possibility to check serveral options
         if (this._options & ContactTitleRenderer.OPTIONS.IncludeOrganisation && this.contact.organisationName)
             res = maskingUtil.concat([res, this.contact.organisationName], " | ");
         return res;
@@ -652,7 +671,7 @@ function ContactTitleRenderer(pContact, pOptions)
     //function that renders the contact into a text  (e.g. for a displayValue)
     this._asStringFn = function (){
         var res = StringUtils.concat(" ", [this.contact.salutation, this.contact.title, this.contact.firstname, this.contact.middlename, this.contact.lastname]);
-
+        //binary AND check for possibility to check serveral options
         if (this._options & ContactTitleRenderer.OPTIONS.IncludeOrganisation && this.contact.organisationName)
             res = StringUtils.concat(" | ", [res, this.contact.organisationName]);
         return res;
-- 
GitLab


From f1aae821b787b280facedb23debde627ca42b978 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 08:38:41 +0200
Subject: [PATCH 072/251] fix: Org index included private organisation

---
 entity/Organisation_entity/recordcontainers/index/query.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/entity/Organisation_entity/recordcontainers/index/query.js b/entity/Organisation_entity/recordcontainers/index/query.js
index 0bc707c216..2d434dc250 100644
--- a/entity/Organisation_entity/recordcontainers/index/query.js
+++ b/entity/Organisation_entity/recordcontainers/index/query.js
@@ -1,3 +1,4 @@
+import("Organisation_lib");
 import("KeywordRegistry_basic");
 import("system.translate");
 import("system.result");
@@ -57,9 +58,9 @@ var querySelect = newSelect([
             .and(["COMMUNICATION", "MEDIUM_ID", "standardPhone"], commMediumPhoneIds, SqlBuilder.IN())
             .and(["COMMUNICATION", "ISSTANDARD", "standardPhone"], "1")
         , "standardPhone")
-    .where("CONTACT.STATUS", $KeywordRegistry.contactStatus$inactive(), SqlBuilder.NOT_EQUAL());
+    .where("CONTACT.STATUS", $KeywordRegistry.contactStatus$inactive(), SqlBuilder.NOT_EQUAL())
+    .and("ORGANISATION.ORGANISATIONID", OrgUtils.getPrivateOrganisationId(), SqlBuilder.NOT_EQUAL());
 
 if (vars.exists("$local.idvalue") && vars.get("$local.idvalue") && vars.get("$local.idvalue").length > 0) 
     querySelect.and("CONTACT.CONTACTID", "$local.idvalue");
-
 result.string(querySelect.toString());
-- 
GitLab


From 6e6f61d4a065b9c6228bfaf9e41dbe04bb0099ae Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 08:46:33 +0200
Subject: [PATCH 073/251] fix: sqlBuilder did not work with non string
 $-varialbes (like $local.idvalues)

---
 process/Sql_lib/process.js | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index c202ee1387..39e47c805e 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1527,6 +1527,22 @@ SqlBuilder.prototype._addWhere = function(pFieldOrCond, pValue, pMandatory, pCon
         var field = pFieldOrCond;
         var typeofValue = typeof pValue;
 
+        // ... a string starting with $ -> jdito varable which has to be resolved
+        if (typeofValue == "string" && pValue.length >= 2 && pValue[0] == "$" && pValue[1] != "$") // escape $ if using two $
+        {
+            //important: just overwrite the value because some $local variables may contain an array and then the default handling of arrays (which
+            //is generating an IN-statement) should apply
+            pValue = vars.get(pValue);
+            if (pMandatory && pValue === null)
+                throw SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR();
+            typeofValue = typeof pValue;
+        }
+
+        // remove the first $ if there are two $
+        if (typeofValue == "string" && pValue.length >= 2 && pValue[0] == "$" && pValue[1] == "$")
+            pValue = pValue.slice(1);
+
+
         // pValue can be...
         // ... a SqlBuilder / Prepared statement array -> it is a SqlBuilder containing a complete subquery or an simple array (in statement)
         if (pValue instanceof SqlBuilder || Array.isArray(pValue) || (typeofValue == "string" && (pFieldOrCond == undefined || pFieldOrCond == null)))
@@ -1577,23 +1593,6 @@ SqlBuilder.prototype._addWhere = function(pFieldOrCond, pValue, pMandatory, pCon
         if (!pCondition)
             pCondition = SqlBuilder.EQUAL();
 
-        // ... a string starting with $ -> jdito varable which has to be resolved
-        if (typeofValue == "string" && pValue.length >= 2 && pValue[0] == "$" && pValue[1] != "$") // escape $ if using two $
-        {
-            pValue = vars.getString(pValue)
-            if (pMandatory && pValue === null)
-                throw SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR();
-            
-            if (pValue == "" || pValue)
-                this._whereCondition(this._prepare(field, pValue, pCondition, pFieldType), undefined, pAddPreparedConditionCallback);
-            
-            return this;
-        }
-        
-        // remove the first $ if there are two $
-        if (typeofValue == "string" && pValue.length >= 2 && pValue[0] == "$" && pValue[1] == "$")
-            pValue = pValue.slice(1);
-
         // ... everything else -> just pass it
         if (pValue === false || pValue === 0 || pValue === "" || pValue)
         {
-- 
GitLab


From cb55d4e9cc40992f559f08b5ddf7d641c50014fa Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Fri, 25 Sep 2020 09:22:32 +0200
Subject: [PATCH 074/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201059627][LEADIMPORT=20-=20=C3=9Cbersetzung=20von=20Sc?=
 =?UTF-8?q?hl=C3=BCsselwort=20"Zip"=20fehlt]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../basic/2020.2.0/alter_KeywordTitlesForTranslation.xml      | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml b/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml
index 555b77fdda..abac4fa455 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/alter_KeywordTitlesForTranslation.xml
@@ -22,5 +22,9 @@
             <column name="TITLE" value="allow"/>
             <where>AB_KEYWORD_ENTRYID='27ded05a-99c1-4810-91ee-cbb1e4ddec85'</where>
         </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="ZIP"/>
+            <where>AB_KEYWORD_ENTRYID='6164631f-3378-412d-8c80-8be0aaca7c77'</where>
+        </update>
     </changeSet>
 </databaseChangeLog>
-- 
GitLab


From 60ec0d3bd04d70462f19903bcc619c49ea38a795 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 10:39:16 +0200
Subject: [PATCH 075/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065756][Im=20Reiter=20Weitere=20Funktionen=20werden?=
 =?UTF-8?q?=20nur=20AKTIVE=20Kontakte=20angezeigt.=20=20Ist=20dies=20das?=
 =?UTF-8?q?=20gew=C3=BCnschte=20Verhalten=3F]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Contact_entity/initFilterProcess.js | 25 +---------------------
 1 file changed, 1 insertion(+), 24 deletions(-)

diff --git a/entity/Contact_entity/initFilterProcess.js b/entity/Contact_entity/initFilterProcess.js
index c33a0cbce2..594376e109 100644
--- a/entity/Contact_entity/initFilterProcess.js
+++ b/entity/Contact_entity/initFilterProcess.js
@@ -1,24 +1 @@
-import("system.neon");
-import("system.vars");
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER) 
-{
-    var statusInactive = $KeywordRegistry.contactStatus$inactive();
-    var filter = {
-        type: "group",
-        operator: "AND",
-        childs: [{
-            type: "row",
-            name: "STATUS",
-            operator: "NOT_EQUAL",
-            contenttype: "TEXT",
-            key: statusInactive,
-            value: KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), statusInactive)
-        }]
-    };
-
-    result.string(JSON.stringify(filter));
-}
\ No newline at end of file
+//no init filter here because there are no filterable fields in this entity and no filter is enabled in the list views
\ No newline at end of file
-- 
GitLab


From bc9d64306292cd18c72d540819644b7b1b28bdb0 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 25 Sep 2020 10:41:45 +0200
Subject: [PATCH 076/251] #1065845_EmployeeRoleUpdate deny update EmployeeRole

---
 entity/EmployeeRole_entity/EmployeeRole_entity.aod | 1 +
 1 file changed, 1 insertion(+)

diff --git a/entity/EmployeeRole_entity/EmployeeRole_entity.aod b/entity/EmployeeRole_entity/EmployeeRole_entity.aod
index a25038afe3..8bf5d69b23 100644
--- a/entity/EmployeeRole_entity/EmployeeRole_entity.aod
+++ b/entity/EmployeeRole_entity/EmployeeRole_entity.aod
@@ -4,6 +4,7 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/EmployeeRole_entity/documentation.adoc</documentation>
   <title>Role</title>
+  <grantUpdate v="false" />
   <titlePlural>Roles</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
-- 
GitLab


From 7e8e0c66331e0c44a57abaccdffd67ab61abe35c Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Fri, 25 Sep 2020 08:43:37 +0000
Subject: [PATCH 077/251] #1065531 fix districts preview responsibles

---
 .../DistrictResponsible_entity.aod                     | 10 ++++++----
 .../departmentattributename/stateProcess.js            |  9 +++++++++
 .../employee_contact_id/displayValueProcess.js         |  5 +++++
 .../employee_contact_id.displayvalue/expression.js     |  7 +------
 .../DistrictResponsiblePreviewList_view.aod            |  2 +-
 5 files changed, 22 insertions(+), 11 deletions(-)
 create mode 100644 entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js
 create mode 100644 entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js

diff --git a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
index bffe4b6257..539afbb9ac 100644
--- a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
+++ b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
@@ -25,6 +25,7 @@
       <consumer>Employees</consumer>
       <linkedContext>Person</linkedContext>
       <selectionMode>SINGLE</selectionMode>
+      <displayValueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>DISTRICT_ID</name>
@@ -148,6 +149,7 @@
       <name>departmentAttributeName</name>
       <title>Department</title>
       <state>READONLY</state>
+      <stateProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/valueProcess.js</valueProcess>
     </entityField>
     <entityProvider>
@@ -262,10 +264,6 @@
           <recordfield>DISTRICTRESPONSIBLE.DATE_NEW</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>EMPLOYEE_CONTACT_ID.displayValue</name>
-          <expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DEPARTMENT_ATTRIBUTE_ID.displayValue</name>
           <recordfield>DISTRICTRESPONSIBLE.DEPARTMENT_ATTRIBUTE_ID</recordfield>
@@ -282,6 +280,10 @@
           <name>DISTRICT_ID.displayValue</name>
           <expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/district_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>EMPLOYEE_CONTACT_ID.displayValue</name>
+          <expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js b/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js
new file mode 100644
index 0000000000..916fbbd300
--- /dev/null
+++ b/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+
+if (vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
\ No newline at end of file
diff --git a/entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js b/entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js
new file mode 100644
index 0000000000..edf41e1e25
--- /dev/null
+++ b/entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("system.vars");
+import("Contact_lib");
+
+result.string(ContactUtils.getFullTitleByContactId(vars.get("$field.EMPLOYEE_CONTACT_ID"), false));
\ No newline at end of file
diff --git a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
index 2dd8e6a868..b00816d2ee 100644
--- a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
+++ b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
@@ -8,9 +8,4 @@ var contact = Contact.createWithColumnPreset();
 var renderer = new ContactTitleRenderer(contact, ContactTitleRenderer.OPTIONS.NoOption);
 var selectExpression = renderer.asSql();
 
-result.string(newSelect(selectExpression)
-                .from("CONTACT")
-                .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
-                .leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                .where("CONTACT.CONTACTID = DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID")
-                .toString());
+result.string(newSelect(selectExpression));
\ No newline at end of file
diff --git a/neonView/DistrictResponsiblePreviewList_view/DistrictResponsiblePreviewList_view.aod b/neonView/DistrictResponsiblePreviewList_view/DistrictResponsiblePreviewList_view.aod
index 7e50b1a724..c1deba893d 100644
--- a/neonView/DistrictResponsiblePreviewList_view/DistrictResponsiblePreviewList_view.aod
+++ b/neonView/DistrictResponsiblePreviewList_view/DistrictResponsiblePreviewList_view.aod
@@ -17,7 +17,7 @@
         <neonTitledListTableColumn>
           <name>007d67c4-146b-4202-a677-4390059b4a0a</name>
           <entityField>EMPLOYEE_CONTACT_ID</entityField>
-          <fullWidth v="false" />
+          <fullWidth v="true" />
         </neonTitledListTableColumn>
       </columns>
     </titledListViewTemplate>
-- 
GitLab


From a0f8addf3e6041a69dcc432a96203ce2fa84f46a Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 25 Sep 2020 11:27:33 +0200
Subject: [PATCH 078/251] #1065963-Besuchsvorschlag Besuchsfrequenz Vorschlage
 deny update und delete

---
 .../VisitRecommendation_entity.aod                        | 2 ++
 entity/VisitRecommendation_entity/grantDeleteProcess.js   | 8 ++++++++
 entity/VisitRecommendation_entity/grantUpdateProcess.js   | 8 ++++++++
 3 files changed, 18 insertions(+)
 create mode 100644 entity/VisitRecommendation_entity/grantDeleteProcess.js
 create mode 100644 entity/VisitRecommendation_entity/grantUpdateProcess.js

diff --git a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
index a52a61b1da..2aed7529f6 100644
--- a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
+++ b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
@@ -5,6 +5,8 @@
   <documentation>%aditoprj%/entity/VisitRecommendation_entity/documentation.adoc</documentation>
   <title>Visit Recommendation</title>
   <grantCreate v="true" />
+  <grantUpdateProcess>%aditoprj%/entity/VisitRecommendation_entity/grantUpdateProcess.js</grantUpdateProcess>
+  <grantDeleteProcess>%aditoprj%/entity/VisitRecommendation_entity/grantDeleteProcess.js</grantDeleteProcess>
   <iconId>VAADIN:BRIEFCASE</iconId>
   <image>VAADIN:BRIEFCASE</image>
   <titlePlural>Visit Recommendations</titlePlural>
diff --git a/entity/VisitRecommendation_entity/grantDeleteProcess.js b/entity/VisitRecommendation_entity/grantDeleteProcess.js
new file mode 100644
index 0000000000..4265dc9ea0
--- /dev/null
+++ b/entity/VisitRecommendation_entity/grantDeleteProcess.js
@@ -0,0 +1,8 @@
+import("KeywordRegistry_basic");
+import("system.vars");
+import("system.result");
+
+if (vars.get("$field.PRIORITY_SOURCE") == $KeywordRegistry.visitRecommendationPrioSource$visitFrequency())
+    result.string(false);
+else
+    result.string(true);
\ No newline at end of file
diff --git a/entity/VisitRecommendation_entity/grantUpdateProcess.js b/entity/VisitRecommendation_entity/grantUpdateProcess.js
new file mode 100644
index 0000000000..4265dc9ea0
--- /dev/null
+++ b/entity/VisitRecommendation_entity/grantUpdateProcess.js
@@ -0,0 +1,8 @@
+import("KeywordRegistry_basic");
+import("system.vars");
+import("system.result");
+
+if (vars.get("$field.PRIORITY_SOURCE") == $KeywordRegistry.visitRecommendationPrioSource$visitFrequency())
+    result.string(false);
+else
+    result.string(true);
\ No newline at end of file
-- 
GitLab


From 4886e78ba3b5cb2a071f5858ea62ab9bf0659aaf Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 25 Sep 2020 11:55:34 +0200
Subject: [PATCH 079/251] =?UTF-8?q?#1057314-RevertDelete=20Wiederherstellu?=
 =?UTF-8?q?ng=20360=C2=B0=20Ansicht=20Supportticket?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/Context_lib/process.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index b41bd7451e..38f64a6d9c 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -582,9 +582,9 @@ ContextUtils.getSelectMap  = function()
                         .setActiveStates([$KeywordRegistry.campaignState$planning(), $KeywordRegistry.campaignState$approved()])
             ,"CampaignStep" : ContextSelector.create("CAMPAIGNSTEP", "CAMPAIGNSTEPID", "NAME")
             ,"SupportTicket": ContextSelector.create("TICKET", "TICKETID", "TASK.SUBJECT")
-                        .setJoinExpression("left join TASK on TASK.TASKID = TICKET.TASK_ID")
+                        .setJoinExpression("left join TASK on TASK.TASKID = TICKET.TASK_ID left join TASKLINK on TASKLINK.TASK_ID = TASK.TASKID")
                         .setCondition(newWhere("TICKET.TICKETTYPE", $KeywordRegistry.ticketType$supportTicket()))
-                        .setContactIdField("TASK.REQUESTOR_CONTACT_ID")
+                        .setContactIdField("TASKLINK.OBJECT_ROWID")
                         .setStateField("TASK.STATUS")
                         .setActiveStates([
                             $KeywordRegistry.taskStatus$new(),
-- 
GitLab


From b7d631e8fd6c68da9d3354cf02b0972f7d86fe85 Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 13:10:55 +0200
Subject: [PATCH 080/251] #1065853 Nutzung der neuen fluent favorites api

(cherry picked from commit 5d95f84bae533cee3474d121817ec54f1defab75)
---
 .../jditorecordcontainer/contentProcess.js                 | 7 +++++--
 .../recordcontainers/jditorecordcontainer/onDelete.js      | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
index e9c4ffa902..44896b2fff 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
@@ -14,7 +14,8 @@ if(vars.get("$local.idvalues") && vars.get("$local.idvalues").length != 0)
     var selectedFavos = [];
     
     for(h = 0; h < selected.length; h++)
-        selectedFavos.push(buildFavoriteForDeletion(favorite.getFavoriteById(selected[h])));
+        selectedFavos.push(buildFavoriteForDeletion(favorite.getFavorites(favorite.createGetFavoriteByIdConfig()
+                                                                                    .setId(selected[h]))));
 
     result.object(selectedFavos);
 }
@@ -33,7 +34,9 @@ else
     var allContexts = getAllFavoriteEnabledContexts();
     for(i = 0; i < allContexts.length; i++)
     {
-        var allFavorites = favorite.getAllFavorites(tools.getCurrentUser()["name"], allContexts[i]);
+        var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig()
+                                                            .setUserId(tools.getCurrentUser()["name"])
+                                                            .setObjectType(allContexts[i]));
         var builtFavos = buildFavorites(allFavorites, allContexts[i]);
     
         for(let x = 0; x < builtFavos.length; x++)
diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
index fc4c8d8f0b..5c5ab2b521 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.favorite");
 
-favorite.removeFavoriteById(vars.get("$local.uid"));
\ No newline at end of file
+favorite.remove(favorite.createRemoveByIdConfig().setFavoriteRecordId(vars.get("$local.uid")));
\ No newline at end of file
-- 
GitLab


From 25edd467facff8914ba45700e771ff230658808e Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 14:45:13 +0200
Subject: [PATCH 081/251] #1063108 Usage of tools api; Bugfix to use the new
 api correctly

(cherry picked from commit ab25a53a82d9717431317b3d1825cb9d99cd4ad9)
---
 .../recordcontainers/jditorecordcontainer/contentProcess.js   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
index 44896b2fff..3bf9fefa02 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
@@ -15,7 +15,7 @@ if(vars.get("$local.idvalues") && vars.get("$local.idvalues").length != 0)
     
     for(h = 0; h < selected.length; h++)
         selectedFavos.push(buildFavoriteForDeletion(favorite.getFavorites(favorite.createGetFavoriteByIdConfig()
-                                                                                    .setId(selected[h]))));
+                                                                                    .setId(selected[h]))[0]));
 
     result.object(selectedFavos);
 }
@@ -35,7 +35,7 @@ else
     for(i = 0; i < allContexts.length; i++)
     {
         var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig()
-                                                            .setUserId(tools.getCurrentUser()["name"])
+                                                            .setUserId(tools.getCurrentUser()[tools.NAME])
                                                             .setObjectType(allContexts[i]));
         var builtFavos = buildFavorites(allFavorites, allContexts[i]);
     
-- 
GitLab


From 94ada60fedb759eac651d4a5f1e06a1a8683b7a1 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Fri, 25 Sep 2020 15:25:15 +0200
Subject: [PATCH 082/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1065903][[Klassifizierung] (Vertriebsprojekt, Firma) Darstellung der
 Klassifizierung im Baum funktioniert nicht]

---
 .../recordcontainers/jdito/contentProcess.js                  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/entity/Classification_entity/recordcontainers/jdito/contentProcess.js b/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
index 0827f9f533..78879bee92 100644
--- a/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Classification_entity/recordcontainers/jdito/contentProcess.js
@@ -110,11 +110,11 @@ select.table().forEach(function (pRow){
     var classificationTypeGroupDisplay = classificationTypeGroupDisplayCache[classificationTypeGroupId];
 
     //a field can only contain a string so format complex data into string
-    scoresPerGroup = JSON.stringify(scoresPerGroup);
+    scoresPerGroupForPush = JSON.stringify(scoresPerGroup);
 
     resultSet.push([uid, classificationId, classificationTypeGroupId, classificationTypeGroupDisplay, classificationGroupTitle
         , classificationScoreId, classificationScoreTitle, classificationTypeId, classificationTypeId, classificationTypeObjectType
-        , objectRowIdParam, classificationTypeScoreType, classificationTypeObjectType, scoresPerGroup, currentGroupScore]);
+        , objectRowIdParam, classificationTypeScoreType, classificationTypeObjectType, scoresPerGroupForPush, currentGroupScore]);
 });
 
 result.object(resultSet);
-- 
GitLab


From b6a27d57c6a22f8cc866b8fcbba9bf15a11d2c42 Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 13:10:55 +0200
Subject: [PATCH 083/251] #1065853 Nutzung der neuen fluent favorites api

(cherry picked from commit 5d95f84bae533cee3474d121817ec54f1defab75)
---
 .../jditorecordcontainer/contentProcess.js                 | 7 +++++--
 .../recordcontainers/jditorecordcontainer/onDelete.js      | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
index e9c4ffa902..44896b2fff 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
@@ -14,7 +14,8 @@ if(vars.get("$local.idvalues") && vars.get("$local.idvalues").length != 0)
     var selectedFavos = [];
     
     for(h = 0; h < selected.length; h++)
-        selectedFavos.push(buildFavoriteForDeletion(favorite.getFavoriteById(selected[h])));
+        selectedFavos.push(buildFavoriteForDeletion(favorite.getFavorites(favorite.createGetFavoriteByIdConfig()
+                                                                                    .setId(selected[h]))));
 
     result.object(selectedFavos);
 }
@@ -33,7 +34,9 @@ else
     var allContexts = getAllFavoriteEnabledContexts();
     for(i = 0; i < allContexts.length; i++)
     {
-        var allFavorites = favorite.getAllFavorites(tools.getCurrentUser()["name"], allContexts[i]);
+        var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig()
+                                                            .setUserId(tools.getCurrentUser()["name"])
+                                                            .setObjectType(allContexts[i]));
         var builtFavos = buildFavorites(allFavorites, allContexts[i]);
     
         for(let x = 0; x < builtFavos.length; x++)
diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
index fc4c8d8f0b..5c5ab2b521 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.favorite");
 
-favorite.removeFavoriteById(vars.get("$local.uid"));
\ No newline at end of file
+favorite.remove(favorite.createRemoveByIdConfig().setFavoriteRecordId(vars.get("$local.uid")));
\ No newline at end of file
-- 
GitLab


From 34e884de75605c3f2abf18f53636d70362961bad Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 14:45:13 +0200
Subject: [PATCH 084/251] #1063108 Usage of tools api; Bugfix to use the new
 api correctly

(cherry picked from commit ab25a53a82d9717431317b3d1825cb9d99cd4ad9)
---
 .../recordcontainers/jditorecordcontainer/contentProcess.js   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
index 44896b2fff..3bf9fefa02 100644
--- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
+++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js
@@ -15,7 +15,7 @@ if(vars.get("$local.idvalues") && vars.get("$local.idvalues").length != 0)
     
     for(h = 0; h < selected.length; h++)
         selectedFavos.push(buildFavoriteForDeletion(favorite.getFavorites(favorite.createGetFavoriteByIdConfig()
-                                                                                    .setId(selected[h]))));
+                                                                                    .setId(selected[h]))[0]));
 
     result.object(selectedFavos);
 }
@@ -35,7 +35,7 @@ else
     for(i = 0; i < allContexts.length; i++)
     {
         var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig()
-                                                            .setUserId(tools.getCurrentUser()["name"])
+                                                            .setUserId(tools.getCurrentUser()[tools.NAME])
                                                             .setObjectType(allContexts[i]));
         var builtFavos = buildFavorites(allFavorites, allContexts[i]);
     
-- 
GitLab


From c7524b1ff05ef671915c0a340e17ff235d1e723e Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 11:48:55 +0200
Subject: [PATCH 085/251] #1063108 Userhelp documentation created

(cherry picked from commit 14e055c740609c6e4101b3f64fbcb78bdf5b50bc)
---
 entity/UserhelpResources/documentation.adoc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 entity/UserhelpResources/documentation.adoc

diff --git a/entity/UserhelpResources/documentation.adoc b/entity/UserhelpResources/documentation.adoc
new file mode 100644
index 0000000000..afa7247cdf
--- /dev/null
+++ b/entity/UserhelpResources/documentation.adoc
@@ -0,0 +1,19 @@
+= Userhelp_entity
+
+== Overview
+
+=== Definition
+The Userhelp_entity functions as an image store for the sites userhelp. 
+
+=== Purpose
+All images displayed in a userhelp document should be located here.
+Once an image is uploaded, it can be referenced by it's id in a userhelp document inside the Designer.
+
+== FAQ
+
+[qanda]
+How do I reference my uploaded image in the designer?::
+    Under the project's preferences->userhelp the two fields have to be configured. +
+    ressourceDomain -> defines the name of the Domain the image should be loaded from, e.g. "https://myAditoCrm.de". +
+    relativePathToRessources -> contains a part of the path, the given default should be sufficient ("/client"). +
+    Inside the userhelp document, the imagepath looks like this: /binary?id=[images id assigned from this entity].
-- 
GitLab


From 93a06885b8e0362a355d21507e6c0737e3a44d99 Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 25 Sep 2020 11:48:55 +0200
Subject: [PATCH 086/251] #1063108 Userhelp documentation created

(cherry picked from commit 14e055c740609c6e4101b3f64fbcb78bdf5b50bc)
---
 entity/UserhelpResources/documentation.adoc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 entity/UserhelpResources/documentation.adoc

diff --git a/entity/UserhelpResources/documentation.adoc b/entity/UserhelpResources/documentation.adoc
new file mode 100644
index 0000000000..afa7247cdf
--- /dev/null
+++ b/entity/UserhelpResources/documentation.adoc
@@ -0,0 +1,19 @@
+= Userhelp_entity
+
+== Overview
+
+=== Definition
+The Userhelp_entity functions as an image store for the sites userhelp. 
+
+=== Purpose
+All images displayed in a userhelp document should be located here.
+Once an image is uploaded, it can be referenced by it's id in a userhelp document inside the Designer.
+
+== FAQ
+
+[qanda]
+How do I reference my uploaded image in the designer?::
+    Under the project's preferences->userhelp the two fields have to be configured. +
+    ressourceDomain -> defines the name of the Domain the image should be loaded from, e.g. "https://myAditoCrm.de". +
+    relativePathToRessources -> contains a part of the path, the given default should be sufficient ("/client"). +
+    Inside the userhelp document, the imagepath looks like this: /binary?id=[images id assigned from this entity].
-- 
GitLab


From 057bf291b998c70ee9e75170358191ee2d0a86bf Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Fri, 25 Sep 2020 16:29:29 +0200
Subject: [PATCH 087/251] #1063997 Favorites: Filterextension Organsation

---
 .../Organisation_entity.aod                   |  8 ++++
 .../filterConditionProcess.js                 | 40 +++++++++++++++++++
 .../favoriten_filter/filterValuesProcess.js   | 25 ++++++++++++
 3 files changed, 73 insertions(+)
 create mode 100644 entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
 create mode 100644 entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 0c8dac8ecf..0fbc693dca 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1657,6 +1657,14 @@
           <groupQueryProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js</groupQueryProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favoriten_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..88343cdb16
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
@@ -0,0 +1,40 @@
+import("system.tools");
+import("system.result");
+import("Sql_lib");
+import("system.logging");
+import("system.vars");
+
+var favoFilterCond = newWhere();
+var sysAlias = SqlUtils.getSystemAlias();
+
+var value = vars.get("$local.rawvalue");
+var operator = vars.get("$local.operator") //noch zu implementieren
+
+logging.log("cond2" + value + operator);
+
+if(value && operator)
+{
+    var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
+    filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
+
+    var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
+                            .from("ASYS_RECORD")
+                            .join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
+                            .where(filterCond)
+                            .arrayColumn();
+                            
+    logging.log("rowIds " + JSON.stringify(rowIds));
+                            
+    for(i = 0; i < rowIds.length; i++)
+    {        
+        var orga_id = new SqlBuilder().select("CONTACT.ORGANISATION_ID")
+            .from("CONTACT")
+            .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
+            .arrayColumn();
+
+        if(orga_id.length > 0)
+            favoFilterCond.or("ORGANISATION.ORGANISATIONID", orga_id[0], SqlBuilder.EQUAL());
+    }
+}
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..ddd425abec
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
@@ -0,0 +1,25 @@
+import("system.favorite");
+import("system.tools");
+import("system.result");
+import("Sql_lib");
+import("system.logging");
+
+var allTypes = [];
+var alias = SqlUtils.getSystemAlias();
+
+var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
+//filterCond.and("ASYS_RECORDGROUP.ROW_ID", vars.get("$field.#UID"));
+    
+var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
+                        .from("ASYS_RECORDGROUP")
+                        .where(filterCond)
+                        .arrayColumn();
+                        
+groupNames.forEach(element => {
+    if(element.equals("Default"))
+       allTypes.push([element, translate.text(element)]);
+    else
+       allTypes.push([element, element]); 
+});
+
+result.object(Array.from(allTypes));
\ No newline at end of file
-- 
GitLab


From b57a97dec162d9830f3c9fb5e9c404cb9c4b832d Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Fri, 25 Sep 2020 14:25:28 +0200
Subject: [PATCH 088/251] notification state changes with bulk update

---
 .../setnotificationstate/children/archive/onActionProcess.js | 5 +----
 .../setnotificationstate/children/setnew/onActionProcess.js  | 5 +----
 .../setnotificationstate/children/setread/onActionProcess.js | 5 +----
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/entity/Notification_entity/entityfields/setnotificationstate/children/archive/onActionProcess.js b/entity/Notification_entity/entityfields/setnotificationstate/children/archive/onActionProcess.js
index a11db05fbf..054975d09d 100644
--- a/entity/Notification_entity/entityfields/setnotificationstate/children/archive/onActionProcess.js
+++ b/entity/Notification_entity/entityfields/setnotificationstate/children/archive/onActionProcess.js
@@ -5,8 +5,5 @@ import("system.neon");
 
 var user = tools.getCurrentUser();
 var selectedNotifications = vars.get("$sys.selection");
-
-for(var i = 0; i < selectedNotifications.length; i++)
-    notification.updateUserNotificationState(user["name"], selectedNotifications[i], notification.STATE_ARCHIVE);
-
+notification.updateUserNotificationsState(user["name"], selectedNotifications, notification.STATE_ARCHIVE);
 neon.refreshAll();
\ No newline at end of file
diff --git a/entity/Notification_entity/entityfields/setnotificationstate/children/setnew/onActionProcess.js b/entity/Notification_entity/entityfields/setnotificationstate/children/setnew/onActionProcess.js
index 3010398e4c..2695978b29 100644
--- a/entity/Notification_entity/entityfields/setnotificationstate/children/setnew/onActionProcess.js
+++ b/entity/Notification_entity/entityfields/setnotificationstate/children/setnew/onActionProcess.js
@@ -5,8 +5,5 @@ import("system.neon");
 
 var user = tools.getCurrentUser();
 var selectedNotifications = vars.get("$sys.selection");
-
-for(var i = 0; i < selectedNotifications.length; i++)
-    notification.updateUserNotificationState(user["name"], selectedNotifications[i], notification.STATE_UNSEEN);
-
+notification.updateUserNotificationsState(user["name"], selectedNotifications, notification.STATE_UNSEEN);
 neon.refreshAll();
\ No newline at end of file
diff --git a/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js b/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
index 3e00593f26..33bd6bf461 100644
--- a/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
+++ b/entity/Notification_entity/entityfields/setnotificationstate/children/setread/onActionProcess.js
@@ -7,8 +7,5 @@ import("KeywordRegistry_basic");
 
 var user = tools.getCurrentUser();
 var selectedNotifications = vars.get("$sys.selection");
-
-for(var i = 0; i < selectedNotifications.length; i++)
-    notification.updateUserNotificationState(user["name"], selectedNotifications[i], notification.STATE_CONFIRMED);
-
+notification.updateUserNotificationsState(user["name"], selectedNotifications, notification.STATE_CONFIRMED);
 neon.refreshAll();
\ No newline at end of file
-- 
GitLab


From 3196f69ffb80ea001de063590530880428db21d9 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 10:36:44 +0200
Subject: [PATCH 089/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066090][liquibase=20update=20von=202020.1.0=20auf=20?=
 =?UTF-8?q?2020.2.0=20schl=C3=A4gt=20bei=20MS=20SQL=20fehl]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../alter_ComunicationMedium_IdDatatype.xml     |  4 ++++
 ...alter_DocumentTemplatePlaceOfUseDatatype.xml |  3 +++
 .../alter_ExportTemplateDatatype.xml            | 17 +++++++++++++++++
 .../basic/2020.2.0/ImportFields/alterLead.xml   |  6 +++---
 4 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ComunicationMedium_IdDatatype.xml b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ComunicationMedium_IdDatatype.xml
index 7153295dc1..733b8a0729 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ComunicationMedium_IdDatatype.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ComunicationMedium_IdDatatype.xml
@@ -11,7 +11,11 @@
     </changeSet>
     
     <changeSet dbms="!derby" author="b.ulrich" id="17c1eb73-3131-4a2b-bf9a-913590767c79">
+        <dropIndex  tableName="COMMUNICATION" indexName="IDX_COMMUNICATION_MEDIUM_ID"/>
         <modifyDataType tableName="COMMUNICATION" columnName="MEDIUM_ID" newDataType="CHAR(36)"/>
+        <createIndex indexName="IDX_COMMUNICATION_MEDIUM_ID" tableName="COMMUNICATION">
+            <column name="MEDIUM_ID"/>
+        </createIndex>
     </changeSet>
 
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
index 2cfda5e78c..9e31af2c94 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
@@ -14,6 +14,9 @@
     </changeSet>
     
     <changeSet dbms="!derby" author="b.ulrich" id="85ba6a61-9318-4118-ac4c-e33730f6581d">
+        <dropPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" dropIndex="true"/>
         <modifyDataType tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID" newDataType="CHAR(36)"/>
+        <addNotNullConstraint columnName="DOCUMENTTEMPLATEID" tableName="DOCUMENTTEMPLATE" columnDataType="CHAR(36)" validate="true"/>
+        <addPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" columnNames="DOCUMENTTEMPLATEID"/>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ExportTemplateDatatype.xml b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ExportTemplateDatatype.xml
index 237c9fd9e4..116ed24246 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ExportTemplateDatatype.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_ExportTemplateDatatype.xml
@@ -19,8 +19,25 @@
     </changeSet>
     
     <changeSet dbms="!derby" author="b.ulrich" id="a53a2f38-3788-44a2-a151-13b3853ccb74">
+        <!--EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID-->
+        <dropIndex  tableName="EXPORTTEMPLATEPLACEOFUSE" indexName="idx_exprttmppou_tmpltid"/>
         <modifyDataType tableName="EXPORTTEMPLATEPLACEOFUSE" columnName="EXPORTTEMPLATE_ID" newDataType="CHAR(36)"/>
+        <createIndex indexName="idx_exprttmppou_tmpltid" tableName="EXPORTTEMPLATEPLACEOFUSE">
+            <column name="EXPORTTEMPLATE_ID"/>
+        </createIndex>
+        
+        <!--EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID-->
+        <dropIndex  tableName="EXPORTTEMPLATEFIELD" indexName="idx_exprttmpfld_tmpltid"/>
         <modifyDataType tableName="EXPORTTEMPLATEFIELD" columnName="EXPORTTEMPLATE_ID" newDataType="CHAR(36)"/>
+        <createIndex indexName="idx_exprttmpfld_tmpltid" tableName="EXPORTTEMPLATEFIELD">
+            <column name="EXPORTTEMPLATE_ID"/>
+        </createIndex>
+        
+        <!--EXPORTTEMPLATESELECTION.EXPORTTEMPLATE_ID-->
+        <dropIndex  tableName="EXPORTTEMPLATESELECTION" indexName="idx_exprttmpselection_tmpltid"/>
         <modifyDataType tableName="EXPORTTEMPLATESELECTION" columnName="EXPORTTEMPLATE_ID" newDataType="CHAR(36)"/>
+        <createIndex indexName="idx_exprttmpselection_tmpltid" tableName="EXPORTTEMPLATESELECTION">
+            <column name="EXPORTTEMPLATE_ID"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/ImportFields/alterLead.xml b/.liquibase/Data_alias/basic/2020.2.0/ImportFields/alterLead.xml
index 1c2fd454c2..b1e24d4555 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/ImportFields/alterLead.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/ImportFields/alterLead.xml
@@ -2,8 +2,8 @@
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <changeSet author="s.pongratz" id="99f19a82-62aa-41fc-b756-da4da3be45de">
-         <sql>
-            ALTER TABLE LEAD ADD COLUMN ATTRIBUTE_Industry VARCHAR(100);
-        </sql>
+        <addColumn tableName="LEAD">
+            <column name="ATTRIBUTE_Industry" type="VARCHAR(100)"/>
+        </addColumn>
     </changeSet>
 </databaseChangeLog>
-- 
GitLab


From 805e126b93574204e218f1115eb1553ddaf86e55 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 10:46:06 +0200
Subject: [PATCH 090/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Pool][Tic?=
 =?UTF-8?q?ketNr.:=201065879][Serienaktionen=20in=20Kontakt=20Filterview?=
 =?UTF-8?q?=20h=C3=A4ngen=20unter=20Kampagne]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Organisation_entity/Organisation_entity.aod   | 2 +-
 entity/Person_entity/Person_entity.aod               | 2 +-
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod | 3 +++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod       | 4 ++++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       | 3 +++
 5 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 0fbc693dca..d60f65bf91 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -911,7 +911,7 @@
     <entityActionGroup>
       <name>filterViewActionGroup</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/filterviewactiongroup/documentation.adoc</documentation>
-      <title>Campaign</title>
+      <title>Serial Actions</title>
       <iconId>NEON:GROUP_APPOINTMENT</iconId>
       <children>
         <entityActionField>
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 6f2ffba89c..9aa571eb05 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1045,7 +1045,7 @@
     <entityActionGroup>
       <name>filterViewActionGroup</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/filterviewactiongroup/documentation.adoc</documentation>
-      <title>Campaign</title>
+      <title>Serial Actions</title>
       <iconId>NEON:GROUP_APPOINTMENT</iconId>
       <children>
         <entityActionField>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 37ba189786..004a8e9c85 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7257,6 +7257,9 @@
     <entry>
       <key>ab 1000</key>
     </entry>
+    <entry>
+      <key>The start date has to be before the end date.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c7b6c60456..48bf736900 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -7848,6 +7848,10 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>SqlBuilder: The provided values object for updateFields is invalid or is not an object.</key>
     </entry>
+    <entry>
+      <key>Serial Actions</key>
+      <value>Serienaktionen</value>
+    </entry>
     <entry>
       <key>${CANCELLED}</key>
       <value>Abgebrochen</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index f3a687953e..70e39b51f2 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7338,6 +7338,9 @@
     <entry>
       <key>ab 1000</key>
     </entry>
+    <entry>
+      <key>The start date has to be before the end date.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From 4223884bba21cb26512b3e4ffc5fcec24d090c83 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 25 Sep 2020 11:11:43 +0200
Subject: [PATCH 091/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1059952][db.getColumnTypes im xRM nicht mehr verwenden]

---
 .../recordcontainers/jdito/onDelete.js                        | 4 ++--
 .../recordcontainers/db/onDBDelete.js                         | 4 ++--
 .../recordcontainers/db/onDBUpdate.js                         | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/entity/ClassificationAdmin_entity/recordcontainers/jdito/onDelete.js b/entity/ClassificationAdmin_entity/recordcontainers/jdito/onDelete.js
index b0b953dde1..c7da129c3b 100644
--- a/entity/ClassificationAdmin_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/ClassificationAdmin_entity/recordcontainers/jdito/onDelete.js
@@ -51,12 +51,12 @@ function _delete()
             table = ["CLASSIFICATIONGRADING"];
             var multiplicand = maxScore/gradingTable[0][1];
             var update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[0][0])
-            .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [maxScore]);
+            .updateData(true, table, column, null, [maxScore]);
 
             for (let i = 1; i < gradingTable.length; i++) 
             {
                 update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[i][0])
-                .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [parseInt(gradingTable[i][1] * multiplicand)]);
+                .updateData(true, table, column, null, [parseInt(gradingTable[i][1] * multiplicand)]);
             }
         }
     }
diff --git a/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js b/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
index 4feb1dc307..27385ec36d 100644
--- a/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
@@ -21,12 +21,12 @@ try
         var table = ["CLASSIFICATIONGRADING"];
         var multiplicand = maxScore/gradingTable[0][1];
         var update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[0][0])
-                                .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [maxScore]);
+                                .updateData(true, table, column, null, column, db.getCurrentAlias()), [maxScore]);
 
         for (let i = 1; i < gradingTable.length; i++) 
         {
             update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[i][0])
-                            .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [parseInt(gradingTable[i][1] * multiplicand)]);
+                            .updateData(true, table, column, null, [parseInt(gradingTable[i][1] * multiplicand)]);
         }
     }
 }
diff --git a/entity/ClassificationScore_entity/recordcontainers/db/onDBUpdate.js b/entity/ClassificationScore_entity/recordcontainers/db/onDBUpdate.js
index 5cfa69ab83..dc07afd47a 100644
--- a/entity/ClassificationScore_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/ClassificationScore_entity/recordcontainers/db/onDBUpdate.js
@@ -20,12 +20,12 @@ try
         var table = ["CLASSIFICATIONGRADING"];
         var multiplicand = maxScore/gradingTable[0][1];
         var update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[0][0])
-                                .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [maxScore]);
+                                .updateData(true, table, column, null, [maxScore]);
 
         for (let i = 1; i < gradingTable.length; i++) 
         {
             update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[i][0])
-                            .updateData(true, table, column,  db.getColumnTypes("CLASSIFICATIONGRADING", column, db.getCurrentAlias()), [parseInt(gradingTable[i][1] * multiplicand)]);
+                            .updateData(true, table, column, null, [parseInt(gradingTable[i][1] * multiplicand)]);
         }
     }
 }
-- 
GitLab


From baba30983ea4c62cfbb50d1ca28d66f14a327d7e Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 10:41:24 +0200
Subject: [PATCH 092/251] fix: Organisation filtering preset did not work
 anymore

---
 entity/Organisation_entity/initFilterProcess.js | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/entity/Organisation_entity/initFilterProcess.js b/entity/Organisation_entity/initFilterProcess.js
index 4ceb24fc08..936a623f59 100644
--- a/entity/Organisation_entity/initFilterProcess.js
+++ b/entity/Organisation_entity/initFilterProcess.js
@@ -6,7 +6,10 @@ import("system.result");
 
 var filter = vars.get("$param.FilterPreSet_param");
 
-if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER && (!filter && filter != null)) 
+var res;
+if (filter)
+    res = filter;
+else if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER) 
 {
     var statusInactive = $KeywordRegistry.contactStatus$inactive();
     
@@ -22,8 +25,8 @@ if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER &
             value: KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), statusInactive)
         }]
     };
-
-    result.string(JSON.stringify(filter));
+    res = JSON.stringify(filter);
 }
 
-result.string(filter);
\ No newline at end of file
+if (res)
+    result.string(res);
\ No newline at end of file
-- 
GitLab


From 3de2c450de1c45711d8c37eee804f63f155ebb9b Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 28 Sep 2020 11:01:14 +0200
Subject: [PATCH 093/251] #1063786 Person address filter not working on
 standard address from organisation

---
 .../persaddresses/filterConditionProcess.js                  | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js
index 2e2393946e..afd8002684 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js
@@ -1,4 +1,7 @@
 import("system.vars");
 import("system.result");
 
-result.string("CONTACTID in (select CONTACT_ID from ADDRESS where "  + vars.get("$local.condition") + " )");
\ No newline at end of file
+//because the standard address can also be from the organisation, the condition is used directly here so that it applies to the joined standard
+//address and for all other addresses of the contact a subselect is necessary
+result.string("((" + vars.get("$local.condition") + ")\
+    or exists (select ADDRESS.ADDRESSID from ADDRESS where ADDRESS.CONTACT_ID = CONTACT.CONTACTID and ("  + vars.get("$local.condition") + ")))");
\ No newline at end of file
-- 
GitLab


From a9a4b4a3731e1574750d3e021ff24ee70146ac1b Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 11:24:48 +0200
Subject: [PATCH 094/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064796][Liquibase Fehler bei Update]

---
 .../Notification/init_NotificationType.xml    | 46 ++++++++++++++++---
 .../Notification/insert_NotificationState.xml |  3 ++
 2 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/.liquibase/Data_alias/basic/2020.1.2/Notification/init_NotificationType.xml b/.liquibase/Data_alias/basic/2020.1.2/Notification/init_NotificationType.xml
index 3d8f901c79..21c394983e 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/Notification/init_NotificationType.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/Notification/init_NotificationType.xml
@@ -1,7 +1,10 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="s.pongratz" id="b2894de0-4a19-4fcb-9412-0a5e91bfec80">
+    <changeSet author="s.pongratz" id="2153f1f9-b62b-4a65-948a-92e236ae53a3">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = 'f862f71e-9155-4e88-8158-170ddfa4dbf3'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="f862f71e-9155-4e88-8158-170ddfa4dbf3"/>
             <column name="KEYID" value="_____SYSTEM_NOTIFICATION_PHONECALL"/>
@@ -11,7 +14,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="2a4cc7c2-c497-4c21-89b8-4e922fd7eee7">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '19876b72-cd7d-4916-b853-22c4d9fe49c2'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="19876b72-cd7d-4916-b853-22c4d9fe49c2"/>
             <column name="KEYID" value="_____SYSTEM_NOTIFICATION_EMAIL"/>
@@ -21,7 +28,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="59aac29a-5cc8-4825-9868-33247bb45a71">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '16f9fbb5-9b8a-4908-babd-06c86032a22b'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="16f9fbb5-9b8a-4908-babd-06c86032a22b"/>
             <column name="KEYID" value="_____SYSTEM_NOTIFICATION_APPOINTMENT"/>
@@ -31,7 +42,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="42c7f06f-eadb-45de-9aa0-129c475333ff">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '53458dba-80f5-427c-a44c-3fc8e74f3380'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="53458dba-80f5-427c-a44c-3fc8e74f3380"/>
             <column name="KEYID" value="_____SYSTEM_NOTIFICATION_TODO"/>
@@ -41,7 +56,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="b0a0157b-8732-49e3-90d6-3797b1a035d4">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '3d2393b3-ed13-44d6-9a6f-9280d84252cb'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="3d2393b3-ed13-44d6-9a6f-9280d84252cb"/>
             <column name="KEYID" value="DownloadReady"/>
@@ -51,7 +70,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="45cff8ed-3b4f-47b6-af6b-3b2a39877b68">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '09ce4611-3254-4590-958a-79178924188b'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="09ce4611-3254-4590-958a-79178924188b"/>
             <column name="KEYID" value="BulkMailSent"/>
@@ -61,7 +84,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        
+    </changeSet>
+    <changeSet author="s.pongratz" id="148a5837-b2a6-4e17-b812-7db0f4efd9b8">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = 'df47c6db-2a72-464a-b155-c4e33a4294ba'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="df47c6db-2a72-464a-b155-c4e33a4294ba"/>
             <column name="KEYID" value="Leadimport_Notification"/>
@@ -71,6 +98,11 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
+    </changeSet>
+    <changeSet author="s.pongratz" id="b15af488-facc-4245-9daa-2f38754ab8ea">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = '58281d88-71a7-4fa7-8ef8-9289fc904697'</sqlCheck>  
+        </preConditions>  
         
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="58281d88-71a7-4fa7-8ef8-9289fc904697"/>
diff --git a/.liquibase/Data_alias/basic/2020.1.2/Notification/insert_NotificationState.xml b/.liquibase/Data_alias/basic/2020.1.2/Notification/insert_NotificationState.xml
index 35501bf169..a87db22eeb 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/Notification/insert_NotificationState.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/Notification/insert_NotificationState.xml
@@ -2,6 +2,9 @@
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <changeSet author="s.pongratz" id="b2894de0-4a19-4fcb-9412-0a5e91bfec80">
+        <preConditions  onFail="MARK_RAN">  
+            <sqlCheck  expectedResult="0">select count(*) from AB_KEYWORD_ENTRY where AB_KEYWORD_ENTRYID = 'daa6d8d8-fdc6-4fb2-9677-9ccc1f8a9b81'</sqlCheck>  
+        </preConditions>  
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="daa6d8d8-fdc6-4fb2-9677-9ccc1f8a9b81"/>
             <column name="KEYID" value="TODELETE"/>
-- 
GitLab


From a56ef26ac346a09fbfd56b5a342bdd610234805b Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 28 Sep 2020 15:48:38 +0200
Subject: [PATCH 095/251] AttributeFilter bug in Offer_entity fixed

---
 .../recordcontainers/jdito/contentProcess.js                | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
index d2083e4eb5..3979f5da0d 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
@@ -49,9 +49,9 @@ else if (objectType)  //if there's an objectType, it comes from the AttributeRel
 
     if (Utils.isEmpty(ids))
         condition.noResult();
-
-    condition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID", ids, SqlBuilder.IN());
-    condition.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.THEME, !themeObjectRowId ? SqlBuilder.NOT_EQUAL() : undefined);
+    else
+        condition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID", ids, SqlBuilder.IN())
+            .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.THEME, !themeObjectRowId ? SqlBuilder.NOT_EQUAL() : undefined);
 }
 else if (parentId)
 {
-- 
GitLab


From 14dc4258068567d61b02b7b0de0ab0df62bc0fab Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Mon, 28 Sep 2020 14:36:40 +0200
Subject: [PATCH 096/251] #1063997 Favorites: Person filterable

---
 .../filterConditionProcess.js                 |  3 +-
 .../favoriten_filter/filterValuesProcess.js   |  4 +-
 entity/Person_entity/Person_entity.aod        |  8 ++++
 .../favorits_filter/filterConditionProcess.js | 41 +++++++++++++++++++
 .../favorits_filter/filterValuesProcess.js    | 25 +++++++++++
 5 files changed, 78 insertions(+), 3 deletions(-)
 create mode 100644 entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
 create mode 100644 entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js

diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
index 88343cdb16..9996293c18 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
@@ -3,9 +3,10 @@ import("system.result");
 import("Sql_lib");
 import("system.logging");
 import("system.vars");
+import("system.favorite");
 
 var favoFilterCond = newWhere();
-var sysAlias = SqlUtils.getSystemAlias();
+var sysAlias = favorite.getFavoritesAlias();
 
 var value = vars.get("$local.rawvalue");
 var operator = vars.get("$local.operator") //noch zu implementieren
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
index ddd425abec..44f02a65cd 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
@@ -3,12 +3,12 @@ import("system.tools");
 import("system.result");
 import("Sql_lib");
 import("system.logging");
+import("system.favorite");
 
 var allTypes = [];
-var alias = SqlUtils.getSystemAlias();
+var alias = favorite.getFavoritesAlias();
 
 var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
-//filterCond.and("ASYS_RECORDGROUP.ROW_ID", vars.get("$field.#UID"));
     
 var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
                         .from("ASYS_RECORDGROUP")
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 9aa571eb05..a7ffd83ca2 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1664,6 +1664,14 @@
           <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favorits_filter</name>
+          <title>FavoriteGroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..8e32b5d32f
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
@@ -0,0 +1,41 @@
+import("system.tools");
+import("system.result");
+import("Sql_lib");
+import("system.logging");
+import("system.vars");
+import("system.favorite");
+
+var favoFilterCond = newWhere();
+var sysAlias = favorite.getFavoritesAlias();
+
+var value = vars.get("$local.rawvalue");
+var operator = vars.get("$local.operator") //noch zu implementieren
+
+logging.log("cond2" + value + operator);
+
+if(value && operator)
+{
+    var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
+    filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
+
+    var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
+                            .from("ASYS_RECORD")
+                            .join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
+                            .where(filterCond)
+                            .arrayColumn();
+                            
+    logging.log("rowIds " + JSON.stringify(rowIds));
+                            
+    for(i = 0; i < rowIds.length; i++)
+    {        
+        var orga_id = new SqlBuilder().select("CONTACT.PERSON_ID")
+            .from("CONTACT")
+            .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
+            .arrayColumn();
+
+        if(orga_id.length > 0)
+            favoFilterCond.or("PERSon.PERSONID", orga_id[0], SqlBuilder.EQUAL());
+    }
+}
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..44f02a65cd
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
@@ -0,0 +1,25 @@
+import("system.favorite");
+import("system.tools");
+import("system.result");
+import("Sql_lib");
+import("system.logging");
+import("system.favorite");
+
+var allTypes = [];
+var alias = favorite.getFavoritesAlias();
+
+var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
+    
+var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
+                        .from("ASYS_RECORDGROUP")
+                        .where(filterCond)
+                        .arrayColumn();
+                        
+groupNames.forEach(element => {
+    if(element.equals("Default"))
+       allTypes.push([element, translate.text(element)]);
+    else
+       allTypes.push([element, element]); 
+});
+
+result.object(Array.from(allTypes));
\ No newline at end of file
-- 
GitLab


From 2c904714bad9c64e1178f878ddd4bada8f151f61 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Mon, 28 Sep 2020 15:52:14 +0200
Subject: [PATCH 097/251] #1063997 Favorites: Boilerplate code to Favorite_lib

---
 .../filterConditionProcess.js                 | 42 ++++----------
 .../favoriten_filter/filterValuesProcess.js   | 24 +-------
 .../favorits_filter/filterConditionProcess.js | 42 ++++----------
 .../favorits_filter/filterValuesProcess.js    | 25 +-------
 process/Favorites_lib/Favorites_lib.aod       |  9 +++
 process/Favorites_lib/process.js              | 58 +++++++++++++++++++
 6 files changed, 91 insertions(+), 109 deletions(-)
 create mode 100644 process/Favorites_lib/Favorites_lib.aod
 create mode 100644 process/Favorites_lib/process.js

diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
index 9996293c18..c129393d11 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
@@ -1,41 +1,19 @@
-import("system.tools");
+import("Favorites_lib");
 import("system.result");
 import("Sql_lib");
-import("system.logging");
-import("system.vars");
-import("system.favorite");
 
 var favoFilterCond = newWhere();
-var sysAlias = favorite.getFavoritesAlias();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
 
-var value = vars.get("$local.rawvalue");
-var operator = vars.get("$local.operator") //noch zu implementieren
+for(i = 0; i < rowIds.length; i++)
+{        
+    var orga_id = new SqlBuilder().select("CONTACT.PERSON_ID")
+        .from("CONTACT")
+        .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
+        .arrayColumn();
 
-logging.log("cond2" + value + operator);
-
-if(value && operator)
-{
-    var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
-    filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
-
-    var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
-                            .from("ASYS_RECORD")
-                            .join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
-                            .where(filterCond)
-                            .arrayColumn();
-                            
-    logging.log("rowIds " + JSON.stringify(rowIds));
-                            
-    for(i = 0; i < rowIds.length; i++)
-    {        
-        var orga_id = new SqlBuilder().select("CONTACT.ORGANISATION_ID")
-            .from("CONTACT")
-            .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
-            .arrayColumn();
-
-        if(orga_id.length > 0)
-            favoFilterCond.or("ORGANISATION.ORGANISATIONID", orga_id[0], SqlBuilder.EQUAL());
-    }
+    if(orga_id.length > 0)
+        favoFilterCond.or("PERSON.PERSONID", orga_id[0], SqlBuilder.EQUAL());
 }
 
 result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
index 44f02a65cd..59afaeee93 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
@@ -1,25 +1,5 @@
-import("system.favorite");
-import("system.tools");
 import("system.result");
-import("Sql_lib");
-import("system.logging");
-import("system.favorite");
+import("Favorites_lib");
 
-var allTypes = [];
-var alias = favorite.getFavoritesAlias();
+result.object(FavoritesUtil.getUserNotificationGroups());
 
-var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
-    
-var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
-                        .from("ASYS_RECORDGROUP")
-                        .where(filterCond)
-                        .arrayColumn();
-                        
-groupNames.forEach(element => {
-    if(element.equals("Default"))
-       allTypes.push([element, translate.text(element)]);
-    else
-       allTypes.push([element, element]); 
-});
-
-result.object(Array.from(allTypes));
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
index 8e32b5d32f..26e0adde33 100644
--- a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
@@ -1,41 +1,19 @@
-import("system.tools");
+import("Favorites_lib");
 import("system.result");
 import("Sql_lib");
-import("system.logging");
-import("system.vars");
-import("system.favorite");
 
 var favoFilterCond = newWhere();
-var sysAlias = favorite.getFavoritesAlias();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
 
-var value = vars.get("$local.rawvalue");
-var operator = vars.get("$local.operator") //noch zu implementieren
+for(i = 0; i < rowIds.length; i++)
+{        
+    var person_id = new SqlBuilder().select("CONTACT.PERSON_ID")
+        .from("CONTACT")
+        .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
+        .arrayColumn();
 
-logging.log("cond2" + value + operator);
-
-if(value && operator)
-{
-    var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
-    filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
-
-    var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
-                            .from("ASYS_RECORD")
-                            .join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
-                            .where(filterCond)
-                            .arrayColumn();
-                            
-    logging.log("rowIds " + JSON.stringify(rowIds));
-                            
-    for(i = 0; i < rowIds.length; i++)
-    {        
-        var orga_id = new SqlBuilder().select("CONTACT.PERSON_ID")
-            .from("CONTACT")
-            .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
-            .arrayColumn();
-
-        if(orga_id.length > 0)
-            favoFilterCond.or("PERSon.PERSONID", orga_id[0], SqlBuilder.EQUAL());
-    }
+    if(person_id.length > 0)
+        favoFilterCond.or("PERSON.PERSONID", person_id[0], SqlBuilder.EQUAL());
 }
 
 result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
index 44f02a65cd..abda1bae0c 100644
--- a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
@@ -1,25 +1,4 @@
-import("system.favorite");
-import("system.tools");
 import("system.result");
-import("Sql_lib");
-import("system.logging");
-import("system.favorite");
+import("Favorites_lib");
 
-var allTypes = [];
-var alias = favorite.getFavoritesAlias();
-
-var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
-    
-var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
-                        .from("ASYS_RECORDGROUP")
-                        .where(filterCond)
-                        .arrayColumn();
-                        
-groupNames.forEach(element => {
-    if(element.equals("Default"))
-       allTypes.push([element, translate.text(element)]);
-    else
-       allTypes.push([element, element]); 
-});
-
-result.object(Array.from(allTypes));
\ No newline at end of file
+result.object(FavoritesUtil.getUserNotificationGroups());
\ No newline at end of file
diff --git a/process/Favorites_lib/Favorites_lib.aod b/process/Favorites_lib/Favorites_lib.aod
new file mode 100644
index 0000000000..cae0fb68ba
--- /dev/null
+++ b/process/Favorites_lib/Favorites_lib.aod
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>Favorites_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/Favorites_lib/process.js</process>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
diff --git a/process/Favorites_lib/process.js b/process/Favorites_lib/process.js
new file mode 100644
index 0000000000..7d1efcc674
--- /dev/null
+++ b/process/Favorites_lib/process.js
@@ -0,0 +1,58 @@
+import("system.translate");
+import("system.vars");
+import("system.favorite");
+import("system.tools");
+import("system.result");
+import("Sql_lib");
+
+function FavoritesUtil(){}
+
+FavoritesUtil.getUserNotificationGroups = function()
+{
+    var allTypes = [];
+    var alias = favorite.getFavoritesAlias();
+
+    var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, alias);
+
+    var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
+                            .from("ASYS_RECORDGROUP")
+                            .where(filterCond)
+                            .arrayColumn();
+    
+    for(var i = 0; i < groupNames.length; i++)
+    {
+        if(groupNames[i].equals("Default"))
+           allTypes.push([groupNames[i], translate.text(groupNames[i])]);
+        else
+           allTypes.push([groupNames[i], groupNames[i]]); 
+    }
+
+    return Array.from(allTypes);
+}
+
+
+
+FavoritesUtil.getRowIdsOfFavoriteGroup = function()
+{
+    var sysAlias = favorite.getFavoritesAlias();
+
+    var value = vars.get("$local.rawvalue");
+    var operator = vars.get("$local.operator") //noch zu implementieren
+
+    if(value && operator)
+    {
+        var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
+        filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
+
+        var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
+                                .from("ASYS_RECORD")
+                                .join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
+                                .where(filterCond)
+                                .arrayColumn();
+                                
+        return rowIds;
+    }
+    
+    return null;
+}
+    
\ No newline at end of file
-- 
GitLab


From 8adb2099be30917a341cdb6df6fca5d01cceab5d Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 17:09:58 +0200
Subject: [PATCH 098/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1065484][Liquibase-SystemDB-Daten sind veraltet]

---
 .../webserviceUser_flowableIdmService.xml     |   17 +-
 .../13f3a9037de88b552013bab06b4e9bb1.txt      |    1 +
 .../example_asys_users/Birgit_Leicht.xml      |  192 +-
 .../example_asys_users/Harold_Smith.xml       |  222 +-
 .../example_asys_users/Herbert_Obermeier.xml  |  194 +-
 .../example_asys_users/Lisa_Sommer.xml        |  300 +-
 .../example_asys_users/Susanne_Lustig.xml     |  194 +-
 .../insert_asys_users-admin.xml               |  478 ++-
 .../_demoData/generatedData/ASYS_BINARIES.xml | 3190 ++++++++---------
 ...7eb1b => 038fe941b2e05dd022dafd5afb16a36f} |    0
 ...73ce7 => 055e73d3a993df828f5c18d3ffbef0ee} |    0
 ...e2e5a => 0830deea812519dfedc720509c9a1139} |    0
 ...c7e8d => 0e73f3e616a33bb50d1d5fd8012626d9} |    0
 ...ba04d => 0fdd48520da0f1bf766ccbed5b18d1a3} |    0
 ...9c8e6 => 1021d7724f17d82704eb923c84810dec} |    0
 ...e1ff4 => 1fe055799e157edd6a577a9d16d3c500} |    0
 ...780e1 => 264a8e6299721333e1848d191f32e28d} |    0
 ...8ced3 => 289ef290ee03c4662405d05f6ec29456} |    0
 ...fe306 => 3583279ca857c825b06e0dbb4d7c8f83} |    0
 ...cba15 => 3cb0d2bc68c1e07516437657c37fb79c} |  Bin
 ...249ad => 4973a8057eff30d8a70136d7d793f7f6} |    0
 ...45988 => 533665cefb7cdc06884080d3e6f99741} |    0
 ...f7120 => 54aef478023d8b16e71ace2ff3013b95} |    0
 ...5d7f4 => 6d181519b2b647cd8ea8153c0fc247c8} |    0
 ...e48ff => 723094dcff304d74986afc60137db27b} |    0
 ...b287b => 772bc8c9ae1cf4a351e6f6eedaca4625} |    0
 ...a3362 => 7c2bbd5f3f359660da1689c4f466258b} |    0
 ...b24a9 => a25a4de8cfd0e2ce8b00280f0d245918} |    0
 ...fc970 => aa76f280dc7eda00f07cb019f24355fa} |    0
 ...c88ee => b54d7d8f6d6d85919922c5f455175768} |    0
 ...c5d9f => b8b87463c86657db7b5f9a6e73246fce} |    0
 ...9fbf1 => bd2dcae135451c4a4eb4bc5089f95040} |    0
 ...910b3 => befbbfd00865383c94b176d07916bed8} |    0
 ...85b1b => c0d180d20ec3400cab09c6329bf85afc} |    0
 ...efdc2 => c2bf20acce9760f277d7fa4bcf0ffb0d} |    0
 ...7deff => c601e2920780f7bd5c3aefa957fe797b} |    0
 ...4b7c4 => cd08b8bc6c847fecd18389e399c67998} |    0
 ...fff69 => d57a5f33f07e60b35376f258eccee60e} |    0
 ...34f6b => dac4a52765d68a9819743389fc28570d} |    0
 ...638bf => defcaf6472af3cee29d57e06d4970ae3} |    0
 ...f31da => df04f9c4aa2a2fcf5de3b26a0feeb363} |    0
 ...d6919 => dfbae82df49874138432d9982fa80539} |    0
 ...a3c24 => e3ba3d891ab9cbc43367cd4cce7eeb55} |  Bin
 ...f21b8 => e63ee9d29a5618a0a244609db68c63f5} |    0
 ...991b5 => f15c1c2c291ae6bec4d28ebea7a4aa5c} |    0
 ...1ff6e => f1925e608ac7b3253ce32b99325aa718} |    0
 .../basic/init/data/ASYS_ALIASCONFIG.xml      |   66 +
 .../XMLDATA/blobFiles/Data_alias.xml}         |    2 +-
 .../blobFiles}/RecordContainerCache.xml       |    2 +-
 .../XMLDATA/blobFiles/_____CONFIGURATION.xml} |    2 +-
 .../blobFiles}/defaultDbRepository.xml        |    2 +-
 .../XMLDATA/blobFiles}/mailServerIMAP.xml     |    2 +-
 .../basic/init/data/ASYS_PERMISSION.xml       |   65 +
 .../basic/init/data/ASYS_PERMISSIONACTION.xml |  130 +
 .../basic/init/data/ASYS_PERMISSIONSET.xml    |   70 +
 .../basic/init/data/ASYS_SYSTEM.xml           |   16 +
 .../blobFiles/_____SYSTEM_SYSDB_VERSION.xml}  |    2 +-
 .../basic/init/data/changelog.xml             |    8 +
 .../init/data/insert_asys_aliasconfig.xml     |   67 -
 .../init/data/insert_asys_permission.xml      |  138 -
 .../data/insert_asys_permissionaction.xml     |  293 --
 .../init/data/insert_asys_permissionset.xml   |  158 -
 .../basic/init/data/insert_asys_system.xml    |   24 -
 .../_____SYSTEMALIAS/basic/init/init.xml      |    6 +-
 64 files changed, 2728 insertions(+), 3113 deletions(-)
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/ASYS_USERS/PROPVAL_CLOB/clobFiles/13f3a9037de88b552013bab06b4e9bb1.txt
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{4f8d2fbe1fa680acfddecbf6a2d7eb1b => 038fe941b2e05dd022dafd5afb16a36f} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{e8cc6344b63e91066ff9741cee273ce7 => 055e73d3a993df828f5c18d3ffbef0ee} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c0d5b740056d6825c8d4eab32a4e2e5a => 0830deea812519dfedc720509c9a1139} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{81f883491d9a080a6e51ab8c5d2c7e8d => 0e73f3e616a33bb50d1d5fd8012626d9} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{1927df681b9076243156a34b466ba04d => 0fdd48520da0f1bf766ccbed5b18d1a3} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{689020ca7b4c5c70c92f0506e869c8e6 => 1021d7724f17d82704eb923c84810dec} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{bc8f1f5b42dad335e916b1ceb4ce1ff4 => 1fe055799e157edd6a577a9d16d3c500} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{5c3b9bf8852fce3729aa0556a4a780e1 => 264a8e6299721333e1848d191f32e28d} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c9c8f90d0bee877f5d5b32a2b7d8ced3 => 289ef290ee03c4662405d05f6ec29456} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{4a3bfd07a9b138ba352c8705a88fe306 => 3583279ca857c825b06e0dbb4d7c8f83} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{6f1a18491d368b9b87091abcbcfcba15 => 3cb0d2bc68c1e07516437657c37fb79c} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{9a76ec5d3fcd843340434d26b6b249ad => 4973a8057eff30d8a70136d7d793f7f6} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c24edfbfc63866dd659e07ef03f45988 => 533665cefb7cdc06884080d3e6f99741} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c590cab1baa844ae40fcca7eae9f7120 => 54aef478023d8b16e71ace2ff3013b95} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{669cd65bbfb0b83a95c1a4110ff5d7f4 => 6d181519b2b647cd8ea8153c0fc247c8} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{e22d050388d09c6a9cdeb6cef75e48ff => 723094dcff304d74986afc60137db27b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{77030fb819d7bed57f5fc12e981b287b => 772bc8c9ae1cf4a351e6f6eedaca4625} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{f9c9eae8183b9c9340f03876b39a3362 => 7c2bbd5f3f359660da1689c4f466258b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{f0e5ee0a296504b006a4333e1c9b24a9 => a25a4de8cfd0e2ce8b00280f0d245918} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{fc4aa67f3f465efd278d8471a9afc970 => aa76f280dc7eda00f07cb019f24355fa} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{72f0f500-e7b7-4b0d-90e3-240d9edc88ee => b54d7d8f6d6d85919922c5f455175768} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{72e03deaab4283f1f0f8ac0dcbec5d9f => b8b87463c86657db7b5f9a6e73246fce} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{78aad2436b5dbd1a878f9e4f9e29fbf1 => bd2dcae135451c4a4eb4bc5089f95040} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{302b5fa29e39c8a02a8c1448ff3910b3 => befbbfd00865383c94b176d07916bed8} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{a9b8f41f0a4bedb7d6a38d5d52f85b1b => c0d180d20ec3400cab09c6329bf85afc} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{d6e22dc7b559e3350c8dd9022fbefdc2 => c2bf20acce9760f277d7fa4bcf0ffb0d} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{3cf5ccf77878aeb1fe1d8ada5e67deff => c601e2920780f7bd5c3aefa957fe797b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{abdb7b1c9af8d02a13428625b2c4b7c4 => cd08b8bc6c847fecd18389e399c67998} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c33c633bdc271e837d3a979a9d5fff69 => d57a5f33f07e60b35376f258eccee60e} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{1b3576d77942d79cdfb6c96a6a834f6b => dac4a52765d68a9819743389fc28570d} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{b15fb7570d77e81948aac92c347638bf => defcaf6472af3cee29d57e06d4970ae3} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{64b7d469d3c0b79da072d821de5f31da => df04f9c4aa2a2fcf5de3b26a0feeb363} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{9c4bb8163207a504d9bd902b211d6919 => dfbae82df49874138432d9982fa80539} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{0f474ccbf77d31f899cd5eab5f9a3c24 => e3ba3d891ab9cbc43367cd4cce7eeb55} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{cc0d984337d631cfa16c588b449f21b8 => e63ee9d29a5618a0a244609db68c63f5} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{01acc8b4c71e3e221cb5960f566991b5 => f15c1c2c291ae6bec4d28ebea7a4aa5c} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{ad90364f7929e36777304d76c8a1ff6e => f1925e608ac7b3253ce32b99325aa718} (100%)
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob/data_alias.xml => ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml} (87%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob => ASYS_ALIASCONFIG/XMLDATA/blobFiles}/RecordContainerCache.xml (81%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob/_____configuration.xml => ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml} (94%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob => ASYS_ALIASCONFIG/XMLDATA/blobFiles}/defaultDbRepository.xml (84%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob => ASYS_ALIASCONFIG/XMLDATA/blobFiles}/mailServerIMAP.xml (83%)
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{defaultBlob/_____system_sysdb_version.xml => ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml} (88%)
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml

diff --git a/.liquibase/_____SYSTEMALIAS/basic/Workflow/webserviceUser_flowableIdmService.xml b/.liquibase/_____SYSTEMALIAS/basic/Workflow/webserviceUser_flowableIdmService.xml
index a6c0bda8ef..a9d036c000 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/Workflow/webserviceUser_flowableIdmService.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/Workflow/webserviceUser_flowableIdmService.xml
@@ -1,7 +1,6 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="s.listl" id="198892eb-e2a6-4550-9a42-a4d016aa4d11">
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="8a72258cf92888f5cc026131549b7b8d">
     <insert tableName="ASYS_USERS">
       <column name="GROUPID" value="BASIC"/>
       <column name="NAME" value="_____USER_6283cfd9-cf4d-4711-95a1-9b0d74526e01"/>
@@ -74,13 +73,5 @@
       <column name="PROPKEY" value="passwordChanged"/>
       <column name="DATE_NEW" valueDate="2020-05-14T11:20:55"/>
     </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_6283cfd9-cf4d-4711-95a1-9b0d74526e01" />
-            </whereParams>
-        </delete>
-    </rollback>
-    </changeSet>
-</databaseChangeLog>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/ASYS_USERS/PROPVAL_CLOB/clobFiles/13f3a9037de88b552013bab06b4e9bb1.txt b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/ASYS_USERS/PROPVAL_CLOB/clobFiles/13f3a9037de88b552013bab06b4e9bb1.txt
new file mode 100644
index 0000000000..ff58054b12
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/ASYS_USERS/PROPVAL_CLOB/clobFiles/13f3a9037de88b552013bab06b4e9bb1.txt
@@ -0,0 +1 @@
+H4sIAAAAAAAAAM2Z7WsbRxDG/xXjQr6NtC8zs7vXi8CN1TaQ2qUWhX4K+zKburiRkWVo+td3znFDSj4UBR3oizidT3fS/PZ55pn1eLO5/mV9sxq//+Xip/VqvJpeX23f73e57t9WPZC/9uPy6fT4dO1qfH25+ubp8O2bi5vNuNT34+b15s169Ub2f+/l7Oax/i7vx+XHk+P6zfqn9dXm6YOGc+/NMXh2HrBaguL1KFik2l0kE/znd3xxt//24u5OXrzbf/vphpcXm/XKGRvBWrC4MXEgN6BbJGIbfDJmXD5dM766vrp8vXl9fXV2+d3mt5/XL8/Bnp8tV6PcyZ/yfn92v314eW7Oz97tto/3L8/3u0c5P7t9kD/v9x+e367G27aqrkqiYCA3jICeAhSkDIzV52gSY0zjUi8ct/eyy/vtbnVxdTkuP70bl8+P1KNPBVk+V/SLwt5c/Lq+/LwOP8jDvdxqWXdf1vffuyyfGX6O8rp32c3AMVZTmEyDHn0FZOMgVdcgOpMwFxbB8FUc/WD8Ijot8CwcS0vJS0Jw0RFgsAZiMgmKOFNrKYm8OUWON/lOP7nb/iGzyBK9y+S5QObsALHrkQ8IxcSQTLAkQb4WJy88I7GnGXCiLznlGiGWrrK0QVegL4ozh9R8lCTenyLOV9tHtdhbeXj76vgWa4plJwVS6h2w+AAZsUxLPBtTmYXygSx5Y81geXBhEW2yzsQ5WEoPjUoAU20BNN3qL7AeDJfQdIHGXk6S5UVrO3l4mEOV1ceIupydj2qyTljXOTMQpeANc48uHU4SB8+DpwW6GFOaQ5XJG7X/iNocFCeKi5BK6sDRU8zZEtqTNNmfd9v2OIu/lkl1IVjoEvvHisTULIhklxsHMdkdRtKZSZNEA/qFS067mp+BJGdVXyRUTRr93ik1JYkNqku5ULDBmJPU5ETSabtsM7BsNUus0iFUZI2C3msozAYaN8tePSyVejjLMFAYvF34yGwtz8Ayo0uGgkDHLoCdKxTXIjAn26Z4WyufJEvZzWGu3csUEOI0f6i5Gm+hkI4jWv3ISZtNDXQgRt6YNFgarFlQ9Bx1Xjg+xlawBFuVYHFZXypBTo2Ba+spJ/RS5BQx/nj7oE//MIcgQ/dcqUIKpCFQuw/kTgJUehMqzhmJX0vSL9AkUqebw1wx5Jh0DEmlq5GgNMgBCSTHRuRdqLWfIsk/2u1+u5GHWRplSkihTqnBJ13dWVVphCC4UnwzVKkdrkprB6s47UJFjmjnYBmKmMbkQamhDiKKMXLN04RZojZ97f8nqcrr3bsZKErSAQydJr40eVTXAJFRdCzzYnu2nbRNHk6RJ0U6WkS0yaiqj0+x58LeBoKao9fWLgKZHIMk7yyqvbDYk6T4tMujj73dfzgiRsaYW7ANWg2qSExajsYe+pQ2g9H6UDkQY5rEiH6wceFs0OB6dIaqw1giI9RSprVn1FU7Oqg2Bf0DGldPcqfuPzs8R0epGHtpicCXaZQknauLVX/imEkbHGueP3CU9Bpa/YA0GFJf9czHR2liw5aMhVaiNnZuDqJ3ZRomYyLR1RnbKaL8N+ocX5BsVZBSQV1q2u7KAWKZRg9B1PaYQm14CEUH5mlrh+JHX9XcO8vooWEYJWtPxKYMMaN29a7jb5beOXXLtpRTBDl1x+NL0elIHYi0BFUh1lI19uUELWRCpm7ksLiqEMO0q4NuILNgjaqMc0ScEjO2QgYIS5ziqnaDkiM0a5ozjXo40V2daX48OkWiZnrVeFqz9hqkYiC1UIC6QzbFYc0H7QJ8pEhPhhoX5FKy4f+kqL/30/mv2G91Vfn5qF+ZtSUE5RnJaYJFwy2LNw5PJrIun/9N+Q8BdtMJrxwAAA==
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Birgit_Leicht.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Birgit_Leicht.xml
index 2c287e18ae..407cd8d0b9 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Birgit_Leicht.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Birgit_Leicht.xml
@@ -1,129 +1,121 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="j.hoermanns" id="f51b5b01-c172-49b7-97b8-13b54d3aafdb">
+  <changeSet author="autogenerated" id="e157d9afaa8a4e6499f68415dd7d9085">
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="6f2070f6-26ce-4361-8ad5-df7e8bb09410"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="6f2070f6-26ce-4361-8ad5-df7e8bb09410"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="1edd7253-c1a9-4eb1-92b8-ce2ad9262aa9"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="1edd7253-c1a9-4eb1-92b8-ce2ad9262aa9"/>
+      <column name="PROPVAL" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="22864525-f580-4ce3-b5d5-2034519cb482"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="22864525-f580-4ce3-b5d5-2034519cb482"/>
+      <column name="PROPVAL" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="0a9afbd0-54c8-4141-834c-a1fad149aeed"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Birgit Leicht"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="0a9afbd0-54c8-4141-834c-a1fad149aeed"/>
+      <column name="PROPVAL" value="Birgit Leicht"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="afc7201d-a72d-49d5-842d-04d6192f6302"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Birgit"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="afc7201d-a72d-49d5-842d-04d6192f6302"/>
+      <column name="PROPVAL" value="Birgit"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="b1832c76-356c-4909-a6ef-bde0c0e1c857"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Leicht"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="b1832c76-356c-4909-a6ef-bde0c0e1c857"/>
+      <column name="PROPVAL" value="Leicht"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="b091cb95-5976-4b8f-975f-c411b82b5b8c"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="b091cb95-5976-4b8f-975f-c411b82b5b8c"/>
+      <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="48e35d4e-93c9-49e9-bc7e-b1f105bed72d"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="48e35d4e-93c9-49e9-bc7e-b1f105bed72d"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="8888f771-9e61-4ea8-8e3b-388bcfbdd4bf"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="8888f771-9e61-4ea8-8e3b-388bcfbdd4bf"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="e961b7da-561c-436a-a718-8746fa818d30"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="b.leicht@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="e961b7da-561c-436a-a718-8746fa818d30"/>
+      <column name="PROPVAL" value="b.leicht@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="fb684399-de76-44dd-975d-f3d4d6c95c42"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="b.leicht@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="fb684399-de76-44dd-975d-f3d4d6c95c42"/>
+      <column name="PROPVAL" value="b.leicht@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="7025fd5a-3b29-4412-87d9-a02b7e543649"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="7025fd5a-3b29-4412-87d9-a02b7e543649"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="3c8e31a5-81c9-4cc3-895b-d5a8b5d87fa9"/>
-        <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="e47c7fb1-1072-4f03-a275-e4b6331deec1"/>
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115"/>
+      <column name="ID" value="3c8e31a5-81c9-4cc3-895b-d5a8b5d87fa9"/>
+      <column name="PROPVAL" value="e47c7fb1-1072-4f03-a275-e4b6331deec1"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
     </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_63529b4d-695d-45c0-907f-b3bd9d614115" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Harold_Smith.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Harold_Smith.xml
index 1c02edf6d9..eff2ffec82 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Harold_Smith.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Harold_Smith.xml
@@ -1,147 +1,139 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">   
-    <changeSet author="j.hoermanns" id="3b2eb88a-7d8f-4b51-a361-29170982d152">
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="fe4f395ece8408a44dcaf3ee29638ffb">
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="63b9438d-1a63-49c9-85c2-6bc28efe87e5"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="63b9438d-1a63-49c9-85c2-6bc28efe87e5"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="0eabe917-fcf7-46e4-92d1-f7d326ded6c4"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="0eabe917-fcf7-46e4-92d1-f7d326ded6c4"/>
+      <column name="PROPVAL" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="a9efc147-d086-477f-b3d5-6eea09c95e2e"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="a9efc147-d086-477f-b3d5-6eea09c95e2e"/>
+      <column name="PROPVAL" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="5064165c-a566-4905-a9ba-6df21c150935"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Harold Smith"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="5064165c-a566-4905-a9ba-6df21c150935"/>
+      <column name="PROPVAL" value="Harold Smith"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="efb6610d-8990-40c7-8044-9d3f471fe08c"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Harold"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="efb6610d-8990-40c7-8044-9d3f471fe08c"/>
+      <column name="PROPVAL" value="Harold"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="95761793-e2e5-439f-9313-e75e4558c8f0"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Smith"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="95761793-e2e5-439f-9313-e75e4558c8f0"/>
+      <column name="PROPVAL" value="Smith"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="9e7f3f53-3df4-4e6e-b16c-f13f2430c871"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_FieldStaff"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="9e7f3f53-3df4-4e6e-b16c-f13f2430c871"/>
+      <column name="PROPVAL" value="PROJECT_FieldStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="4bbc6f33-c782-47fd-9dfd-f19aed6a7dbc"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="4bbc6f33-c782-47fd-9dfd-f19aed6a7dbc"/>
+      <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="331a5f35-3111-4317-bb3a-03455d6503ed"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="331a5f35-3111-4317-bb3a-03455d6503ed"/>
+      <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="89cda16b-f94f-4b20-8fea-184250de76f2"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="89cda16b-f94f-4b20-8fea-184250de76f2"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="70fcb1a9-b13b-4222-afdc-c39de33ffe36"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="70fcb1a9-b13b-4222-afdc-c39de33ffe36"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="28b90a4a-b098-42cc-bd5c-27cb27988307"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="h.smith@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="28b90a4a-b098-42cc-bd5c-27cb27988307"/>
+      <column name="PROPVAL" value="h.smith@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="ce8946ae-eb69-46fe-b63b-d4684c0189bb"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="h.smith@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="ce8946ae-eb69-46fe-b63b-d4684c0189bb"/>
+      <column name="PROPVAL" value="h.smith@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="0b5d827a-32dc-4cd5-b023-2f4fbc65f43e"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="0b5d827a-32dc-4cd5-b023-2f4fbc65f43e"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="fee8756b-7e97-4472-aa58-bb49d1ee7902"/>
-        <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="c9d81109-4406-4205-8b90-e27acf587cf1"/>
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_0555b87b-5708-4748-aa88-064e33cab002"/>
+      <column name="ID" value="fee8756b-7e97-4472-aa58-bb49d1ee7902"/>
+      <column name="PROPVAL" value="c9d81109-4406-4205-8b90-e27acf587cf1"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
     </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_0555b87b-5708-4748-aa88-064e33cab002" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Herbert_Obermeier.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Herbert_Obermeier.xml
index 1122e1ee60..c0d64e1546 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Herbert_Obermeier.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Herbert_Obermeier.xml
@@ -1,129 +1,121 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">   
-    <changeSet author="j.hoermanns" id="f9502718-5fca-4a3c-a439-22b28a6a4866">
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="7e601b5a7087bb9539fe250fc6f48308">
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="a501ba6e-4229-4bcc-9587-3e5b3516f1b5"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="a501ba6e-4229-4bcc-9587-3e5b3516f1b5"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="e7a50a5e-7208-4821-b223-720721067edb"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="e7a50a5e-7208-4821-b223-720721067edb"/>
+      <column name="PROPVAL" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="3cd16b02-ea88-4a95-b837-95cd4e989094"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="3cd16b02-ea88-4a95-b837-95cd4e989094"/>
+      <column name="PROPVAL" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="c1114ba2-3a61-460f-868b-af15e1113a87"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Herbert Obermeier"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="c1114ba2-3a61-460f-868b-af15e1113a87"/>
+      <column name="PROPVAL" value="Herbert Obermeier"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="182783dc-9ca6-469c-8f5b-1c732a0c4830"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Herbert"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="182783dc-9ca6-469c-8f5b-1c732a0c4830"/>
+      <column name="PROPVAL" value="Herbert"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="3a555e19-4f2e-4327-98cc-515658c7c17f"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Obermeier"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="3a555e19-4f2e-4327-98cc-515658c7c17f"/>
+      <column name="PROPVAL" value="Obermeier"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="fbd983eb-e30b-4dee-b2c5-d682727a614b"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_Marketing"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="fbd983eb-e30b-4dee-b2c5-d682727a614b"/>
+      <column name="PROPVAL" value="PROJECT_Marketing"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="98a96f11-de67-4efb-8977-5dc459f3f396"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="98a96f11-de67-4efb-8977-5dc459f3f396"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="68a5bb62-d0f7-4268-881f-d86466ad67c3"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="68a5bb62-d0f7-4268-881f-d86466ad67c3"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="230a9a3b-92d9-474b-a10f-8e5ac63d9a12"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="h.obermeier@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="230a9a3b-92d9-474b-a10f-8e5ac63d9a12"/>
+      <column name="PROPVAL" value="h.obermeier@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="b1ef9091-a7e1-4800-9e7e-ed72aa419124"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="h.obermeier@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="b1ef9091-a7e1-4800-9e7e-ed72aa419124"/>
+      <column name="PROPVAL" value="h.obermeier@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="70f4ff0b-06de-4346-9350-469d401fad5e"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="70f4ff0b-06de-4346-9350-469d401fad5e"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="67de6be9-07e6-40c7-9e41-fc341081fbd5"/>
-        <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="93de7e9f-3ecd-45e7-aafe-020ab5f3ee79"/>
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65"/>
+      <column name="ID" value="67de6be9-07e6-40c7-9e41-fc341081fbd5"/>
+      <column name="PROPVAL" value="93de7e9f-3ecd-45e7-aafe-020ab5f3ee79"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
     </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_c8625e26-1597-4ce9-9558-3fb787892e65" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Lisa_Sommer.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Lisa_Sommer.xml
index 0f88fc614e..83810907fe 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Lisa_Sommer.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Lisa_Sommer.xml
@@ -1,156 +1,148 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">   
-    <changeSet author="j.hoermanns" id="d0cbed0a-5977-456f-b410-7f4a80c17cfd">
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="f139e953-b295-4bbd-927e-b894ff4d3b67"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="0a73d381-b0a1-4156-b9c2-3c6e1d909ff0"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="3264f099-27f8-4d8d-a471-01536ef8bdbd"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="54e6a89d-5283-4966-8780-b93cbca97b29"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Lisa Sommer"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="f3403820-b7ee-4e90-8c4b-881d8ccc223b"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Lisa"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="3cedc3be-ad6d-489a-a8c9-84bf96363229"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Sommer"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="9dc8712b-384b-4e62-9fab-22982c1a8acc"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_FieldStaff"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="f2874d06-ff43-43f7-b2ae-67e12ef0b8e9"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_Marketing"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="bcd35640-a961-40d8-adde-05d481dec5c6"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="edef5625-4f9e-4855-b75f-77751ea949a9"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="a4de6db6-fc43-4bc4-b3fd-75bb7602a08c"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="8479dc65-f3eb-43fe-9161-92e2e5bd7a52"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="535e6910-1e5c-45dd-89cc-8695266d2563"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="l.sommer@domain.local"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="518fa115-27f6-42af-883d-f234229df8f5"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="l.sommer@domain.local"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="9d66fea5-771e-44e2-8663-792ef9f13f8e"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="b9418e4d-709a-40e0-9b2a-b3d864cd5adc"/>
-        <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="dc1427a9-056a-463a-a07f-f08f820fae0e"/>
-    </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="f8ed3bd5a0cc066cb6c52abae3792203">
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="f139e953-b295-4bbd-927e-b894ff4d3b67"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="0a73d381-b0a1-4156-b9c2-3c6e1d909ff0"/>
+      <column name="PROPVAL" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="3264f099-27f8-4d8d-a471-01536ef8bdbd"/>
+      <column name="PROPVAL" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="54e6a89d-5283-4966-8780-b93cbca97b29"/>
+      <column name="PROPVAL" value="Lisa Sommer"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="f3403820-b7ee-4e90-8c4b-881d8ccc223b"/>
+      <column name="PROPVAL" value="Lisa"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="3cedc3be-ad6d-489a-a8c9-84bf96363229"/>
+      <column name="PROPVAL" value="Sommer"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="9dc8712b-384b-4e62-9fab-22982c1a8acc"/>
+      <column name="PROPVAL" value="PROJECT_FieldStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="f2874d06-ff43-43f7-b2ae-67e12ef0b8e9"/>
+      <column name="PROPVAL" value="PROJECT_Marketing"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="bcd35640-a961-40d8-adde-05d481dec5c6"/>
+      <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="edef5625-4f9e-4855-b75f-77751ea949a9"/>
+      <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="a4de6db6-fc43-4bc4-b3fd-75bb7602a08c"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="8479dc65-f3eb-43fe-9161-92e2e5bd7a52"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="535e6910-1e5c-45dd-89cc-8695266d2563"/>
+      <column name="PROPVAL" value="l.sommer@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="518fa115-27f6-42af-883d-f234229df8f5"/>
+      <column name="PROPVAL" value="l.sommer@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="9d66fea5-771e-44e2-8663-792ef9f13f8e"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_883d4192-8150-4d64-ad53-d2435c5d63e9"/>
+      <column name="ID" value="b9418e4d-709a-40e0-9b2a-b3d864cd5adc"/>
+      <column name="PROPVAL" value="dc1427a9-056a-463a-a07f-f08f820fae0e"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
+    </insert>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Susanne_Lustig.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Susanne_Lustig.xml
index f66f0d95d3..ce281d0e08 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Susanne_Lustig.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/Susanne_Lustig.xml
@@ -1,129 +1,121 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">   
-    <changeSet author="j.hoermanns" id="88a254de-509f-4eba-a88d-8539ca8cd37f">
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="48372b734f5add803e5bd2b345594313">
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="b5dd10e8-188d-477d-ae61-a3c36da643a8"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="b5dd10e8-188d-477d-ae61-a3c36da643a8"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="7f566326-c405-4238-8974-d92aafab0b80"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="7f566326-c405-4238-8974-d92aafab0b80"/>
+      <column name="PROPVAL" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="1525c79d-2f48-4fa4-b2e7-1a5a6cb502e8"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="1525c79d-2f48-4fa4-b2e7-1a5a6cb502e8"/>
+      <column name="PROPVAL" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="8ee8c986-72da-49d6-87eb-403b0994203a"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Susanne Lustig"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="8ee8c986-72da-49d6-87eb-403b0994203a"/>
+      <column name="PROPVAL" value="Susanne Lustig"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="2360c964-f456-423c-83f7-79ec57aff10f"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Susanne"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="2360c964-f456-423c-83f7-79ec57aff10f"/>
+      <column name="PROPVAL" value="Susanne"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="504e660a-8c64-41e3-99c3-e39b5f2ee0ce"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Lustig"/>
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="504e660a-8c64-41e3-99c3-e39b5f2ee0ce"/>
+      <column name="PROPVAL" value="Lustig"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="e753cd61-fcb6-4b89-8f29-93b875ccc388"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_HumanResources"/>
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="e753cd61-fcb6-4b89-8f29-93b875ccc388"/>
+      <column name="PROPVAL" value="PROJECT_HumanResources"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="e4d362f3-8bc3-4dd5-9b1c-d338017b5aaa"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="e4d362f3-8bc3-4dd5-9b1c-d338017b5aaa"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="a796eef7-72b6-435a-adbc-4e9356fcd35d"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="a796eef7-72b6-435a-adbc-4e9356fcd35d"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="8b8a49a6-7909-422d-8d55-5f70503946fe"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="s.lustig@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="8b8a49a6-7909-422d-8d55-5f70503946fe"/>
+      <column name="PROPVAL" value="s.lustig@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="665922d4-e0b4-4f36-b907-0e0e73a1bffc"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="s.lustig@domain.local"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="665922d4-e0b4-4f36-b907-0e0e73a1bffc"/>
+      <column name="PROPVAL" value="s.lustig@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="1ff6b066-12ba-4b01-a29e-0a84241a8b2c"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="1ff6b066-12ba-4b01-a29e-0a84241a8b2c"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
     </insert>
     <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="02fb802c-446d-4446-98f1-0e865c0950a6"/>
-        <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="29e6ddbf-77fd-4fb2-ae20-fdad9495dbd5"/>
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea"/>
+      <column name="ID" value="02fb802c-446d-4446-98f1-0e865c0950a6"/>
+      <column name="PROPVAL" value="29e6ddbf-77fd-4fb2-ae20-fdad9495dbd5"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
     </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_7c71ba90-f7a8-4e13-8cbe-e64730dc86ea" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/insert_asys_users-admin.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/insert_asys_users-admin.xml
index 583a0787f5..78c7b235bd 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/insert_asys_users-admin.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/example_asys_users/insert_asys_users-admin.xml
@@ -1,246 +1,238 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-<changeSet author="j.hoermanns" id="321d0899-d0e5-4314-8bea-4fbfe063939c">
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="486a164b-9345-457f-92db-1d3d94ff75a2"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="lastModified"/>
-        <column name="PROPVAL" value="1544193908535"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="cdb34f95-e414-4807-bbdb-f369138ee49f"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="contactID"/>
-        <column name="PROPVAL" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="3b996169-6951-4f1d-9529-b5dfeb048dca"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="name"/>
-        <column name="PROPVAL" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="c17c88f5-74e2-44a1-ae68-8130918b43d3"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="isActive"/>
-        <column name="PROPVAL" value="true"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="d8ce1868-a995-4698-a632-d8405b9bc3d9"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="title"/>
-        <column name="PROPVAL" value="Admin"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="93c88dff-a6b0-49ce-b7b4-e474b7ca7fb6"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="firstname"/>
-        <column name="PROPVAL" value="Tim"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PERSONAL"/>
-        <column name="ID" value="f63d0946-3960-43bb-9888-4c36d962f955"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="lastname"/>
-        <column name="PROPVAL" value="Admin"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="6c38f080-e36a-4c95-9756-43e3410962a0"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="INTERNAL_ADMINISTRATOR"/>
-    </insert>
-        <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="f962481d-01ff-4682-a077-043f77dbc039"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="INTERNAL_DASHBOARDSTOREADMIN"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="767e4844-772e-47e3-9cee-e9820995c3e2"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="INTERNAL_DESIGNER"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="818e47ec-f922-4af6-81a3-67ceed90c1de"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_FieldStaff"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="c9c347c9-c936-4537-9792-4c6a09007442"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_HumanResources"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="b4a5eba5-bb57-4676-9716-96637449ae45"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_Marketing"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="b1cd893d-4a66-4960-ad2f-f6d7632b0bdc"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="6a469696-b7f6-4bf0-b497-db531e8e67f1"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
-    </insert>
-	<insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2019-07-12T14:00:00.535"/>
-        <column name="DATE_NEW" valueDate="2019-07-12T14:00:00.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="0922fff7-f127-4478-8d92-8e8bb31f868e"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="PROJECT_Support"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="ef8097ea-206d-456f-bebe-144d8190ef6f"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="password"/>
-        <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="PASSWORD"/>
-        <column name="ID" value="7a9a5b3b-9fde-4822-9198-06692be1fc0f"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="passwordChanged"/>
-        <column name="PROPVAL" value="1533122217399"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="f277858d-abc0-4a64-b2cc-237fc8f9cfd7"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="email"/>
-        <column name="PROPVAL" value="Admin@domain.local"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="BASIC"/>
-        <column name="ID" value="bcc17469-c0e2-463a-b8e5-66acf839572c"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="calendarID"/>
-        <column name="PROPVAL" value="Admin@domain.local"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="FRAMESEARCH"/>
-        <column name="ID" value="0fcfdb23-e599-4c63-84c0-5da2acc946a8"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="frameStoredSearches"/>
-        <column name="PROPVAL_CLOB" value="H4sIAAAAAAAAAM2Z7WsbRxDG/xXjQr6NtC8zs7vXi8CN1TaQ2qUWhX4K+zKburiRkWVo+td3znFDSj4UBR3oizidT3fS/PZ55pn1eLO5/mV9sxq//+Xip/VqvJpeX23f73e57t9WPZC/9uPy6fT4dO1qfH25+ubp8O2bi5vNuNT34+b15s169Ub2f+/l7Oax/i7vx+XHk+P6zfqn9dXm6YOGc+/NMXh2HrBaguL1KFik2l0kE/znd3xxt//24u5OXrzbf/vphpcXm/XKGRvBWrC4MXEgN6BbJGIbfDJmXD5dM766vrp8vXl9fXV2+d3mt5/XL8/Bnp8tV6PcyZ/yfn92v314eW7Oz97tto/3L8/3u0c5P7t9kD/v9x+e367G27aqrkqiYCA3jICeAhSkDIzV52gSY0zjUi8ct/eyy/vtbnVxdTkuP70bl8+P1KNPBVk+V/SLwt5c/Lq+/LwOP8jDvdxqWXdf1vffuyyfGX6O8rp32c3AMVZTmEyDHn0FZOMgVdcgOpMwFxbB8FUc/WD8Ijot8CwcS0vJS0Jw0RFgsAZiMgmKOFNrKYm8OUWON/lOP7nb/iGzyBK9y+S5QObsALHrkQ8IxcSQTLAkQb4WJy88I7GnGXCiLznlGiGWrrK0QVegL4ozh9R8lCTenyLOV9tHtdhbeXj76vgWa4plJwVS6h2w+AAZsUxLPBtTmYXygSx5Y81geXBhEW2yzsQ5WEoPjUoAU20BNN3qL7AeDJfQdIHGXk6S5UVrO3l4mEOV1ceIupydj2qyTljXOTMQpeANc48uHU4SB8+DpwW6GFOaQ5XJG7X/iNocFCeKi5BK6sDRU8zZEtqTNNmfd9v2OIu/lkl1IVjoEvvHisTULIhklxsHMdkdRtKZSZNEA/qFS067mp+BJGdVXyRUTRr93ik1JYkNqku5ULDBmJPU5ETSabtsM7BsNUus0iFUZI2C3msozAYaN8tePSyVejjLMFAYvF34yGwtz8Ayo0uGgkDHLoCdKxTXIjAn26Z4WyufJEvZzWGu3csUEOI0f6i5Gm+hkI4jWv3ISZtNDXQgRt6YNFgarFlQ9Bx1Xjg+xlawBFuVYHFZXypBTo2Ba+spJ/RS5BQx/nj7oE//MIcgQ/dcqUIKpCFQuw/kTgJUehMqzhmJX0vSL9AkUqebw1wx5Jh0DEmlq5GgNMgBCSTHRuRdqLWfIsk/2u1+u5GHWRplSkihTqnBJ13dWVVphCC4UnwzVKkdrkprB6s47UJFjmjnYBmKmMbkQamhDiKKMXLN04RZojZ97f8nqcrr3bsZKErSAQydJr40eVTXAJFRdCzzYnu2nbRNHk6RJ0U6WkS0yaiqj0+x58LeBoKao9fWLgKZHIMk7yyqvbDYk6T4tMujj73dfzgiRsaYW7ANWg2qSExajsYe+pQ2g9H6UDkQY5rEiH6wceFs0OB6dIaqw1giI9RSprVn1FU7Oqg2Bf0DGldPcqfuPzs8R0epGHtpicCXaZQknauLVX/imEkbHGueP3CU9Bpa/YA0GFJf9czHR2liw5aMhVaiNnZuDqJ3ZRomYyLR1RnbKaL8N+ocX5BsVZBSQV1q2u7KAWKZRg9B1PaYQm14CEUH5mlrh+JHX9XcO8vooWEYJWtPxKYMMaN29a7jb5beOXXLtpRTBDl1x+NL0elIHYi0BFUh1lI19uUELWRCpm7ksLiqEMO0q4NuILNgjaqMc0ScEjO2QgYIS5ziqnaDkiM0a5ozjXo40V2daX48OkWiZnrVeFqz9hqkYiC1UIC6QzbFYc0H7QJ8pEhPhhoX5FKy4f+kqL/30/mv2G91Vfn5qF+ZtSUE5RnJaYJFwy2LNw5PJrIun/9N+Q8BdtMJrxwAAA=="/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="CALENDAR"/>
-        <column name="ID" value="bdb076c0-4056-4fbf-ae40-2e96aef36242"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="calUserFavorites"/>
-        <column name="PROPVAL_CLOB" value="; ;+ mailto:Admin@domain.local;+ CN:Administrator;+ ; |"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="CALENDAR"/>
-        <column name="ID" value="230c676e-93be-4457-80fd-c30cacff5fd0"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="calLastViewMode"/>
-        <column name="PROPVAL" value="1"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="ROLE"/>
-        <column name="ID" value="858677a7-3df4-4ce0-93e9-11fb0c972961"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="roleNames"/>
-        <column name="PROPVAL" value="INTERNAL_DESIGNER"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_EDIT" valueDate="2018-12-07T15:45:08.535"/>
-        <column name="DATE_NEW" valueDate="2018-05-25T09:52:30.361"/>
-        <column name="GROUPID" value="OTHER"/>
-        <column name="ID" value="28469b56-49a5-4f13-bebf-57c5e94dfc4f"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="phoneAddress"/>
-        <column name="PROPVAL" value="PJSIP/212"/>
-    </insert>
-    <insert tableName="ASYS_USERS">
-        <column name="DATE_NEW" valueDate="2020-04-27T12:11:00.000"/>
-        <column name="GROUPID" value="NOGROUP"/>
-        <column name="ID" value="c2eea117-30d7-46b8-bc12-1d3f0963dc55"/>
-        <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
-        <column name="PROPKEY" value="department"/>
-        <column name="PROPVAL" value="29e6ddbf-77fd-4fb2-ae20-fdad9495dbd5"/>
-    </insert>
-    <rollback>
-        <delete tableName="ASYS_USERS">
-            <where>NAME = ?</where>
-            <whereParams>
-                    <param value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046" />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
+  <changeSet author="autogenerated" id="8f0d55a9858ee3b438043c16b257588e">
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="486a164b-9345-457f-92db-1d3d94ff75a2"/>
+      <column name="PROPVAL" value="1544193908535"/>
+      <column name="PROPKEY" value="lastModified"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="cdb34f95-e414-4807-bbdb-f369138ee49f"/>
+      <column name="PROPVAL" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="PROPKEY" value="contactID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="3b996169-6951-4f1d-9529-b5dfeb048dca"/>
+      <column name="PROPVAL" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="PROPKEY" value="name"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="c17c88f5-74e2-44a1-ae68-8130918b43d3"/>
+      <column name="PROPVAL" value="true"/>
+      <column name="PROPKEY" value="isActive"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="d8ce1868-a995-4698-a632-d8405b9bc3d9"/>
+      <column name="PROPVAL" value="Admin"/>
+      <column name="PROPKEY" value="title"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="93c88dff-a6b0-49ce-b7b4-e474b7ca7fb6"/>
+      <column name="PROPVAL" value="Tim"/>
+      <column name="PROPKEY" value="firstname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PERSONAL"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="f63d0946-3960-43bb-9888-4c36d962f955"/>
+      <column name="PROPVAL" value="Admin"/>
+      <column name="PROPKEY" value="lastname"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="6c38f080-e36a-4c95-9756-43e3410962a0"/>
+      <column name="PROPVAL" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="f962481d-01ff-4682-a077-043f77dbc039"/>
+      <column name="PROPVAL" value="INTERNAL_DASHBOARDSTOREADMIN"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="767e4844-772e-47e3-9cee-e9820995c3e2"/>
+      <column name="PROPVAL" value="INTERNAL_DESIGNER"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="818e47ec-f922-4af6-81a3-67ceed90c1de"/>
+      <column name="PROPVAL" value="PROJECT_FieldStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="c9c347c9-c936-4537-9792-4c6a09007442"/>
+      <column name="PROPVAL" value="PROJECT_HumanResources"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="b4a5eba5-bb57-4676-9716-96637449ae45"/>
+      <column name="PROPVAL" value="PROJECT_Marketing"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="b1cd893d-4a66-4960-ad2f-f6d7632b0bdc"/>
+      <column name="PROPVAL" value="PROJECT_OfficeStaff"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="6a469696-b7f6-4bf0-b497-db531e8e67f1"/>
+      <column name="PROPVAL" value="PROJECT_ProjectManagement"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2019-07-12T02:00:00"/>
+      <column name="ID" value="0922fff7-f127-4478-8d92-8e8bb31f868e"/>
+      <column name="PROPVAL" value="PROJECT_Support"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2019-07-12T02:00:00"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="ef8097ea-206d-456f-bebe-144d8190ef6f"/>
+      <column name="PROPVAL" value="SHA256S:8BA6557C1C12BD7B9FF24147B71ECB36AC04CD6F7F0E7C84677E06C0CA6EAFD5:3FFDE946723B844B3F5B21D3AE1CF87FAC182CC21D1EDA3F76E781C3F63EEE9F"/>
+      <column name="PROPKEY" value="password"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="PASSWORD"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="7a9a5b3b-9fde-4822-9198-06692be1fc0f"/>
+      <column name="PROPVAL" value="1533122217399"/>
+      <column name="PROPKEY" value="passwordChanged"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="f277858d-abc0-4a64-b2cc-237fc8f9cfd7"/>
+      <column name="PROPVAL" value="Admin@domain.local"/>
+      <column name="PROPKEY" value="email"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="BASIC"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="bcc17469-c0e2-463a-b8e5-66acf839572c"/>
+      <column name="PROPVAL" value="Admin@domain.local"/>
+      <column name="PROPKEY" value="calendarID"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="FRAMESEARCH"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="PROPVAL_CLOB" valueClobFile="ASYS_USERS/PROPVAL_CLOB/clobFiles/13f3a9037de88b552013bab06b4e9bb1.txt"/>
+      <column name="ID" value="0fcfdb23-e599-4c63-84c0-5da2acc946a8"/>
+      <column name="PROPKEY" value="frameStoredSearches"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="CALENDAR"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="PROPVAL_CLOB" value="; ;+ mailto:Admin@domain.local;+ CN:Administrator;+ ; |"/>
+      <column name="ID" value="bdb076c0-4056-4fbf-ae40-2e96aef36242"/>
+      <column name="PROPKEY" value="calUserFavorites"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="CALENDAR"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="230c676e-93be-4457-80fd-c30cacff5fd0"/>
+      <column name="PROPVAL" value="1"/>
+      <column name="PROPKEY" value="calLastViewMode"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="ROLE"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="858677a7-3df4-4ce0-93e9-11fb0c972961"/>
+      <column name="PROPVAL" value="INTERNAL_DESIGNER"/>
+      <column name="PROPKEY" value="roleNames"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="OTHER"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="DATE_EDIT" valueDate="2018-12-07T03:45:08"/>
+      <column name="ID" value="28469b56-49a5-4f13-bebf-57c5e94dfc4f"/>
+      <column name="PROPVAL" value="PJSIP/212"/>
+      <column name="PROPKEY" value="phoneAddress"/>
+      <column name="DATE_NEW" valueDate="2018-05-25T09:52:30"/>
+    </insert>
+    <insert tableName="ASYS_USERS">
+      <column name="GROUPID" value="NOGROUP"/>
+      <column name="NAME" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="ID" value="c2eea117-30d7-46b8-bc12-1d3f0963dc55"/>
+      <column name="PROPVAL" value="29e6ddbf-77fd-4fb2-ae20-fdad9495dbd5"/>
+      <column name="PROPKEY" value="department"/>
+      <column name="DATE_NEW" valueDate="2020-04-27T12:11:00"/>
+    </insert>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
index 033eefbe37..d5a64c8245 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
@@ -1,1598 +1,1598 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="783bf33918360eda4d95468f8c4cf39a">
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e990531850d88c95118c75ed34b42615"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12037"/>
-            <column name="DATE_EDIT" valueDate="2019-07-27T11:42:38"/>
-            <column name="DATE_NEW" valueDate="2019-07-27T11:42:38"/>
-            <column name="FILENAME" value="address.docx"/>
-            <column name="ID" value="011eb0ce-b209-44e2-a5bf-5d5c9d056372"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="a1b00343-1b45-40e2-a3d0-e54847a14eb8"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12253"/>
-            <column name="DATE_EDIT" valueDate="2019-07-29T05:02:35"/>
-            <column name="DATE_NEW" valueDate="2019-07-29T05:02:35"/>
-            <column name="FILENAME" value="platzhalterword.docx"/>
-            <column name="ID" value="0844e0e3-e456-4517-aaa0-a43834a70bbb"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="7861355c-251d-4483-a040-6cd93b9fbe2d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/ef3d15d33c3023a91985372805270dc6"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4412370"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:03:41"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:03:41"/>
-            <column name="FILENAME" value="Standardbriefvorlage.docx"/>
-            <column name="ID" value="0a0588bb-b75e-4be5-88f5-c3eb0e07dee8"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
-            <column name="DATASIZE" valueNumeric="389"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T02:06:04"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T02:06:04"/>
-            <column name="FILENAME" value="DemoLeadimport.csv"/>
-            <column name="ID" value="0a3ddc5a-0463-4da2-9264-d7ff13a56f84"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
-            <column name="ROW_ID" value="f85740b9-6180-4d4f-8d9b-34c057073dab"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
-            <column name="DATASIZE" valueNumeric="389"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T11:43:20"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T11:43:20"/>
-            <column name="FILENAME" value="DemoLeadimport.csv"/>
-            <column name="ID" value="0af4991d-5d5b-4dc9-8eb0-ce9ceb843523"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
-            <column name="ROW_ID" value="048f0744-d7d9-46e5-bfdb-3be766818969"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5dbfcfef4e102c68982c8dccc390f3e0"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="41554"/>
-            <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
-            <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
-            <column name="DESCRIPTION" value="Image of the profile"/>
-            <column name="FILENAME" value="ProfileImage"/>
-            <column name="ID" value="0c9e1a2e-220c-4574-9d04-870b8ee22000"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/d53815eeeac3c3fa5d5c4d60ee9a6954"/>
-            <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="TABLENAME" value="PERSON"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12106"/>
-            <column name="DATE_EDIT" valueDate="2019-07-22T02:57:18"/>
-            <column name="DATE_NEW" valueDate="2019-07-22T02:57:18"/>
-            <column name="FILENAME" value="platzhalterword.docx"/>
-            <column name="ID" value="15369b8b-0ad6-4eee-96b3-cd88dd27c273"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="841f7cf6-554b-47c4-ac57-dd71a2272fdd"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="46836"/>
-            <column name="DATE_EDIT" valueDate="2019-07-25T09:59:14"/>
-            <column name="DATE_NEW" valueDate="2019-07-25T09:59:14"/>
-            <column name="FILENAME" value="Test.htm"/>
-            <column name="ID" value="18f7ff65-175d-461f-a898-52a681c1e534"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="ce6727f6-b61f-467c-89eb-bca14f649fbc"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="953856"/>
-            <column name="DATE_EDIT" valueDate="2019-09-10T01:16:32"/>
-            <column name="DATE_NEW" valueDate="2019-09-10T01:16:32"/>
-            <column name="FILENAME" value="Geschaeftspapiere.docx"/>
-            <column name="ID" value="1cbfe5b5-283f-48c0-8dba-9d132cc3f693"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-            <column name="TABLENAME" value="CONTACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4914307"/>
-            <column name="DATE_EDIT" valueDate="2019-11-15T12:12:57"/>
-            <column name="DATE_NEW" valueDate="2019-11-15T12:12:57"/>
-            <column name="FILENAME" value="Erstkontakt.eml"/>
-            <column name="ID" value="1db694f7-2118-46e7-a575-bd02f1d7cfb6"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/15f74fdb15de7c73d2c1a61ee27a1f01"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="51593"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T08:30:09"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T08:30:09"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="1e027de6-c2c3-486b-9375-efdfd0faf3b0"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="fff23f0a-b1ff-4901-8009-639dc2044a4d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="953856"/>
-            <column name="DATE_EDIT" valueDate="2019-09-04T02:57:23"/>
-            <column name="DATE_NEW" valueDate="2019-09-04T02:57:23"/>
-            <column name="FILENAME" value="Geschaeftspapiere.docx"/>
-            <column name="ID" value="1f0282f8-c67e-4c18-96b8-605063fe918a"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="dc222632-edae-4744-b6d5-e8f4967c8f7a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12253"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T10:52:26"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T10:52:26"/>
-            <column name="FILENAME" value="platzhalterword.docx"/>
-            <column name="ID" value="24ee0123-4e06-43f6-b853-8ca56dbcb504"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="728b9256-1064-42f2-847b-7692212a5a0c"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="40945"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T11:46:13"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T11:46:13"/>
-            <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
-            <column name="ID" value="28e80dac-8bae-49fd-acc4-d70bcf8bbece"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="86ae6c77-1ed6-47a7-a43c-03aa0d331062"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978985"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:40:38"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:40:38"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="2a8e424f-061e-4206-bc77-f0eeef0fba14"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="d5fcbcae-601f-4036-9803-0e762872f1cd"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978985"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T08:57:40"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T08:55:34"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="2f977ef9-de2d-4b25-8a8e-01b71a71ddff"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="8e4c15db-2092-49a9-bc75-466a42ecc840"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/45d34705f664040f9248eb8bacc2a28b"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="158014"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:47:24"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:47:24"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="2fce606e-42b3-4b7d-b810-41c33ac25f8b"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="fe9f1d8d-e24a-46d2-91d5-b79390e8f0dd"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6f1a18491d368b9b87091abcbcfcba15"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37675"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:03:06"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:03:06"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="328ccfd4-4f11-4312-bc91-04becea90161"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/1934b9888d931bd006964206bd7eb82e"/>
-            <column name="ROW_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37751"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T09:34:14"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T09:34:14"/>
-            <column name="FILENAME" value="Kontaktdatenkorrektur.txt"/>
-            <column name="ID" value="32cf8fb2-160d-47d5-a28f-8a953b286a9f"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="d6a2d85b-3ecd-4d41-b220-a8b4fe98b3f2"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/19404e8c6e0d7620a4fc2d0d2f5c8dbc"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="162284"/>
-            <column name="DATE_EDIT" valueDate="2019-05-29T06:31:39"/>
-            <column name="DATE_NEW" valueDate="2019-05-29T06:31:39"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="3bf01e81-3d28-469b-b6d0-9e78e4e7dff0"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
-            <column name="TABLENAME" value="CONTRACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="210"/>
-            <column name="DATE_EDIT" valueDate="2019-07-19T02:48:33"/>
-            <column name="DATE_NEW" valueDate="2019-07-19T02:48:33"/>
-            <column name="FILENAME" value="Platzhalter.txt"/>
-            <column name="ID" value="3c233fad-0ec1-4849-be35-b0ed06e8049f"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/50013a45c80a2ced78eaa5416d39898c"/>
-            <column name="ROW_ID" value="65f5f23d-ea6f-4691-80f7-88787bcd6200"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="5212"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:02:37"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:02:37"/>
-            <column name="FILENAME" value="footer_meineFrima.html"/>
-            <column name="ID" value="3c261dc5-e2d1-46b5-9259-467449fa1002"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/8ab69b8b0429fd6bf17496702467645e"/>
-            <column name="ROW_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/974524534e4e9e56d03ff7e4e4b669b7"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="159601"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:06:22"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:06:22"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="3f03df17-d8ad-410c-be6b-4305c3e0da3a"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
-            <column name="DATASIZE" valueNumeric="354366"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T10:25:45"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T10:25:45"/>
-            <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
-            <column name="ID" value="40b6357d-e90d-4fda-8ee4-a106068aacd5"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
-            <column name="ROW_ID" value="7430ff07-fb29-4820-8c68-3983c670d62e"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="49856"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:49:11"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:49:11"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="4146a457-edaf-4b9e-80f5-4020b6d1290c"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="1eba9d1a-09e0-4574-a66e-5ea0b0a12f8a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/912b40dae75b14b49e6d3653201a45a7"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="26"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T12:47:32"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T12:47:32"/>
-            <column name="FILENAME" value="kopftext förmlic.txt"/>
-            <column name="ID" value="4453809e-a153-4c7f-ae01-2b59ca3325e3"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5c32d4940b6672e0259b96e0b4a99c1b"/>
-            <column name="ROW_ID" value="ea745b17-2836-42e0-bb0c-ad66eb8f0bab"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0f474ccbf77d31f899cd5eab5f9a3c24"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="44736"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:03:19"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:03:19"/>
-            <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
-            <column name="ID" value="44af8cfe-84b6-497c-bd93-f7a5c5ac8159"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/64bceac916eae42b500d8b3b568d0dc4"/>
-            <column name="ROW_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12106"/>
-            <column name="DATE_EDIT" valueDate="2019-07-19T02:50:22"/>
-            <column name="DATE_NEW" valueDate="2019-07-19T02:50:22"/>
-            <column name="FILENAME" value="platzhalterword.docx"/>
-            <column name="ID" value="45de5848-c7eb-4596-bfec-5265b4ed3564"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="88dc292a-2b9b-4d6c-97e3-e951eb886ee3"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f942a0dfecf75f3ef29e4cd6db41bc7b"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="46592"/>
-            <column name="DATE_EDIT" valueDate="2019-05-17T12:52:06"/>
-            <column name="DATE_NEW" valueDate="2019-05-17T12:52:06"/>
-            <column name="FILENAME" value="WG ADITO  Agenda Workshop.msg"/>
-            <column name="ID" value="46d08998-5025-4e4d-8dc5-971215218605"/>
-            <column name="MIMETYPE" value="application/vnd.ms-outlook"/>
-            <column name="ROW_ID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
-            <column name="TABLENAME" value="ACTIVITY"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="36694"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T11:41:57"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T11:41:57"/>
-            <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
-            <column name="ID" value="47ec6c01-d320-454d-9fb6-ea1d20fcfd7a"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="afc69e14-9ff8-4073-89df-f85decc18c85"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/33a4966b814800097ed23edc98e72bdf"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="1054110"/>
-            <column name="DATE_EDIT" valueDate="2019-05-23T11:26:01"/>
-            <column name="DATE_NEW" valueDate="2019-05-23T11:26:01"/>
-            <column name="FILENAME" value="AID017-DE - ADITO Technikbroschüre.pdf"/>
-            <column name="ID" value="48f0f57c-c60a-4714-83bb-3a31c999f766"/>
-            <column name="MIMETYPE" value="application/pdf"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/0f49a3883a4b1a63c95e253c3a6f5b49"/>
-            <column name="ROW_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-            <column name="TABLENAME" value="CONTACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="361"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T10:44:15"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T10:44:15"/>
-            <column name="FILENAME" value="Platzhalter.txt"/>
-            <column name="ID" value="4afda35f-f6a3-43a5-93fa-e2c219f9cd7e"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b4bfc8e6756252b9cf027eee5afa4eb4"/>
-            <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-            <column name="TABLENAME" value="CONTACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="12253"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:48:20"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:48:20"/>
-            <column name="FILENAME" value="platzhalterword.docx"/>
-            <column name="ID" value="4c06b694-038b-44f9-a145-bce042a02bdd"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="a0b9b996-3046-47e4-aea5-c2a679e30b0f"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1b285ebd615271bbda4eccdc78b29843"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="15"/>
-            <column name="DATE_EDIT" valueDate="2019-07-19T01:48:26"/>
-            <column name="DATE_NEW" valueDate="2019-07-15T04:11:11"/>
-            <column name="DESCRIPTION" value="Image of the product"/>
-            <column name="FILENAME" value="ProductImage"/>
-            <column name="ID" value="4dfcf37a-72de-4472-b6b1-0eaa87e63bc8"/>
-            <column name="MIMETYPE" value="application/octet-stream"/>
-            <column name="ROW_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
-            <column name="TABLENAME" value="PRODUCT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="46836"/>
-            <column name="DATE_EDIT" valueDate="2019-07-25T10:02:19"/>
-            <column name="DATE_NEW" valueDate="2019-07-25T10:02:19"/>
-            <column name="FILENAME" value="Test.htm"/>
-            <column name="ID" value="5087734c-ee95-4be9-8be0-0c12a33b5230"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="bc44d430-2835-4051-9f6f-eda2cc05df1a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4593"/>
-            <column name="DATE_EDIT" valueDate="2019-07-30T08:38:01"/>
-            <column name="DATE_NEW" valueDate="2019-07-30T08:38:01"/>
-            <column name="FILENAME" value="Serienbrieftest.odt"/>
-            <column name="ID" value="5143d1cf-3aac-42f9-a242-4da2a644349b"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
-            <column name="ROW_ID" value="88696542-cc87-4a7a-b529-a7ed3405e95c"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/2d856782350505ebc0e17b35a3e696c0"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="11983"/>
-            <column name="DATE_EDIT" valueDate="2019-09-04T03:19:35"/>
-            <column name="DATE_NEW" valueDate="2019-09-04T03:19:35"/>
-            <column name="FILENAME" value="Test ohne Inhalt.docx"/>
-            <column name="ID" value="58542ae5-4c6a-4a1b-9687-e3993dd12634"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="bad97238-a5c4-4e7c-b87a-0b521afc2856"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4407373"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T09:00:29"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T09:00:29"/>
-            <column name="FILENAME" value="DemoDaten_Einzelbrief.docx"/>
-            <column name="ID" value="5d00316c-b2a3-4e8c-acf0-fae48675fd8d"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="b328f059-11f0-4aca-bc46-a7ede953be4e"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="41554"/>
-            <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
-            <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
-            <column name="DESCRIPTION" value="Image of the profile"/>
-            <column name="FILENAME" value="ProfileImage"/>
-            <column name="ID" value="62030aa4-908b-48c7-abc5-6074a3a2e611"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5acb881f3923c6cddb89c89e9e42a937"/>
-            <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-            <column name="TABLENAME" value="PERSON"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b"/>
-            <column name="DATASIZE" valueNumeric="399"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T11:22:21"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T11:22:21"/>
-            <column name="FILENAME" value="DemoLeadimport.csv"/>
-            <column name="ID" value="63234827-9874-49bf-affc-4ba454a4c6af"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ded1e6efa24a8a98c418771334381ee0"/>
-            <column name="ROW_ID" value="c77e7528-c5ab-4945-9c92-3ba8bee5f66d"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="48700"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T08:49:49"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T08:49:49"/>
-            <column name="FILENAME" value="Erstkontakt_Branchenneutral.htm"/>
-            <column name="ID" value="680e7267-ca2a-4b39-af99-44057e347980"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="d2a8ab6d-3761-4e16-8cc7-45add62d2dcd"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d769a1cf1c8bba2335080db19cf99f13"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="10580"/>
-            <column name="DATE_EDIT" valueDate="2019-07-29T04:50:33"/>
-            <column name="DATE_NEW" valueDate="2019-07-29T04:50:12"/>
-            <column name="FILENAME" value="test.txt"/>
-            <column name="ID" value="6a71ae64-60ec-41b9-b0aa-8bdd8e1a74a4"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/629fbc9558d4bd91809bd795dfcf346a"/>
-            <column name="ROW_ID" value="a5968e5c-a5a6-46ac-aebf-92930fd33874"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/15f74fdb15de7c73d2c1a61ee27a1f01"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="51593"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T11:02:40"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T11:02:40"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="6db41c79-bbea-4a8a-8f72-d63489c251f6"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="34fc4969-4998-4443-aa37-3484ad4d8474"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978985"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T08:31:15"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T08:31:15"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="71c971c1-f73b-4e08-8bc4-3f648ec4a8f1"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="2b3c04aa-f3ba-4c04-abe7-4954fa1ff6e3"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4495"/>
-            <column name="DATE_EDIT" valueDate="2019-08-30T11:02:40"/>
-            <column name="DATE_NEW" valueDate="2019-08-30T11:02:40"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="72d20e81-917c-4bcb-ae81-9f978cb5f798"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/598beafd86d131dff1af1448fa6399b3"/>
-            <column name="ROW_ID" value="35177875-151f-4856-b263-c693eead9ccc"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="47439"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:44:13"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:44:13"/>
-            <column name="FILENAME" value="Gewinnspiel.htm"/>
-            <column name="ID" value="7cdb8038-c2b6-4a3d-92e2-80b5b8a95eca"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="764acd0b-928a-4548-8311-3f50f463e19c"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37287"/>
-            <column name="DATE_EDIT" valueDate="2019-07-29T05:06:28"/>
-            <column name="DATE_NEW" valueDate="2019-07-29T05:06:28"/>
-            <column name="FILENAME" value="Test.txt"/>
-            <column name="ID" value="827bc032-5d52-4947-9491-185ebcb5f336"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="fbc7ef6d-bc48-492e-94a4-fd404a9e8255"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4407373"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:46:04"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:46:04"/>
-            <column name="FILENAME" value="DemoDaten_Serienbrief.docx"/>
-            <column name="ID" value="82c6105f-b89a-4f29-a355-a68c561c2aba"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="4d01f5dc-639b-45ed-98ec-860e344ed57a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/038811d652198c99d5150b3329312bdd"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="49816"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:51:27"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:51:27"/>
-            <column name="FILENAME" value="Geschaeftspapiere_final.odt"/>
-            <column name="ID" value="8e73bdba-f17d-4f05-b04c-33020ac5b4b0"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="ebb3a038-0c45-4e43-b14c-0c56d85457e3"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
-            <column name="DATASIZE" valueNumeric="389"/>
-            <column name="DATE_EDIT" valueDate="2019-10-15T09:01:38"/>
-            <column name="DATE_NEW" valueDate="2019-10-15T09:01:38"/>
-            <column name="FILENAME" value="DemoLeadimport.csv"/>
-            <column name="ID" value="8f5bc5e7-b6b3-45cd-b783-7f33bfc3dd1b"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
-            <column name="ROW_ID" value="d1f86f63-d946-43c6-a483-34c5faa95b8f"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a19a7f7561d606fb6c815b05cd57949a"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="280"/>
-            <column name="DATE_EDIT" valueDate="2019-07-23T08:24:21"/>
-            <column name="DATE_NEW" valueDate="2019-07-23T08:24:21"/>
-            <column name="FILENAME" value="Platzhalter.txt"/>
-            <column name="ID" value="94b958a7-a5de-4c25-8465-b5bf207ea1ab"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/41265ae22b98babc2cf2661287a1f6d5"/>
-            <column name="ROW_ID" value="31f4525b-eb00-4c68-8f9e-2026fb60f5cc"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/226c22fda5fe7fb1c1fdc48286baa9c5"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="98"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:09:56"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:09:56"/>
-            <column name="FILENAME" value="Angebotskopftext mit Dank.txt"/>
-            <column name="ID" value="95604c6a-f56c-4bc0-a118-6c301b6069a9"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/21a4e763b2b80382fdaca19842904279"/>
-            <column name="ROW_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4593"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T09:50:32"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T09:50:32"/>
-            <column name="FILENAME" value="Serienbrieftest.odt"/>
-            <column name="ID" value="9c7709e1-6a05-4d7f-964d-56989e38e948"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
-            <column name="ROW_ID" value="02c4e51d-a849-4025-83eb-6890fad3529d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
-            <column name="DATASIZE" valueNumeric="354366"/>
-            <column name="DATE_EDIT" valueDate="2019-10-09T05:04:40"/>
-            <column name="DATE_NEW" valueDate="2019-10-09T04:53:18"/>
-            <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
-            <column name="ID" value="9d35ce3a-e67e-4bd6-b653-5dc9ea56aa60"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
-            <column name="ROW_ID" value="5f358e92-6b50-4592-853f-11f47cf86e7b"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="361"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T11:56:55"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T11:56:55"/>
-            <column name="FILENAME" value="Platzhalter.txt"/>
-            <column name="ID" value="9f82917e-f7a0-4a84-802e-1a161211f043"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b4bfc8e6756252b9cf027eee5afa4eb4"/>
-            <column name="ROW_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
-            <column name="TABLENAME" value="OFFER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4130"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T11:29:14"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T11:29:14"/>
-            <column name="FILENAME" value="Erstkontakt_Anlagen_Maschinenbau.eml"/>
-            <column name="ID" value="a1e4ef39-143a-4379-865f-f3a9d8e4b2e6"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/3b321504aadfd778470cfece67754346"/>
-            <column name="ROW_ID" value="b92473c7-089b-40c1-a1f0-25e5b96ecd43"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="130"/>
-            <column name="DATE_EDIT" valueDate="2019-08-19T01:16:37"/>
-            <column name="DATE_NEW" valueDate="2019-08-19T01:16:37"/>
-            <column name="FILENAME" value="Testmail.html"/>
-            <column name="ID" value="a3afcd9a-2375-44da-8737-b0d76d3ef6b3"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/fd86b34ae674763936fee3276f16e051"/>
-            <column name="ROW_ID" value="a4f6309c-0d0c-4fca-a64a-dfb8758561fb"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5413f77e981a3653876b1c707671f8fa"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="158024"/>
-            <column name="DATE_EDIT" valueDate="2019-06-11T04:31:55"/>
-            <column name="DATE_NEW" valueDate="2019-06-11T04:31:55"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="a59687b0-7119-4a51-80ab-36892e25f4bb"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
-            <column name="TABLENAME" value="ACTIVITY"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4593"/>
-            <column name="DATE_EDIT" valueDate="2019-08-02T09:50:39"/>
-            <column name="DATE_NEW" valueDate="2019-08-02T09:50:39"/>
-            <column name="FILENAME" value="Serienbrieftest.odt"/>
-            <column name="ID" value="a6ab9367-2f9d-4a4a-a258-404a80c4e252"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
-            <column name="ROW_ID" value="292762c1-c004-4cf4-8718-0167dfdbfa78"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="354366"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T08:24:51"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T08:24:51"/>
-            <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
-            <column name="ID" value="a80d89c5-86d0-4161-89dd-fc55e05673d7"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
-            <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/acd976c80b510dbe81e1908ecf3c12f5"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="95628"/>
-            <column name="DATE_EDIT" valueDate="2019-09-03T04:31:34"/>
-            <column name="DATE_NEW" valueDate="2019-09-03T04:31:34"/>
-            <column name="FILENAME" value="Nutzung des Neon Ticket-Systems.html"/>
-            <column name="ID" value="ac878df9-2310-40d7-be80-544578956331"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/octet-stream"/>
-            <column name="ROW_ID" value="e6527bda-0475-42e0-9b7c-29c8ce4db58a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978985"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:37:37"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:37:37"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="aeccedaa-cef0-41c9-8fae-5337c6c45bec"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="9bfa24a1-4e46-4643-a3ce-eb0056088f8a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="47419"/>
-            <column name="DATE_EDIT" valueDate="2019-07-25T09:52:59"/>
-            <column name="DATE_NEW" valueDate="2019-07-25T09:52:59"/>
-            <column name="FILENAME" value="Unbenannt.html"/>
-            <column name="ID" value="b01f1280-8498-4ea5-9019-3d0193d4d617"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="3a498982-60ba-4c0a-9dcc-e6f2241e570d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5413f77e981a3653876b1c707671f8fa"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="158024"/>
-            <column name="DATE_EDIT" valueDate="2019-06-11T04:36:47"/>
-            <column name="DATE_NEW" valueDate="2019-06-11T04:36:47"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="b06ece8b-1b35-454a-9d67-74adc0e912dd"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
-            <column name="TABLENAME" value="CONTRACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="46836"/>
-            <column name="DATE_EDIT" valueDate="2019-07-29T05:03:39"/>
-            <column name="DATE_NEW" valueDate="2019-07-29T05:03:39"/>
-            <column name="FILENAME" value="Test.htm"/>
-            <column name="ID" value="b177b8db-a917-4457-a3dc-843a86cea630"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="ec32511a-dabb-4151-9ceb-edefb721a698"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37287"/>
-            <column name="DATE_EDIT" valueDate="2019-07-25T10:42:28"/>
-            <column name="DATE_NEW" valueDate="2019-07-25T10:42:28"/>
-            <column name="FILENAME" value="Testmail.txt"/>
-            <column name="ID" value="b27d7e5a-4889-4c5c-9ddc-0c50462c6f98"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="ca1b94ce-344f-44a4-acf6-d6ff08d6c34f"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="1819"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T10:27:33"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T10:27:33"/>
-            <column name="FILENAME" value="Emails_überarbeitet.txt"/>
-            <column name="ID" value="b2e57791-af02-4a1e-a334-fcad134046db"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/e20351259564192e04ca73b46bd938d1"/>
-            <column name="ROW_ID" value="dab2b50f-e524-4a4d-aff8-8a53d6217f5c"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978393"/>
-            <column name="DATE_EDIT" valueDate="2019-10-15T02:40:19"/>
-            <column name="DATE_NEW" valueDate="2019-10-15T02:40:19"/>
-            <column name="FILENAME" value="Erstkontakt.eml"/>
-            <column name="ID" value="b35e8149-ea3f-4eb2-9ec8-2dd77cfd0df1"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="d77f966e-e43d-482c-90fc-4c286a2f4bb7"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="51487"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T08:29:46"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T08:29:46"/>
-            <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
-            <column name="ID" value="b3904a52-9e7d-449e-83de-cceb3596d3db"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="814ef0c0-52b1-4551-aec0-31878550e48f"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="47426"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:39:39"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:39:39"/>
-            <column name="FILENAME" value="Gewinnspiel.htm"/>
-            <column name="ID" value="ba8558e2-4517-4b82-9b11-fbb1eee74588"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="5ac971fd-2c52-4fbb-8151-a61b4571f058"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3"/>
-            <column name="DATASIZE" valueNumeric="887484"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T09:58:09"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T09:58:09"/>
-            <column name="FILENAME" value="crmKontakte -Teil1.csv"/>
-            <column name="ID" value="bb407845-807c-4dcc-9536-8c1de0a45fef"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
-            <column name="ROW_ID" value="5f2df795-0c59-4183-9930-a884c0469ec5"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="36691"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:52:45"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:51:27"/>
-            <column name="FILENAME" value="SerieneinladungTelefonkonferenz.html"/>
-            <column name="ID" value="bd4c9292-5429-4aa2-8f38-21161776b902"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/a5d872a35697fea105c043a5d79a9a11"/>
-            <column name="ROW_ID" value="9f55b65f-7e78-4dec-9dec-36e5933439b4"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/49d3146cb185e61df669506d15c319cb"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="50024"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T09:02:16"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T09:02:16"/>
-            <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
-            <column name="ID" value="bdb8e01b-9fd0-49da-9475-cb04fa161229"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="9e64bb57-2895-4b89-968d-73bbb6545139"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a"/>
-            <column name="DATASIZE" valueNumeric="3440718"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T03:53:54"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T03:53:54"/>
-            <column name="FILENAME" value="crmKontakte.CSV"/>
-            <column name="ID" value="c2ba7e69-c88d-49b0-aa50-44ced00eebf6"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/261655987485e2a158d679cd234b63b0"/>
-            <column name="ROW_ID" value="3c61945f-3699-44a8-8243-68369a3b8ef9"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4f28ca232405b199c36a2a322c604840"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="6203"/>
-            <column name="DATE_EDIT" valueDate="2019-05-23T01:16:23"/>
-            <column name="DATE_NEW" valueDate="2019-05-23T01:16:23"/>
-            <column name="FILENAME" value="Kunden begeistern mit passgenauem Online-Marketing Teil 1 - Teilnehmerbericht.xlsx"/>
-            <column name="ID" value="c4f11f5c-0fbe-4a7c-894c-968f9d605bc0"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
-            <column name="ROW_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-            <column name="TABLENAME" value="ACTIVITY"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37751"/>
-            <column name="DATE_EDIT" valueDate="2019-07-30T11:27:13"/>
-            <column name="DATE_NEW" valueDate="2019-07-30T11:27:13"/>
-            <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
-            <column name="ID" value="c71dd680-8d48-42f2-8ffe-06540b49ea5a"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="daa63509-937b-4ce3-aed8-a79863225ef2"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9386121ffea926a30b9fa54870968dd1"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="41554"/>
-            <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
-            <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
-            <column name="DESCRIPTION" value="Image of the profile"/>
-            <column name="FILENAME" value="ProfileImage"/>
-            <column name="ID" value="ca0db8c3-e51a-45da-8fe4-7c727396d52e"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/4d2fdaebe7a657843273c9714729df48"/>
-            <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-            <column name="TABLENAME" value="PERSON"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="41554"/>
-            <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
-            <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
-            <column name="DESCRIPTION" value="Image of the profile"/>
-            <column name="FILENAME" value="ProfileImage"/>
-            <column name="ID" value="ca8d0195-db3f-4b04-98be-9c46e060e67b"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/1bafbc350fd7bb88105555e14ef98d93"/>
-            <column name="ROW_ID" value="73d72f18-e7f5-11e8-9f32-f2801f1b9fd1"/>
-            <column name="TABLENAME" value="PERSON"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="49856"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:45:54"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:45:54"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="cb09f02d-2981-4ce4-b44f-ad9cc65a7852"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="54c20fa2-e182-4e5e-b919-122a983996e5"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="2820"/>
-            <column name="DATE_EDIT" valueDate="2019-03-21T09:23:21"/>
-            <column name="DATE_NEW" valueDate="2019-03-21T09:23:21"/>
-            <column name="FILENAME" value="20181002_Dokumentenmanagement.txt"/>
-            <column name="ID" value="d16ec3bc-07a1-4343-b0ee-439f5b418831"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/17f1c477322bb191430e50a1d9de6e20"/>
-            <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="TABLENAME" value="CONTACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
-            <column name="DATASIZE" valueNumeric="389"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T10:19:20"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T10:19:20"/>
-            <column name="FILENAME" value="DemoLeadimport.csv"/>
-            <column name="ID" value="d3823171-82b0-4add-a87b-effec63cf476"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
-            <column name="ROW_ID" value="781c9457-3892-4794-80b4-9a4fed9bf413"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="41096"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:47:00"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:47:00"/>
-            <column name="FILENAME" value="EinzeleinladungTelefonkonferenz.htm"/>
-            <column name="ID" value="d6ba04b6-1470-4804-98d1-0ae2a9e32a3d"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="dfe476e5-0624-4298-b49d-82ae08d828d4"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/670d53f8afc15262779fdd5d30c0067e"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="57068"/>
-            <column name="DATE_EDIT" valueDate="2019-07-27T11:31:58"/>
-            <column name="DATE_NEW" valueDate="2019-07-27T11:31:58"/>
-            <column name="FILENAME" value="2018_11_29_WeitereInfos_Firma.png"/>
-            <column name="ID" value="d802b6b7-cc99-44df-8638-497faa12bbf6"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ff1d70b43b211db9f56032eb197599da"/>
-            <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-            <column name="TABLENAME" value="CONTACT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="21722"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:00:32"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:00:32"/>
-            <column name="FILENAME" value="Erstkontakt meineFirma.eml"/>
-            <column name="ID" value="d9b64af4-4c91-42ba-bfc0-a8688faf638f"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3"/>
-            <column name="DATASIZE" valueNumeric="887484"/>
-            <column name="DATE_EDIT" valueDate="2019-10-15T09:06:19"/>
-            <column name="DATE_NEW" valueDate="2019-10-15T09:06:19"/>
-            <column name="FILENAME" value="crmKontakte -Teil1.csv"/>
-            <column name="ID" value="da23010a-c3dd-4df8-81b1-a49c99b50605"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
-            <column name="ROW_ID" value="05071d57-c74c-405d-b89c-43ff5005306f"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/624076ebf52efb7b94e80b198c6c19b2"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="47252"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T10:08:07"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T10:08:07"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="da89e27b-b68f-46cf-b14a-2ef578c885a3"/>
-            <column name="KEYWORD" value="undefined"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="21e9b19f-98d8-4610-8f30-9f7647282ab4"/>
-            <column name="TABLENAME" value="ACTIVITY"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="953856"/>
-            <column name="DATE_EDIT" valueDate="2019-08-30T11:04:36"/>
-            <column name="DATE_NEW" valueDate="2019-08-30T11:04:36"/>
-            <column name="FILENAME" value="Geschaeftspapiere.docx"/>
-            <column name="ID" value="da90d13c-a91b-43a3-aa7b-c301f1edb014"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="34bea077-5dc4-4063-9646-17337f48e4d5"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="41301"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:01:31"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:01:31"/>
-            <column name="FILENAME" value="SerieneinladungTelefonkonferenz.html"/>
-            <column name="ID" value="dab3b3eb-1fb5-46de-af85-bd79c6584185"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a47b9712f19a2276108994bc82da447a"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="105"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:11:23"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:11:23"/>
-            <column name="FILENAME" value="Angebotsfußtext mit Dank.txt"/>
-            <column name="ID" value="dc1d9429-831f-4687-9362-d9a01a2a9b68"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/524bee188cb50feb8ce69490bff251da"/>
-            <column name="ROW_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/58d526fe1ec32f07facc7c52e04619b3"/>
-            <column name="CONTAINERNAME" value="IMAGE"/>
-            <column name="DATASIZE" valueNumeric="41554"/>
-            <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
-            <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
-            <column name="DESCRIPTION" value="Image of the profile"/>
-            <column name="FILENAME" value="ProfileImage"/>
-            <column name="ID" value="dfb81242-520b-4bd6-95f0-84882f4e61ae"/>
-            <column name="MIMETYPE" value="image/png"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/41b5b566200a8bf6784cc5c6ea8931d6"/>
-            <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-            <column name="TABLENAME" value="PERSON"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
-            <column name="DATASIZE" valueNumeric="354366"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T08:03:33"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T08:03:33"/>
-            <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
-            <column name="ID" value="dff33d08-e7c0-457b-a8fc-9bfe0f6fbeb2"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
-            <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978394"/>
-            <column name="DATE_EDIT" valueDate="2019-10-17T09:04:31"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T09:04:31"/>
-            <column name="FILENAME" value="Erstkontakt.eml"/>
-            <column name="ID" value="e185fd6a-0134-43a8-9f62-4459ed595ac4"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="41096"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:46:24"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:46:24"/>
-            <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
-            <column name="ID" value="e417291d-f718-407e-aebf-a3847ee4a8d3"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="1778521a-1ba6-45eb-afaa-77c34bacf74d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
-            <column name="DATASIZE" valueNumeric="354366"/>
-            <column name="DATE_EDIT" valueDate="2019-10-10T09:02:28"/>
-            <column name="DATE_NEW" valueDate="2019-10-10T09:02:28"/>
-            <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
-            <column name="ID" value="e58ef463-fd4b-4fce-bf0b-c553c16800c8"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
-            <column name="ROW_ID" value="5f986c0d-8c4d-4111-93ca-bcbf5263d35e"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4407373"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:46:44"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:46:44"/>
-            <column name="FILENAME" value="DemoDaten_Einzelbrief.docx"/>
-            <column name="ID" value="e8fd78fc-a861-4cc2-82d3-417ea852e051"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="f1bca769-87e8-4103-b25f-c6592317741c"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4978985"/>
-            <column name="DATE_EDIT" valueDate="2019-09-04T02:56:44"/>
-            <column name="DATE_NEW" valueDate="2019-09-04T02:56:44"/>
-            <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
-            <column name="ID" value="e9198094-f2fa-4b21-91f6-09daedc2bb33"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="970c8ca0-b24c-4275-8b45-2a0c3af3980f"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6deedcdb0edd41abf5834c8ac6f69fa2"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="4407392"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T08:48:43"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T08:48:43"/>
-            <column name="FILENAME" value="DemoDaten_Serienbrief.docx"/>
-            <column name="ID" value="ea3f54dd-82f2-4c78-9ffa-e66513773f9c"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="17e2499f-86dc-418c-876d-9f895da3354b"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a"/>
-            <column name="DATASIZE" valueNumeric="3440718"/>
-            <column name="DATE_EDIT" valueDate="2019-10-11T08:13:02"/>
-            <column name="DATE_NEW" valueDate="2019-10-11T08:13:02"/>
-            <column name="FILENAME" value="crmKontakte.csv"/>
-            <column name="ID" value="ec70ec28-f390-4a22-abb7-9a075684e1c9"/>
-            <column name="KEYWORD" value="MAINDOCUMENT"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/261655987485e2a158d679cd234b63b0"/>
-            <column name="ROW_ID" value="ddf07c49-8481-44f7-b99d-f6178ee91032"/>
-            <column name="TABLENAME" value="LEADIMPORT"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/69b7cd8968644958ba4c7f7f2eaf5004"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="50052"/>
-            <column name="DATE_EDIT" valueDate="2019-10-08T09:00:52"/>
-            <column name="DATE_NEW" valueDate="2019-10-08T09:00:52"/>
-            <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
-            <column name="ID" value="ed5b3682-31e1-4368-92b1-1c51a59dcdba"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="8909fb30-cfcb-4241-8c12-813260d8215d"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="3469"/>
-            <column name="DATE_EDIT" valueDate="2019-08-22T03:59:53"/>
-            <column name="DATE_NEW" valueDate="2019-08-22T03:59:53"/>
-            <column name="FILENAME" value="Erstkontakt_Anlagen_Maschinenbau.eml"/>
-            <column name="ID" value="f15c11c2-6fe0-43de-8ea6-7950cdb86277"/>
-            <column name="MIMETYPE" value="text/plain"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/e6171f88ac2cacb0c73fc84eee151c1e"/>
-            <column name="ROW_ID" value="9a323aaa-6779-4388-88c0-5a32a778f195"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1a89c2cc804288ea43899e39105256ad"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="13"/>
-            <column name="DATE_EDIT" valueDate="2019-08-02T09:40:58"/>
-            <column name="DATE_NEW" valueDate="2019-08-02T09:40:14"/>
-            <column name="FILENAME" value="Kontaktdaten.txt"/>
-            <column name="ID" value="f513da6e-a150-481a-85e4-ee1ee435e850"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="7d3258f9-33d9-40d9-a751-2f5170c39b83"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="37617"/>
-            <column name="DATE_EDIT" valueDate="2019-07-31T12:34:45"/>
-            <column name="DATE_NEW" valueDate="2019-07-31T12:34:45"/>
-            <column name="FILENAME" value="Test.txt"/>
-            <column name="ID" value="f78fa27f-f1f1-4cf6-ab3d-fec88c8c11d5"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="b7382ffd-691a-4913-9455-345174942287"/>
-            <column name="TABLENAME" value="BULKMAIL"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/19404e8c6e0d7620a4fc2d0d2f5c8dbc"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="162284"/>
-            <column name="DATE_EDIT" valueDate="2019-05-29T06:42:47"/>
-            <column name="DATE_NEW" valueDate="2019-05-29T06:42:47"/>
-            <column name="FILENAME" value="Rahmenvertrag.docx"/>
-            <column name="ID" value="f7d30418-7727-459c-8b6e-0ef41e16f3fd"/>
-            <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-            <column name="ROW_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
-            <column name="TABLENAME" value="ACTIVITY"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="51487"/>
-            <column name="DATE_EDIT" valueDate="2019-09-04T02:58:42"/>
-            <column name="DATE_NEW" valueDate="2019-09-04T02:58:42"/>
-            <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
-            <column name="ID" value="fb4d4b26-6b2d-4f69-ae7f-a4ed4e86c3b9"/>
-            <column name="MIMETYPE" value="text/html"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
-            <column name="ROW_ID" value="cfbe9ef8-457d-4600-84f5-3058b35c32cf"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="49856"/>
-            <column name="DATE_EDIT" valueDate="2019-09-13T11:17:36"/>
-            <column name="DATE_NEW" valueDate="2019-09-13T11:17:36"/>
-            <column name="FILENAME" value="Geschaeftspapiere.odt"/>
-            <column name="ID" value="fec3067c-1a4b-4669-a63f-5f6f81e18463"/>
-            <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
-            <column name="ROW_ID" value="e20dadf7-fb86-40c9-bc6b-56307bfa05d3"/>
-            <column name="TABLENAME" value="SERIALLETTER"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/74aeda3171338236e373094c930b2ebd"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="168193"/>
-            <column name="DATE_EDIT" valueDate="2019-09-23T02:38:36"/>
-            <column name="DATE_NEW" valueDate="2019-09-23T02:38:36"/>
-            <column name="FILENAME" value="Rahmenvertrag.pdf"/>
-            <column name="ID" value="ffce8eeb-b723-438f-aaa5-ddcbee28ecc2"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="application/pdf"/>
-            <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/895f169c7fea615c680f9c9859e671ad"/>
-            <column name="ROW_ID" value="db95a661-d0ac-4541-b876-b546c82354b9"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="ASYS_BINARIES">
-            <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/72f0f500-e7b7-4b0d-90e3-240d9edc88ee"/>
-            <column name="CONTAINERNAME" value="DOCUMENT"/>
-            <column name="DATASIZE" valueNumeric="7416"/>
-            <column name="DATE_EDIT" valueDate="2020-03-24T14:50:41"/>
-            <column name="DATE_NEW" valueDate="2020-03-24T14:50:41"/>
-            <column name="FILENAME" value="Angebotsanfrage.eml"/>
-            <column name="ID" value="867995aa-5a62-4121-ba1f-880cdb18eed1"/>
-            <column name="KEYWORD" value="TEMPLATE"/>
-            <column name="MIMETYPE" value="message/rfc822"/>
-            <column name="ROW_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
-            <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-            <column name="USER_EDIT" value="Admin"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-    </changeSet>
+  <changeSet author="autogenerated" id="e092ac5e2598ffe0dc998cf99e431f6d">
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-27T11:42:38"/>
+      <column name="FILENAME" value="address.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-07-27T11:42:38"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="011eb0ce-b209-44e2-a5bf-5d5c9d056372"/>
+      <column name="DATASIZE" valueNumeric="12037"/>
+      <column name="ROW_ID" value="a1b00343-1b45-40e2-a3d0-e54847a14eb8"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e990531850d88c95118c75ed34b42615"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-29T05:02:35"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-07-29T05:02:35"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="0844e0e3-e456-4517-aaa0-a43834a70bbb"/>
+      <column name="DATASIZE" valueNumeric="12253"/>
+      <column name="ROW_ID" value="7861355c-251d-4483-a040-6cd93b9fbe2d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:03:41"/>
+      <column name="FILENAME" value="Standardbriefvorlage.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:03:41"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="0a0588bb-b75e-4be5-88f5-c3eb0e07dee8"/>
+      <column name="DATASIZE" valueNumeric="4412370"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/ef3d15d33c3023a91985372805270dc6"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T02:06:04"/>
+      <column name="FILENAME" value="DemoLeadimport.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T02:06:04"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="0a3ddc5a-0463-4da2-9264-d7ff13a56f84"/>
+      <column name="DATASIZE" valueNumeric="389"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="f85740b9-6180-4d4f-8d9b-34c057073dab"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T11:43:20"/>
+      <column name="FILENAME" value="DemoLeadimport.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T11:43:20"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="0af4991d-5d5b-4dc9-8eb0-ce9ceb843523"/>
+      <column name="DATASIZE" valueNumeric="389"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="048f0744-d7d9-46e5-bfdb-3be766818969"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/d53815eeeac3c3fa5d5c4d60ee9a6954"/>
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the profile"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
+      <column name="FILENAME" value="ProfileImage"/>
+      <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="0c9e1a2e-220c-4574-9d04-870b8ee22000"/>
+      <column name="DATASIZE" valueNumeric="41554"/>
+      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="TABLENAME" value="PERSON"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5dbfcfef4e102c68982c8dccc390f3e0"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-22T02:57:18"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-07-22T02:57:18"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="15369b8b-0ad6-4eee-96b3-cd88dd27c273"/>
+      <column name="DATASIZE" valueNumeric="12106"/>
+      <column name="ROW_ID" value="841f7cf6-554b-47c4-ac57-dd71a2272fdd"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-25T09:59:14"/>
+      <column name="FILENAME" value="Test.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-07-25T09:59:14"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="18f7ff65-175d-461f-a898-52a681c1e534"/>
+      <column name="DATASIZE" valueNumeric="46836"/>
+      <column name="ROW_ID" value="ce6727f6-b61f-467c-89eb-bca14f649fbc"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-10T01:16:32"/>
+      <column name="FILENAME" value="Geschaeftspapiere.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-09-10T01:16:32"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="1cbfe5b5-283f-48c0-8dba-9d132cc3f693"/>
+      <column name="DATASIZE" valueNumeric="953856"/>
+      <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T12:12:57"/>
+      <column name="FILENAME" value="Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T12:12:57"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="1db694f7-2118-46e7-a575-bd02f1d7cfb6"/>
+      <column name="DATASIZE" valueNumeric="4914307"/>
+      <column name="ROW_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T08:30:09"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T08:30:09"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="1e027de6-c2c3-486b-9375-efdfd0faf3b0"/>
+      <column name="DATASIZE" valueNumeric="51593"/>
+      <column name="ROW_ID" value="fff23f0a-b1ff-4901-8009-639dc2044a4d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/15f74fdb15de7c73d2c1a61ee27a1f01"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T02:57:23"/>
+      <column name="FILENAME" value="Geschaeftspapiere.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-09-04T02:57:23"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="1f0282f8-c67e-4c18-96b8-605063fe918a"/>
+      <column name="DATASIZE" valueNumeric="953856"/>
+      <column name="ROW_ID" value="dc222632-edae-4744-b6d5-e8f4967c8f7a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T10:52:26"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T10:52:26"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="24ee0123-4e06-43f6-b853-8ca56dbcb504"/>
+      <column name="DATASIZE" valueNumeric="12253"/>
+      <column name="ROW_ID" value="728b9256-1064-42f2-847b-7692212a5a0c"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-19T02:50:22"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-07-19T02:50:22"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="45de5848-c7eb-4596-bfec-5265b4ed3564"/>
+      <column name="DATASIZE" valueNumeric="12106"/>
+      <column name="ROW_ID" value="88dc292a-2b9b-4d6c-97e3-e951eb886ee3"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T11:46:13"/>
+      <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T11:46:13"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="28e80dac-8bae-49fd-acc4-d70bcf8bbece"/>
+      <column name="DATASIZE" valueNumeric="40945"/>
+      <column name="ROW_ID" value="86ae6c77-1ed6-47a7-a43c-03aa0d331062"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:40:38"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:40:38"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="2a8e424f-061e-4206-bc77-f0eeef0fba14"/>
+      <column name="DATASIZE" valueNumeric="4978985"/>
+      <column name="ROW_ID" value="d5fcbcae-601f-4036-9803-0e762872f1cd"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T08:55:34"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T08:57:40"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="2f977ef9-de2d-4b25-8a8e-01b71a71ddff"/>
+      <column name="DATASIZE" valueNumeric="4978985"/>
+      <column name="ROW_ID" value="8e4c15db-2092-49a9-bc75-466a42ecc840"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:47:24"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:47:24"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="2fce606e-42b3-4b7d-b810-41c33ac25f8b"/>
+      <column name="DATASIZE" valueNumeric="158014"/>
+      <column name="ROW_ID" value="fe9f1d8d-e24a-46d2-91d5-b79390e8f0dd"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/45d34705f664040f9248eb8bacc2a28b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/1934b9888d931bd006964206bd7eb82e"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:03:06"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:03:06"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="328ccfd4-4f11-4312-bc91-04becea90161"/>
+      <column name="DATASIZE" valueNumeric="37675"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cb0d2bc68c1e07516437657c37fb79c"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T09:34:14"/>
+      <column name="FILENAME" value="Kontaktdatenkorrektur.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T09:34:14"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="32cf8fb2-160d-47d5-a28f-8a953b286a9f"/>
+      <column name="DATASIZE" valueNumeric="37751"/>
+      <column name="ROW_ID" value="d6a2d85b-3ecd-4d41-b220-a8b4fe98b3f2"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-29T06:31:39"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T06:31:39"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="3bf01e81-3d28-469b-b6d0-9e78e4e7dff0"/>
+      <column name="DATASIZE" valueNumeric="162284"/>
+      <column name="ROW_ID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
+      <column name="TABLENAME" value="CONTRACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/19404e8c6e0d7620a4fc2d0d2f5c8dbc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/50013a45c80a2ced78eaa5416d39898c"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-19T02:48:33"/>
+      <column name="FILENAME" value="Platzhalter.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-19T02:48:33"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="3c233fad-0ec1-4849-be35-b0ed06e8049f"/>
+      <column name="DATASIZE" valueNumeric="210"/>
+      <column name="ROW_ID" value="65f5f23d-ea6f-4691-80f7-88787bcd6200"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/8ab69b8b0429fd6bf17496702467645e"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:02:37"/>
+      <column name="FILENAME" value="footer_meineFrima.html"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:02:37"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="3c261dc5-e2d1-46b5-9259-467449fa1002"/>
+      <column name="DATASIZE" valueNumeric="5212"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:06:22"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:06:22"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="3f03df17-d8ad-410c-be6b-4305c3e0da3a"/>
+      <column name="DATASIZE" valueNumeric="159601"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/974524534e4e9e56d03ff7e4e4b669b7"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T10:25:45"/>
+      <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T10:25:45"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="40b6357d-e90d-4fda-8ee4-a106068aacd5"/>
+      <column name="DATASIZE" valueNumeric="354366"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="7430ff07-fb29-4820-8c68-3983c670d62e"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:49:11"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:49:11"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="4146a457-edaf-4b9e-80f5-4020b6d1290c"/>
+      <column name="DATASIZE" valueNumeric="49856"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="1eba9d1a-09e0-4574-a66e-5ea0b0a12f8a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5c32d4940b6672e0259b96e0b4a99c1b"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T12:47:32"/>
+      <column name="FILENAME" value="kopftext förmlic.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T12:47:32"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="4453809e-a153-4c7f-ae01-2b59ca3325e3"/>
+      <column name="DATASIZE" valueNumeric="26"/>
+      <column name="ROW_ID" value="ea745b17-2836-42e0-bb0c-ad66eb8f0bab"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/912b40dae75b14b49e6d3653201a45a7"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/64bceac916eae42b500d8b3b568d0dc4"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:03:19"/>
+      <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:03:19"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="44af8cfe-84b6-497c-bd93-f7a5c5ac8159"/>
+      <column name="DATASIZE" valueNumeric="44736"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e3ba3d891ab9cbc43367cd4cce7eeb55"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T12:52:06"/>
+      <column name="FILENAME" value="WG ADITO  Agenda Workshop.msg"/>
+      <column name="DATE_EDIT" valueDate="2019-05-17T12:52:06"/>
+      <column name="MIMETYPE" value="application/vnd.ms-outlook"/>
+      <column name="ID" value="46d08998-5025-4e4d-8dc5-971215218605"/>
+      <column name="DATASIZE" valueNumeric="46592"/>
+      <column name="ROW_ID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f942a0dfecf75f3ef29e4cd6db41bc7b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T11:41:57"/>
+      <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T11:41:57"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="47ec6c01-d320-454d-9fb6-ea1d20fcfd7a"/>
+      <column name="DATASIZE" valueNumeric="36694"/>
+      <column name="ROW_ID" value="afc69e14-9ff8-4073-89df-f85decc18c85"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/0f49a3883a4b1a63c95e253c3a6f5b49"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T11:26:01"/>
+      <column name="FILENAME" value="AID017-DE - ADITO Technikbroschüre.pdf"/>
+      <column name="DATE_EDIT" valueDate="2019-05-23T11:26:01"/>
+      <column name="MIMETYPE" value="application/pdf"/>
+      <column name="ID" value="48f0f57c-c60a-4714-83bb-3a31c999f766"/>
+      <column name="DATASIZE" valueNumeric="1054110"/>
+      <column name="ROW_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/33a4966b814800097ed23edc98e72bdf"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b4bfc8e6756252b9cf027eee5afa4eb4"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T10:44:15"/>
+      <column name="FILENAME" value="Platzhalter.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T10:44:15"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="4afda35f-f6a3-43a5-93fa-e2c219f9cd7e"/>
+      <column name="DATASIZE" valueNumeric="361"/>
+      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:48:20"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:48:20"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="4c06b694-038b-44f9-a145-bce042a02bdd"/>
+      <column name="DATASIZE" valueNumeric="12253"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="a0b9b996-3046-47e4-aea5-c2a679e30b0f"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the product"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-15T04:11:11"/>
+      <column name="FILENAME" value="ProductImage"/>
+      <column name="DATE_EDIT" valueDate="2019-07-19T01:48:26"/>
+      <column name="MIMETYPE" value="application/octet-stream"/>
+      <column name="ID" value="4dfcf37a-72de-4472-b6b1-0eaa87e63bc8"/>
+      <column name="DATASIZE" valueNumeric="15"/>
+      <column name="ROW_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
+      <column name="TABLENAME" value="PRODUCT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1b285ebd615271bbda4eccdc78b29843"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-25T10:02:19"/>
+      <column name="FILENAME" value="Test.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-07-25T10:02:19"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="5087734c-ee95-4be9-8be0-0c12a33b5230"/>
+      <column name="DATASIZE" valueNumeric="46836"/>
+      <column name="ROW_ID" value="bc44d430-2835-4051-9f6f-eda2cc05df1a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-30T08:38:01"/>
+      <column name="FILENAME" value="Serienbrieftest.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-30T08:38:01"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="5143d1cf-3aac-42f9-a242-4da2a644349b"/>
+      <column name="DATASIZE" valueNumeric="4593"/>
+      <column name="ROW_ID" value="88696542-cc87-4a7a-b529-a7ed3405e95c"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T03:19:35"/>
+      <column name="FILENAME" value="Test ohne Inhalt.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-09-04T03:19:35"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="58542ae5-4c6a-4a1b-9687-e3993dd12634"/>
+      <column name="DATASIZE" valueNumeric="11983"/>
+      <column name="ROW_ID" value="bad97238-a5c4-4e7c-b87a-0b521afc2856"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/2d856782350505ebc0e17b35a3e696c0"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T09:00:29"/>
+      <column name="FILENAME" value="DemoDaten_Einzelbrief.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T09:00:29"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="5d00316c-b2a3-4e8c-acf0-fae48675fd8d"/>
+      <column name="DATASIZE" valueNumeric="4407373"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="b328f059-11f0-4aca-bc46-a7ede953be4e"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5acb881f3923c6cddb89c89e9e42a937"/>
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the profile"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
+      <column name="FILENAME" value="ProfileImage"/>
+      <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="62030aa4-908b-48c7-abc5-6074a3a2e611"/>
+      <column name="DATASIZE" valueNumeric="41554"/>
+      <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="TABLENAME" value="PERSON"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ded1e6efa24a8a98c418771334381ee0"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T11:22:21"/>
+      <column name="FILENAME" value="DemoLeadimport.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T11:22:21"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="63234827-9874-49bf-affc-4ba454a4c6af"/>
+      <column name="DATASIZE" valueNumeric="399"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="c77e7528-c5ab-4945-9c92-3ba8bee5f66d"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T08:49:49"/>
+      <column name="FILENAME" value="Erstkontakt_Branchenneutral.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T08:49:49"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="680e7267-ca2a-4b39-af99-44057e347980"/>
+      <column name="DATASIZE" valueNumeric="48700"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="d2a8ab6d-3761-4e16-8cc7-45add62d2dcd"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/629fbc9558d4bd91809bd795dfcf346a"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-29T04:50:12"/>
+      <column name="FILENAME" value="test.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-29T04:50:33"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="6a71ae64-60ec-41b9-b0aa-8bdd8e1a74a4"/>
+      <column name="DATASIZE" valueNumeric="10580"/>
+      <column name="ROW_ID" value="a5968e5c-a5a6-46ac-aebf-92930fd33874"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d769a1cf1c8bba2335080db19cf99f13"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T11:02:40"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T11:02:40"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="6db41c79-bbea-4a8a-8f72-d63489c251f6"/>
+      <column name="DATASIZE" valueNumeric="51593"/>
+      <column name="ROW_ID" value="34fc4969-4998-4443-aa37-3484ad4d8474"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/15f74fdb15de7c73d2c1a61ee27a1f01"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T08:31:15"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T08:31:15"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="71c971c1-f73b-4e08-8bc4-3f648ec4a8f1"/>
+      <column name="DATASIZE" valueNumeric="4978985"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="2b3c04aa-f3ba-4c04-abe7-4954fa1ff6e3"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/598beafd86d131dff1af1448fa6399b3"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-30T11:02:40"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-08-30T11:02:40"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="72d20e81-917c-4bcb-ae81-9f978cb5f798"/>
+      <column name="DATASIZE" valueNumeric="4495"/>
+      <column name="ROW_ID" value="35177875-151f-4856-b263-c693eead9ccc"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:44:13"/>
+      <column name="FILENAME" value="Gewinnspiel.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:44:13"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="7cdb8038-c2b6-4a3d-92e2-80b5b8a95eca"/>
+      <column name="DATASIZE" valueNumeric="47439"/>
+      <column name="ROW_ID" value="764acd0b-928a-4548-8311-3f50f463e19c"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-29T05:06:28"/>
+      <column name="FILENAME" value="Test.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-29T05:06:28"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="827bc032-5d52-4947-9491-185ebcb5f336"/>
+      <column name="DATASIZE" valueNumeric="37287"/>
+      <column name="ROW_ID" value="fbc7ef6d-bc48-492e-94a4-fd404a9e8255"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:46:04"/>
+      <column name="FILENAME" value="DemoDaten_Serienbrief.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:46:04"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="82c6105f-b89a-4f29-a355-a68c561c2aba"/>
+      <column name="DATASIZE" valueNumeric="4407373"/>
+      <column name="ROW_ID" value="4d01f5dc-639b-45ed-98ec-860e344ed57a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:51:27"/>
+      <column name="FILENAME" value="Geschaeftspapiere_final.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:51:27"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="8e73bdba-f17d-4f05-b04c-33020ac5b4b0"/>
+      <column name="DATASIZE" valueNumeric="49816"/>
+      <column name="ROW_ID" value="ebb3a038-0c45-4e43-b14c-0c56d85457e3"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/038811d652198c99d5150b3329312bdd"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-15T09:01:38"/>
+      <column name="FILENAME" value="DemoLeadimport.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-15T09:01:38"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="8f5bc5e7-b6b3-45cd-b783-7f33bfc3dd1b"/>
+      <column name="DATASIZE" valueNumeric="389"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="d1f86f63-d946-43c6-a483-34c5faa95b8f"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/41265ae22b98babc2cf2661287a1f6d5"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-23T08:24:21"/>
+      <column name="FILENAME" value="Platzhalter.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-23T08:24:21"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="94b958a7-a5de-4c25-8465-b5bf207ea1ab"/>
+      <column name="DATASIZE" valueNumeric="280"/>
+      <column name="ROW_ID" value="31f4525b-eb00-4c68-8f9e-2026fb60f5cc"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a19a7f7561d606fb6c815b05cd57949a"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/21a4e763b2b80382fdaca19842904279"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:09:56"/>
+      <column name="FILENAME" value="Angebotskopftext mit Dank.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:09:56"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="95604c6a-f56c-4bc0-a118-6c301b6069a9"/>
+      <column name="DATASIZE" valueNumeric="98"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/226c22fda5fe7fb1c1fdc48286baa9c5"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T09:50:32"/>
+      <column name="FILENAME" value="Serienbrieftest.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T09:50:32"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="9c7709e1-6a05-4d7f-964d-56989e38e948"/>
+      <column name="DATASIZE" valueNumeric="4593"/>
+      <column name="ROW_ID" value="02c4e51d-a849-4025-83eb-6890fad3529d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-09T04:53:18"/>
+      <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-09T05:04:40"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="9d35ce3a-e67e-4bd6-b653-5dc9ea56aa60"/>
+      <column name="DATASIZE" valueNumeric="354366"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="5f358e92-6b50-4592-853f-11f47cf86e7b"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b4bfc8e6756252b9cf027eee5afa4eb4"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T11:56:55"/>
+      <column name="FILENAME" value="Platzhalter.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T11:56:55"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="9f82917e-f7a0-4a84-802e-1a161211f043"/>
+      <column name="DATASIZE" valueNumeric="361"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/3b321504aadfd778470cfece67754346"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T11:29:14"/>
+      <column name="FILENAME" value="Erstkontakt_Anlagen_Maschinenbau.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T11:29:14"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="a1e4ef39-143a-4379-865f-f3a9d8e4b2e6"/>
+      <column name="DATASIZE" valueNumeric="4130"/>
+      <column name="ROW_ID" value="b92473c7-089b-40c1-a1f0-25e5b96ecd43"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/fd86b34ae674763936fee3276f16e051"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-19T01:16:37"/>
+      <column name="FILENAME" value="Testmail.html"/>
+      <column name="DATE_EDIT" valueDate="2019-08-19T01:16:37"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="a3afcd9a-2375-44da-8737-b0d76d3ef6b3"/>
+      <column name="DATASIZE" valueNumeric="130"/>
+      <column name="ROW_ID" value="a4f6309c-0d0c-4fca-a64a-dfb8758561fb"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T04:31:55"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T04:31:55"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="a59687b0-7119-4a51-80ab-36892e25f4bb"/>
+      <column name="DATASIZE" valueNumeric="158024"/>
+      <column name="ROW_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5413f77e981a3653876b1c707671f8fa"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-02T09:50:39"/>
+      <column name="FILENAME" value="Serienbrieftest.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-08-02T09:50:39"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="a6ab9367-2f9d-4a4a-a258-404a80c4e252"/>
+      <column name="DATASIZE" valueNumeric="4593"/>
+      <column name="ROW_ID" value="292762c1-c004-4cf4-8718-0167dfdbfa78"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6a09b1ea637b6e54324869dfd5d3e7cc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T08:24:51"/>
+      <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T08:24:51"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="a80d89c5-86d0-4161-89dd-fc55e05673d7"/>
+      <column name="DATASIZE" valueNumeric="354366"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-03T04:31:34"/>
+      <column name="FILENAME" value="Nutzung des Neon Ticket-Systems.html"/>
+      <column name="DATE_EDIT" valueDate="2019-09-03T04:31:34"/>
+      <column name="MIMETYPE" value="application/octet-stream"/>
+      <column name="ID" value="ac878df9-2310-40d7-be80-544578956331"/>
+      <column name="DATASIZE" valueNumeric="95628"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="e6527bda-0475-42e0-9b7c-29c8ce4db58a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/acd976c80b510dbe81e1908ecf3c12f5"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:37:37"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:37:37"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="aeccedaa-cef0-41c9-8fae-5337c6c45bec"/>
+      <column name="DATASIZE" valueNumeric="4978985"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="9bfa24a1-4e46-4643-a3ce-eb0056088f8a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-25T09:52:59"/>
+      <column name="FILENAME" value="Unbenannt.html"/>
+      <column name="DATE_EDIT" valueDate="2019-07-25T09:52:59"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="b01f1280-8498-4ea5-9019-3d0193d4d617"/>
+      <column name="DATASIZE" valueNumeric="47419"/>
+      <column name="ROW_ID" value="3a498982-60ba-4c0a-9dcc-e6f2241e570d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T04:36:47"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T04:36:47"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="b06ece8b-1b35-454a-9d67-74adc0e912dd"/>
+      <column name="DATASIZE" valueNumeric="158024"/>
+      <column name="ROW_ID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
+      <column name="TABLENAME" value="CONTRACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5413f77e981a3653876b1c707671f8fa"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-29T05:03:39"/>
+      <column name="FILENAME" value="Test.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-07-29T05:03:39"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="b177b8db-a917-4457-a3dc-843a86cea630"/>
+      <column name="DATASIZE" valueNumeric="46836"/>
+      <column name="ROW_ID" value="ec32511a-dabb-4151-9ceb-edefb721a698"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-25T10:42:28"/>
+      <column name="FILENAME" value="Testmail.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-25T10:42:28"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="b27d7e5a-4889-4c5c-9ddc-0c50462c6f98"/>
+      <column name="DATASIZE" valueNumeric="37287"/>
+      <column name="ROW_ID" value="ca1b94ce-344f-44a4-acf6-d6ff08d6c34f"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/e20351259564192e04ca73b46bd938d1"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T10:27:33"/>
+      <column name="FILENAME" value="Emails_überarbeitet.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T10:27:33"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="b2e57791-af02-4a1e-a334-fcad134046db"/>
+      <column name="DATASIZE" valueNumeric="1819"/>
+      <column name="ROW_ID" value="dab2b50f-e524-4a4d-aff8-8a53d6217f5c"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-15T02:40:19"/>
+      <column name="FILENAME" value="Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-10-15T02:40:19"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="b35e8149-ea3f-4eb2-9ec8-2dd77cfd0df1"/>
+      <column name="DATASIZE" valueNumeric="4978393"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="d77f966e-e43d-482c-90fc-4c286a2f4bb7"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T08:29:46"/>
+      <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T08:29:46"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="b3904a52-9e7d-449e-83de-cceb3596d3db"/>
+      <column name="DATASIZE" valueNumeric="51487"/>
+      <column name="ROW_ID" value="814ef0c0-52b1-4551-aec0-31878550e48f"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:39:39"/>
+      <column name="FILENAME" value="Gewinnspiel.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:39:39"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="ba8558e2-4517-4b82-9b11-fbb1eee74588"/>
+      <column name="DATASIZE" valueNumeric="47426"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="5ac971fd-2c52-4fbb-8151-a61b4571f058"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T09:58:09"/>
+      <column name="FILENAME" value="crmKontakte -Teil1.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T09:58:09"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="bb407845-807c-4dcc-9536-8c1de0a45fef"/>
+      <column name="DATASIZE" valueNumeric="887484"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="5f2df795-0c59-4183-9930-a884c0469ec5"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/a5d872a35697fea105c043a5d79a9a11"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:51:27"/>
+      <column name="FILENAME" value="SerieneinladungTelefonkonferenz.html"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:52:45"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="bd4c9292-5429-4aa2-8f38-21161776b902"/>
+      <column name="DATASIZE" valueNumeric="36691"/>
+      <column name="ROW_ID" value="9f55b65f-7e78-4dec-9dec-36e5933439b4"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T09:02:16"/>
+      <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T09:02:16"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="bdb8e01b-9fd0-49da-9475-cb04fa161229"/>
+      <column name="DATASIZE" valueNumeric="50024"/>
+      <column name="ROW_ID" value="9e64bb57-2895-4b89-968d-73bbb6545139"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/49d3146cb185e61df669506d15c319cb"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/261655987485e2a158d679cd234b63b0"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T03:53:54"/>
+      <column name="FILENAME" value="crmKontakte.CSV"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T03:53:54"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="c2ba7e69-c88d-49b0-aa50-44ced00eebf6"/>
+      <column name="DATASIZE" valueNumeric="3440718"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="3c61945f-3699-44a8-8243-68369a3b8ef9"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T01:16:23"/>
+      <column name="FILENAME" value="Kunden begeistern mit passgenauem Online-Marketing Teil 1 - Teilnehmerbericht.xlsx"/>
+      <column name="DATE_EDIT" valueDate="2019-05-23T01:16:23"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
+      <column name="ID" value="c4f11f5c-0fbe-4a7c-894c-968f9d605bc0"/>
+      <column name="DATASIZE" valueNumeric="6203"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4f28ca232405b199c36a2a322c604840"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-30T11:27:13"/>
+      <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-07-30T11:27:13"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="c71dd680-8d48-42f2-8ffe-06540b49ea5a"/>
+      <column name="DATASIZE" valueNumeric="37751"/>
+      <column name="ROW_ID" value="daa63509-937b-4ce3-aed8-a79863225ef2"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/4d2fdaebe7a657843273c9714729df48"/>
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the profile"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
+      <column name="FILENAME" value="ProfileImage"/>
+      <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="ca0db8c3-e51a-45da-8fe4-7c727396d52e"/>
+      <column name="DATASIZE" valueNumeric="41554"/>
+      <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="TABLENAME" value="PERSON"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9386121ffea926a30b9fa54870968dd1"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/1bafbc350fd7bb88105555e14ef98d93"/>
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the profile"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
+      <column name="FILENAME" value="ProfileImage"/>
+      <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="ca8d0195-db3f-4b04-98be-9c46e060e67b"/>
+      <column name="DATASIZE" valueNumeric="41554"/>
+      <column name="ROW_ID" value="73d72f18-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="TABLENAME" value="PERSON"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:45:54"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:45:54"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="cb09f02d-2981-4ce4-b44f-ad9cc65a7852"/>
+      <column name="DATASIZE" valueNumeric="49856"/>
+      <column name="ROW_ID" value="54c20fa2-e182-4e5e-b919-122a983996e5"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/17f1c477322bb191430e50a1d9de6e20"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-03-21T09:23:21"/>
+      <column name="FILENAME" value="20181002_Dokumentenmanagement.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-03-21T09:23:21"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="d16ec3bc-07a1-4343-b0ee-439f5b418831"/>
+      <column name="DATASIZE" valueNumeric="2820"/>
+      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T10:19:20"/>
+      <column name="FILENAME" value="DemoLeadimport.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T10:19:20"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="d3823171-82b0-4add-a87b-effec63cf476"/>
+      <column name="DATASIZE" valueNumeric="389"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="781c9457-3892-4794-80b4-9a4fed9bf413"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:47:00"/>
+      <column name="FILENAME" value="EinzeleinladungTelefonkonferenz.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:47:00"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="d6ba04b6-1470-4804-98d1-0ae2a9e32a3d"/>
+      <column name="DATASIZE" valueNumeric="41096"/>
+      <column name="ROW_ID" value="dfe476e5-0624-4298-b49d-82ae08d828d4"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ff1d70b43b211db9f56032eb197599da"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-27T11:31:58"/>
+      <column name="FILENAME" value="2018_11_29_WeitereInfos_Firma.png"/>
+      <column name="DATE_EDIT" valueDate="2019-07-27T11:31:58"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="d802b6b7-cc99-44df-8638-497faa12bbf6"/>
+      <column name="DATASIZE" valueNumeric="57068"/>
+      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/670d53f8afc15262779fdd5d30c0067e"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:00:32"/>
+      <column name="FILENAME" value="Erstkontakt meineFirma.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:00:32"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="d9b64af4-4c91-42ba-bfc0-a8688faf638f"/>
+      <column name="DATASIZE" valueNumeric="21722"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-15T09:06:19"/>
+      <column name="FILENAME" value="crmKontakte -Teil1.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-15T09:06:19"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="da23010a-c3dd-4df8-81b1-a49c99b50605"/>
+      <column name="DATASIZE" valueNumeric="887484"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="05071d57-c74c-405d-b89c-43ff5005306f"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T10:08:07"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T10:08:07"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="da89e27b-b68f-46cf-b14a-2ef578c885a3"/>
+      <column name="DATASIZE" valueNumeric="47252"/>
+      <column name="KEYWORD" value="undefined"/>
+      <column name="ROW_ID" value="21e9b19f-98d8-4610-8f30-9f7647282ab4"/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/624076ebf52efb7b94e80b198c6c19b2"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-30T11:04:36"/>
+      <column name="FILENAME" value="Geschaeftspapiere.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-08-30T11:04:36"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="da90d13c-a91b-43a3-aa7b-c301f1edb014"/>
+      <column name="DATASIZE" valueNumeric="953856"/>
+      <column name="ROW_ID" value="34bea077-5dc4-4063-9646-17337f48e4d5"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b165a5edf2c5c97423b46dff3800b4f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:01:31"/>
+      <column name="FILENAME" value="SerieneinladungTelefonkonferenz.html"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:01:31"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="dab3b3eb-1fb5-46de-af85-bd79c6584185"/>
+      <column name="DATASIZE" valueNumeric="41301"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/524bee188cb50feb8ce69490bff251da"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:11:23"/>
+      <column name="FILENAME" value="Angebotsfußtext mit Dank.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:11:23"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="dc1d9429-831f-4687-9362-d9a01a2a9b68"/>
+      <column name="DATASIZE" valueNumeric="105"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a47b9712f19a2276108994bc82da447a"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/41b5b566200a8bf6784cc5c6ea8931d6"/>
+      <column name="CONTAINERNAME" value="IMAGE"/>
+      <column name="DESCRIPTION" value="Image of the profile"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-01-21T01:24:43"/>
+      <column name="FILENAME" value="ProfileImage"/>
+      <column name="DATE_EDIT" valueDate="2019-01-21T01:24:43"/>
+      <column name="MIMETYPE" value="image/png"/>
+      <column name="ID" value="dfb81242-520b-4bd6-95f0-84882f4e61ae"/>
+      <column name="DATASIZE" valueNumeric="41554"/>
+      <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="TABLENAME" value="PERSON"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/58d526fe1ec32f07facc7c52e04619b3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T08:03:33"/>
+      <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T08:03:33"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="dff33d08-e7c0-457b-a8fc-9bfe0f6fbeb2"/>
+      <column name="DATASIZE" valueNumeric="354366"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T09:04:31"/>
+      <column name="FILENAME" value="Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-10-17T09:04:31"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="e185fd6a-0134-43a8-9f62-4459ed595ac4"/>
+      <column name="DATASIZE" valueNumeric="4978394"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:46:24"/>
+      <column name="FILENAME" value="SerieneinladungTelefonkonferenz.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:46:24"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="e417291d-f718-407e-aebf-a3847ee4a8d3"/>
+      <column name="DATASIZE" valueNumeric="41096"/>
+      <column name="ROW_ID" value="1778521a-1ba6-45eb-afaa-77c34bacf74d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-10T09:02:28"/>
+      <column name="FILENAME" value="Kaufadressen_MuAB (1).csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-10T09:02:28"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="e58ef463-fd4b-4fce-bf0b-c553c16800c8"/>
+      <column name="DATASIZE" valueNumeric="354366"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="5f986c0d-8c4d-4111-93ca-bcbf5263d35e"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:46:44"/>
+      <column name="FILENAME" value="DemoDaten_Einzelbrief.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:46:44"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="e8fd78fc-a861-4cc2-82d3-417ea852e051"/>
+      <column name="DATASIZE" valueNumeric="4407373"/>
+      <column name="ROW_ID" value="f1bca769-87e8-4103-b25f-c6592317741c"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T02:56:44"/>
+      <column name="FILENAME" value="Email Vorlage Erstkontakt.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-09-04T02:56:44"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="e9198094-f2fa-4b21-91f6-09daedc2bb33"/>
+      <column name="DATASIZE" valueNumeric="4978985"/>
+      <column name="ROW_ID" value="970c8ca0-b24c-4275-8b45-2a0c3af3980f"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T08:48:43"/>
+      <column name="FILENAME" value="DemoDaten_Serienbrief.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T08:48:43"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="ea3f54dd-82f2-4c78-9ffa-e66513773f9c"/>
+      <column name="DATASIZE" valueNumeric="4407392"/>
+      <column name="ROW_ID" value="17e2499f-86dc-418c-876d-9f895da3354b"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6deedcdb0edd41abf5834c8ac6f69fa2"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/261655987485e2a158d679cd234b63b0"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-11T08:13:02"/>
+      <column name="FILENAME" value="crmKontakte.csv"/>
+      <column name="DATE_EDIT" valueDate="2019-10-11T08:13:02"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="ec70ec28-f390-4a22-abb7-9a075684e1c9"/>
+      <column name="DATASIZE" valueNumeric="3440718"/>
+      <column name="KEYWORD" value="MAINDOCUMENT"/>
+      <column name="ROW_ID" value="ddf07c49-8481-44f7-b99d-f6178ee91032"/>
+      <column name="TABLENAME" value="LEADIMPORT"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-08T09:00:52"/>
+      <column name="FILENAME" value="Kostenübernahmeerklärung.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-10-08T09:00:52"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="ed5b3682-31e1-4368-92b1-1c51a59dcdba"/>
+      <column name="DATASIZE" valueNumeric="50052"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="8909fb30-cfcb-4241-8c12-813260d8215d"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/69b7cd8968644958ba4c7f7f2eaf5004"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/e6171f88ac2cacb0c73fc84eee151c1e"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-22T03:59:53"/>
+      <column name="FILENAME" value="Erstkontakt_Anlagen_Maschinenbau.eml"/>
+      <column name="DATE_EDIT" valueDate="2019-08-22T03:59:53"/>
+      <column name="MIMETYPE" value="text/plain"/>
+      <column name="ID" value="f15c11c2-6fe0-43de-8ea6-7950cdb86277"/>
+      <column name="DATASIZE" valueNumeric="3469"/>
+      <column name="ROW_ID" value="9a323aaa-6779-4388-88c0-5a32a778f195"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-02T09:40:14"/>
+      <column name="FILENAME" value="Kontaktdaten.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-08-02T09:40:58"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="f513da6e-a150-481a-85e4-ee1ee435e850"/>
+      <column name="DATASIZE" valueNumeric="13"/>
+      <column name="ROW_ID" value="7d3258f9-33d9-40d9-a751-2f5170c39b83"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1a89c2cc804288ea43899e39105256ad"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-31T12:34:45"/>
+      <column name="FILENAME" value="Test.txt"/>
+      <column name="DATE_EDIT" valueDate="2019-07-31T12:34:45"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="f78fa27f-f1f1-4cf6-ab3d-fec88c8c11d5"/>
+      <column name="DATASIZE" valueNumeric="37617"/>
+      <column name="ROW_ID" value="b7382ffd-691a-4913-9455-345174942287"/>
+      <column name="TABLENAME" value="BULKMAIL"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-29T06:42:47"/>
+      <column name="FILENAME" value="Rahmenvertrag.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T06:42:47"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="f7d30418-7727-459c-8b6e-0ef41e16f3fd"/>
+      <column name="DATASIZE" valueNumeric="162284"/>
+      <column name="ROW_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/19404e8c6e0d7620a4fc2d0d2f5c8dbc"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T02:58:42"/>
+      <column name="FILENAME" value="Kontaktdatenkorrektur.htm"/>
+      <column name="DATE_EDIT" valueDate="2019-09-04T02:58:42"/>
+      <column name="MIMETYPE" value="text/html"/>
+      <column name="ID" value="fb4d4b26-6b2d-4f69-ae7f-a4ed4e86c3b9"/>
+      <column name="DATASIZE" valueNumeric="51487"/>
+      <column name="ROW_ID" value="cfbe9ef8-457d-4600-84f5-3058b35c32cf"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-13T11:17:36"/>
+      <column name="FILENAME" value="Geschaeftspapiere.odt"/>
+      <column name="DATE_EDIT" valueDate="2019-09-13T11:17:36"/>
+      <column name="MIMETYPE" value="application/vnd.oasis.opendocument.text"/>
+      <column name="ID" value="fec3067c-1a4b-4669-a63f-5f6f81e18463"/>
+      <column name="DATASIZE" valueNumeric="49856"/>
+      <column name="ROW_ID" value="e20dadf7-fb86-40c9-bc6b-56307bfa05d3"/>
+      <column name="TABLENAME" value="SERIALLETTER"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e0d42df706e285af3e9f7feff28b93f4"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/895f169c7fea615c680f9c9859e671ad"/>
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-23T02:38:36"/>
+      <column name="FILENAME" value="Rahmenvertrag.pdf"/>
+      <column name="DATE_EDIT" valueDate="2019-09-23T02:38:36"/>
+      <column name="MIMETYPE" value="application/pdf"/>
+      <column name="ID" value="ffce8eeb-b723-438f-aaa5-ddcbee28ecc2"/>
+      <column name="DATASIZE" valueNumeric="168193"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="db95a661-d0ac-4541-b876-b546c82354b9"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/74aeda3171338236e373094c930b2ebd"/>
+    </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-03-24T02:50:41"/>
+      <column name="FILENAME" value="Angebotsanfrage.eml"/>
+      <column name="DATE_EDIT" valueDate="2020-03-24T02:50:41"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="867995aa-5a62-4121-ba1f-880cdb18eed1"/>
+      <column name="DATASIZE" valueNumeric="7416"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768"/>
+    </insert>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6f1a18491d368b9b87091abcbcfcba15 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cb0d2bc68c1e07516437657c37fb79c
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6f1a18491d368b9b87091abcbcfcba15
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cb0d2bc68c1e07516437657c37fb79c
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72f0f500-e7b7-4b0d-90e3-240d9edc88ee b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72f0f500-e7b7-4b0d-90e3-240d9edc88ee
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0f474ccbf77d31f899cd5eab5f9a3c24 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e3ba3d891ab9cbc43367cd4cce7eeb55
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0f474ccbf77d31f899cd5eab5f9a3c24
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e3ba3d891ab9cbc43367cd4cce7eeb55
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml
new file mode 100644
index 0000000000..c4e3eb728f
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml
@@ -0,0 +1,66 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="cbf300f635702261f33cd6796496880c">
+    <insert tableName="ASYS_ALIASCONFIG">
+      <column name="KIND" valueNumeric="105"/>
+      <column name="DESCRIPTION" value="jdbc:derby://localhost:1527/basic_data"/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="SERVERID" value="default"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2020-09-28T04:50:35"/>
+      <column name="ALIASID" value="Data_alias"/>
+      <column name="NAME" value="f50ee138-12d9-420d-a4f9-9b8257e207e4"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:36"/>
+      <column name="ID" value="0d4296d2-8685-4558-b1f2-0b627ae64fcc"/>
+    </insert>
+    <insert tableName="ASYS_ALIASCONFIG">
+      <column name="KIND" valueNumeric="105"/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="SERVERID" value="default"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
+      <column name="ALIASID" value="mailServerIMAP"/>
+      <column name="NAME" value="mailServerIMAP_default"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:36"/>
+      <column name="ID" value="339e22b3-9c93-4c3e-90f5-d2e66cd83053"/>
+    </insert>
+    <insert tableName="ASYS_ALIASCONFIG">
+      <column name="KIND" valueNumeric="105"/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="SERVERID" value="default"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
+      <column name="ALIASID" value="RecordContainerCache"/>
+      <column name="NAME" value="RecordContainerCache_default"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:36"/>
+      <column name="ID" value="c55768e4-845f-4bf5-b559-5b2643f9db29"/>
+    </insert>
+    <insert tableName="ASYS_ALIASCONFIG">
+      <column name="KIND" valueNumeric="105"/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="SERVERID" value="default"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
+      <column name="ALIASID" value="defaultDbRepository"/>
+      <column name="NAME" value="defaultDbRepository_default"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:36"/>
+      <column name="ID" value="c82132ea-1d81-4be2-b180-6a6d491e9e5e"/>
+    </insert>
+    <insert tableName="ASYS_ALIASCONFIG">
+      <column name="KIND" valueNumeric="105"/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="SERVERID" value="default"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
+      <column name="ALIASID" value="_____CONFIGURATION"/>
+      <column name="NAME" value="_____CONFIGURATION"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:36"/>
+      <column name="ID" value="c1664cb5-c128-4b93-b3e4-274b97d305e6"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/data_alias.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml
similarity index 87%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/data_alias.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml
index 37e7e783d6..12db6be630 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/data_alias.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.4">
+<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.7">
   <name>f50ee138-12d9-420d-a4f9-9b8257e207e4</name>
   <description>jdbc:derby://localhost:1527/basic_data</description>
   <serverId>default</serverId>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/RecordContainerCache.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml
similarity index 81%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/RecordContainerCache.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml
index 930cb4f1c9..7d6b9e32c0 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/RecordContainerCache.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.4">
+<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.7">
   <name>RecordContainerCache_default</name>
   <serverId>default</serverId>
   <definitionName>RecordContainerCache</definitionName>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____configuration.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml
similarity index 94%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____configuration.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml
index 5795e4d815..034dcbd364 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____configuration.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.4">
+<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.7">
   <name>_____CONFIGURATION</name>
   <serverId>default</serverId>
   <definitionName>_____CONFIGURATION</definitionName>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/defaultDbRepository.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml
similarity index 84%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/defaultDbRepository.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml
index 5eb83b66ca..ef5ab4cdee 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/defaultDbRepository.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.4">
+<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.7">
   <name>defaultDbRepository_default</name>
   <serverId>default</serverId>
   <definitionName>defaultDbRepository</definitionName>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/mailServerIMAP.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml
similarity index 83%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/mailServerIMAP.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml
index bed14237c3..9c090e2837 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/mailServerIMAP.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.4">
+<aliasConfig xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasConfig/1.1.7">
   <name>mailServerIMAP_default</name>
   <serverId>default</serverId>
   <definitionName>mailServerIMAP</definitionName>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml
new file mode 100644
index 0000000000..626716f1cc
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml
@@ -0,0 +1,65 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="aea1cb46e1326dedcfde8ae649b28238">
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_METADATA          "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionMetaData_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_METADATA       "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_METADATA          "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionMetaData_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_ACTION            "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionAction_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_ACTION         "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_ACTION            "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionAction_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionDetail_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_DETAIL         "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_DETAIL            "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionDetail_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionOverview_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_OVERVIEW       "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;PermissionOverview_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_ROLE              "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;Role_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSION">
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_ROLE           "/>
+      <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_ROLE              "/>
+      <column name="CONDTYPE" valueNumeric="1"/>
+      <column name="COND" value="{&quot;entity&quot;:&quot;Role_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml
new file mode 100644
index 0000000000..0ebdb02a11
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml
@@ -0,0 +1,130 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="e9f3b07f1309e85da1b9dae00eabb4b2">
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_METADATA      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_METADATA          "/>
+      <column name="ACTION" value="view"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_METADATA    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_METADATA          "/>
+      <column name="ACTION" value="create"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_METADATA      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
+      <column name="ACTION" value="read"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_METADATA    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
+      <column name="ACTION" value="update"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_METADATA    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
+      <column name="ACTION" value="delete"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_ACTION        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ACTION            "/>
+      <column name="ACTION" value="view"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_ACTION      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ACTION            "/>
+      <column name="ACTION" value="create"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_ACTION        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
+      <column name="ACTION" value="read"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_ACTION      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
+      <column name="ACTION" value="update"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_ACTION      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
+      <column name="ACTION" value="delete"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_DETAIL        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
+      <column name="ACTION" value="view"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_DETAIL      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
+      <column name="ACTION" value="create"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_DETAIL        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
+      <column name="ACTION" value="read"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_DETAIL      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
+      <column name="ACTION" value="update"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_DETAIL      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
+      <column name="ACTION" value="delete"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_OVERVIEW      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
+      <column name="ACTION" value="view"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_OVERVIEW    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
+      <column name="ACTION" value="create"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_OVERVIEW      "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
+      <column name="ACTION" value="read"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_OVERVIEW    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
+      <column name="ACTION" value="update"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_OVERVIEW    "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
+      <column name="ACTION" value="delete"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_ROLE          "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ROLE              "/>
+      <column name="ACTION" value="view"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_ROLE        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ROLE              "/>
+      <column name="ACTION" value="create"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_ROLE          "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
+      <column name="ACTION" value="read"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_ROLE        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
+      <column name="ACTION" value="update"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONACTION">
+      <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_ROLE        "/>
+      <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
+      <column name="ACTION" value="delete"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml
new file mode 100644
index 0000000000..82da9054a4
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml
@@ -0,0 +1,70 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="a3221d058629cff3f3d0fc0784edb91e">
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="E"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
+      <column name="ENTITY_ID" value="PermissionMetaData_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="R"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_METADATA       "/>
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
+      <column name="ENTITY_ID" value="PermissionMetaData_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="E"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
+      <column name="ENTITY_ID" value="PermissionAction_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="R"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_ACTION         "/>
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
+      <column name="ENTITY_ID" value="PermissionAction_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="E"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
+      <column name="ENTITY_ID" value="PermissionDetail_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="R"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_DETAIL         "/>
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
+      <column name="ENTITY_ID" value="PermissionDetail_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="E"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
+      <column name="ENTITY_ID" value="PermissionOverview_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="R"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_OVERVIEW       "/>
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
+      <column name="ENTITY_ID" value="PermissionOverview_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="E"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
+      <column name="ENTITY_ID" value="Role_entity"/>
+    </insert>
+    <insert tableName="ASYS_PERMISSIONSET">
+      <column name="ACCESSTYPE" value="R"/>
+      <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
+      <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_ROLE           "/>
+      <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
+      <column name="ENTITY_ID" value="Role_entity"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml
new file mode 100644
index 0000000000..abf13db675
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml
@@ -0,0 +1,16 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="78b10ae152efbd6794899dcb4a18e3a2">
+    <insert tableName="ASYS_SYSTEM">
+      <column name="KIND" valueNumeric="600"/>
+      <column name="DATE_EDIT" valueDate="2020-09-28T04:50:35"/>
+      <column name="NAME" value="_____SYSTEM_SYSDB_VERSION"/>
+      <column name="ID" value="_____SYSTEM_SYSDB_VERSION                                      "/>
+      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
+      <column name="TITLE" value="2.8.8"/>
+      <column name="XMLDATA" valueBlobFile="ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml"/>
+      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
+      <column name="DATE_NEW" valueDate="2018-05-24T02:53:57"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____system_sysdb_version.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml
similarity index 88%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____system_sysdb_version.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml
index 3069c0fabc..d91a1a491d 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____system_sysdb_version.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <sysDbVersion xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/sysDbVersion/1.2.0">
   <name>_____SYSTEM_SYSDB_VERSION</name>
-  <systemDbVersion>2.8.5</systemDbVersion>
+  <systemDbVersion>2.8.8</systemDbVersion>
 </sysDbVersion>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
new file mode 100644
index 0000000000..4fa3bdac82
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
@@ -0,0 +1,8 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <include file="ASYS_ALIASCONFIG.xml" relativeToChangelogFile="true"/>
+  <include file="ASYS_PERMISSION.xml" relativeToChangelogFile="true"/>
+  <include file="ASYS_PERMISSIONACTION.xml" relativeToChangelogFile="true"/>
+  <include file="ASYS_PERMISSIONSET.xml" relativeToChangelogFile="true"/>
+  <include file="ASYS_SYSTEM.xml" relativeToChangelogFile="true"/>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
deleted file mode 100644
index 6d12b9e01e..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-<changeSet author="j.hoermanns" id="7ca1d19b-434b-4c19-a856-fa3d717a1935">
-    <insert tableName="ASYS_ALIASCONFIG">
-        <column name="ALIASID" value="_____CONFIGURATION"/>
-        <column name="DATE_EDIT" valueDate="2019-01-21T13:24:43.5"/>
-        <column name="DATE_NEW" valueDate="2019-01-21T13:24:43.492"/>
-        <column name="ID" value="f4a33c35-5033-4699-b55a-9520b465b4c5"/>
-        <column name="KIND" valueNumeric="105"/>
-        <column name="NAME" value="_____CONFIGURATION"/>
-        <column name="SERVERID" value="default"/>
-        <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-        <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-        <column name="XMLDATA" valueBlobFile="defaultBlob/_____configuration.xml"/>
-    </insert>
-    <insert tableName="ASYS_ALIASCONFIG">
-        <column name="ALIASID" value="Data_alias"/>
-        <column name="DATE_EDIT" valueDate="2019-01-21T13:24:43.561"/>
-        <column name="DATE_NEW" valueDate="2019-01-21T13:24:43.547"/>
-        <column name="DESCRIPTION" value="jdbc:derby://localhost:1527/basic_data"/>
-        <column name="ID" value="23cba7a4-e8dd-48a0-b61e-f5f0f789d02b"/>
-        <column name="KIND" valueNumeric="105"/>
-        <column name="NAME" value="f50ee138-12d9-420d-a4f9-9b8257e207e4"/>
-        <column name="SERVERID" value="default"/>
-        <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-        <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-        <column name="XMLDATA" valueBlobFile="defaultBlob/data_alias.xml"/>
-    </insert>
-
-    <insert tableName="ASYS_ALIASCONFIG">
-      <column name="ALIASID" value="mailServerIMAP"/>
-      <column name="DATE_EDIT" valueDate="2019-06-25T01:14:32"/>
-      <column name="DATE_NEW" valueDate="2019-06-25T01:14:32"/>
-      <column name="ID" value="530a2f77-c1c3-4d93-b1fe-41ebe7410695"/>
-      <column name="KIND" valueNumeric="105"/>
-      <column name="NAME" value="mailServerIMAP_default"/>
-      <column name="SERVERID" value="default"/>
-      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-      <column name="XMLDATA" valueBlobFile="defaultBlob/mailServerIMAP.xml"/>
-    </insert>
-    <insert tableName="ASYS_ALIASCONFIG">
-      <column name="ALIASID" value="defaultDbRepository"/>
-      <column name="DATE_EDIT" valueDate="2019-06-25T01:14:46"/>
-      <column name="DATE_NEW" valueDate="2019-06-25T01:14:35"/>
-      <column name="ID" value="b2ae3180-afd2-493c-a17b-16038e3a3860"/>
-      <column name="KIND" valueNumeric="105"/>
-      <column name="NAME" value="defaultDbRepository_default"/>
-      <column name="SERVERID" value="default"/>
-      <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-      <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-      <column name="XMLDATA" valueBlobFile="defaultBlob/defaultDbRepository.xml"/>
-    </insert>
-    <insert tableName="ASYS_ALIASCONFIG">
-        <column name="ALIASID" value="RecordContainerCache"/>
-        <column name="DATE_EDIT" valueDate="2020-08-24 17:43:39"/>
-        <column name="DATE_NEW" valueDate="2020-08-24 17:43:38"/>
-        <column name="ID" value="dbe6d005-37ed-4fa0-b164-a3d4450932a2"/>
-        <column name="KIND" valueNumeric="105"/>
-        <column name="NAME" value="RecordContainerCache_default"/>
-        <column name="SERVERID" value="default"/>
-        <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-        <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-        <column name="XMLDATA" valueBlobFile="defaultBlob/RecordContainerCache.xml"/>
-    </insert>
-</changeSet>
-</databaseChangeLog>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml
deleted file mode 100644
index da7712754c..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="s.leipold" id="3d4baf88-48c0-4ad2-9ceb-72dd8a1a9f6z">
-        
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_METADATA          "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionMetaData_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_METADATA          "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_METADATA       "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionMetaData_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_ACTION            "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionAction_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_ACTION            "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_ACTION         "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionAction_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionDetail_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_DETAIL            "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_DETAIL         "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionDetail_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionOverview_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_OVERVIEW       "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;PermissionOverview_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_ENTITY_ROLE              "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;Role_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSION">
-            <column name="ASYS_PERMISSIONID" value="ADMIN_PERM_RECORD_ROLE              "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_RECORD_ROLE           "/>
-            <column name="COND" value="{&quot;entity&quot;:&quot;Role_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[]}}"/>
-            <column name="CONDTYPE" valueNumeric="1"/>
-        </insert>
-        
-        <rollback>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_ENTITY_METADATA          " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_RECORD_METADATA          " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_ENTITY_ACTION            " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_RECORD_ACTION            " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_ENTITY_DETAIL            " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_RECORD_DETAIL            " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_ENTITY_OVERVIEW          " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_RECORD_OVERVIEW          " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_ENTITY_ROLE              " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERM_RECORD_ROLE              " />
-                </whereParams>
-            </delete>
-        </rollback>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml
deleted file mode 100644
index 3abb262430..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml
+++ /dev/null
@@ -1,293 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="s.leipold" id="b01f6744-e732-45a2-a550-070fb1f1f2c">
-        
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_METADATA      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_METADATA          "/>
-            <column name="ACTION" value="view"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_METADATA    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_METADATA          "/>
-            <column name="ACTION" value="create"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_METADATA      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
-            <column name="ACTION" value="read"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_METADATA    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
-            <column name="ACTION" value="update"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_METADATA    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_METADATA          "/>
-            <column name="ACTION" value="delete"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_ACTION        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ACTION            "/>
-            <column name="ACTION" value="view"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_ACTION      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ACTION            "/>
-            <column name="ACTION" value="create"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_ACTION        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
-            <column name="ACTION" value="read"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_ACTION      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
-            <column name="ACTION" value="update"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_ACTION      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ACTION            "/>
-            <column name="ACTION" value="delete"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_DETAIL        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
-            <column name="ACTION" value="view"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_DETAIL      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_DETAIL            "/>
-            <column name="ACTION" value="create"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_DETAIL        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
-            <column name="ACTION" value="read"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_DETAIL      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
-            <column name="ACTION" value="update"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_DETAIL      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_DETAIL            "/>
-            <column name="ACTION" value="delete"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_OVERVIEW      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
-            <column name="ACTION" value="view"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_OVERVIEW    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_OVERVIEW          "/>
-            <column name="ACTION" value="create"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_OVERVIEW      "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
-            <column name="ACTION" value="read"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_OVERVIEW    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
-            <column name="ACTION" value="update"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_OVERVIEW    "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_OVERVIEW          "/>
-            <column name="ACTION" value="delete"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_VIEW_ROLE          "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ROLE              "/>
-            <column name="ACTION" value="view"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_CREATE_ROLE        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_ENTITY_ROLE              "/>
-            <column name="ACTION" value="create"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_READ_ROLE          "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
-            <column name="ACTION" value="read"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_UPDATE_ROLE        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
-            <column name="ACTION" value="update"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONACTION">
-            <column name="ASYS_PERMISSIONACTIONID" value="ADMIN_PERMACTION_DELETE_ROLE        "/>
-            <column name="ASYS_PERMISSION_ID" value="ADMIN_PERM_RECORD_ROLE              "/>
-            <column name="ACTION" value="delete"/>
-        </insert>
-        
-        <rollback>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_VIEW_METADATA      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_CREATE_METADATA    " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_READ_METADATA      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_UPDATE_METADATA    " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_DELETE_METADATA    " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_VIEW_ACTION        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_CREATE_ACTION      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_READ_ACTION        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_UPDATE_ACTION      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_DELETE_ACTION      " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_VIEW_DETAIL        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_CREATE_DETAIL      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_READ_DETAIL        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_UPDATE_DETAIL      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_DELETE_DETAIL      " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_VIEW_OVERVIEW      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_CREATE_OVERVIEW    " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_READ_OVERVIEW      " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_UPDATE_OVERVIEW    " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_DELETE_OVERVIEW    " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_VIEW_ROLE          " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_CREATE_ROLE        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_READ_ROLE          " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_UPDATE_ROLE        " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONACTION">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMACTION_DELETE_ROLE        " />
-                </whereParams>
-            </delete>
-        </rollback>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml
deleted file mode 100644
index bd8e46b1f8..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="s.leipold" id="3d4baf88-48c0-4ad2-9ceb-72dd8a1a9f6z">
-        
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="null"/>
-            <column name="ENTITY_ID" value="PermissionMetaData_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="E"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_METADATA       "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_METADATA       "/>
-            <column name="ENTITY_ID" value="PermissionMetaData_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="R"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="null"/>
-            <column name="ENTITY_ID" value="PermissionAction_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="E"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_ACTION         "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ACTION         "/>
-            <column name="ENTITY_ID" value="PermissionAction_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="R"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="null"/>
-            <column name="ENTITY_ID" value="PermissionDetail_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="E"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_DETAIL         "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_DETAIL         "/>
-            <column name="ENTITY_ID" value="PermissionDetail_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="R"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="null"/>
-            <column name="ENTITY_ID" value="PermissionOverview_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="E"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_OVERVIEW       "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_OVERVIEW       "/>
-            <column name="ENTITY_ID" value="PermissionOverview_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="R"/>
-        </insert>
-        
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="null"/>
-            <column name="ENTITY_ID" value="Role_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="E"/>
-        </insert>
-        <insert tableName="ASYS_PERMISSIONSET">
-            <column name="ASYS_PERMISSIONSETID" value="ADMIN_PERMSET_RECORD_ROLE           "/>
-            <column name="ASYS_PERMISSIONSET_ID" value="ADMIN_PERMSET_ENTITY_ROLE           "/>
-            <column name="ENTITY_ID" value="Role_entity"/>
-            <column name="ROLE_ID" value="INTERNAL_ADMINISTRATOR"/>
-            <column name="FIELD_ID" value="null"/>
-            <column name="ACCESSTYPE" value="R"/>
-        </insert>
-        
-        <rollback>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_ENTITY_METADATA       " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_RECORD_METADATA       " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_ENTITY_ACTION         " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_RECORD_ACTION         " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_ENTITY_DETAIL         " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_RECORD_DETAIL         " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_ENTITY_OVERVIEW       " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_RECORD_OVERVIEW       " />
-                </whereParams>
-            </delete>
-            
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_ENTITY_ROLE           " />
-                </whereParams>
-            </delete>
-            <delete tableName="ASYS_PERMISSIONSET">
-                <where>ID = ?</where>
-                <whereParams>
-                    <param value="ADMIN_PERMSET_RECORD_ROLE           " />
-                </whereParams>
-            </delete>
-        </rollback>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml
deleted file mode 100644
index b194d0c6dc..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-<changeSet author="j.hoermanns" id="3d4baf88-48c0-4ad2-9ceb-72dd8a1a9f6a">
-    <insert tableName="ASYS_SYSTEM">
-        <column name="ID" value="_____SYSTEM_SYSDB_VERSION                                      "/>
-        <column name="DATE_EDIT" valueDate="2020-05-14T11:06:09.420"/>
-        <column name="DATE_NEW" valueDate="2018-05-24T14:53:57.763"/>
-        <column name="KIND" valueNumeric="600"/>
-        <column name="NAME" value="_____SYSTEM_SYSDB_VERSION"/>
-        <column name="TITLE" value="2.8.5"/>
-        <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
-        <column name="USER_NEW" value="_____DESIGNERANONYM"/>
-        <column name="XMLDATA" valueBlobFile="defaultBlob/_____system_sysdb_version.xml"/>
-    </insert>
-    <rollback>
-        <delete tableName="ASYS_SYSTEM">
-            <where>ID = ?</where>
-            <whereParams>
-                    <param value="_____SYSTEM_SYSDB_VERSION                                      " />
-            </whereParams>
-        </delete>
-    </rollback>
-</changeSet>
-</databaseChangeLog>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/init.xml b/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
index 540e5ac077..0517ae1b51 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
@@ -25,9 +25,5 @@
     <include relativeToChangelogFile="true" file="struct/create_asys_usertoken.xml"/>
     <include relativeToChangelogFile="true" file="struct/create_asys_record.xml"/>
     <include relativeToChangelogFile="true" file="struct/create_asys_recordgroup.xml"/>
-    <include relativeToChangelogFile="true" file="data/insert_asys_aliasconfig.xml"/>
-    <include relativeToChangelogFile="true" file="data/insert_asys_system.xml"/>
-    <include relativeToChangelogFile="true" file="data/insert_asys_permissionset.xml"/>
-    <include relativeToChangelogFile="true" file="data/insert_asys_permission.xml"/>
-    <include relativeToChangelogFile="true" file="data/insert_asys_permissionaction.xml"/>
+    <include relativeToChangelogFile="true" file="data/changelog.xml"/>
 </databaseChangeLog>
-- 
GitLab


From e7e5afec7eeb559a5f5e462cba62e968fbe17147 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 17:14:43 +0200
Subject: [PATCH 099/251] added alpha version of process for generating
 liquibase systemdata

---
 process/Liquibase_lib/process.js              |  27 +++--
 ...portLiquibaseSystemalias_serverProcess.aod |  10 ++
 .../process.js                                | 102 ++++++++++++++++++
 3 files changed, 129 insertions(+), 10 deletions(-)
 create mode 100644 process/exportLiquibaseSystemalias_serverProcess/exportLiquibaseSystemalias_serverProcess.aod
 create mode 100644 process/exportLiquibaseSystemalias_serverProcess/process.js

diff --git a/process/Liquibase_lib/process.js b/process/Liquibase_lib/process.js
index 4e6bfcff05..4c0bb5adcd 100644
--- a/process/Liquibase_lib/process.js
+++ b/process/Liquibase_lib/process.js
@@ -70,16 +70,16 @@ LiquiUtils.exportAllTablesAsLiquibaseFiles = function(pOutFolderPath, pAuthor, p
 *
 * @return {Object} returns an object that has currently only one property<br/>- exported:boolean if the table has been exported or not
 */
-LiquiUtils.exportTableAsLiquibaseFiles = function(pPath, pTableName, pColumns, pCondition, pAuthor, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments)
+LiquiUtils.exportTableAsLiquibaseFiles = function(pPath, pTableName, pColumns, pCondition, pAuthor, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments, pBlobCallbackFn, pFileName)
 {
-    var resXml = LiquiUtils._getDataXml(pAuthor, pPath, pTableName, pColumns, pCondition, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments);
+    var resXml = LiquiUtils._getDataXml(pAuthor, pPath, pTableName, pColumns, pCondition, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments, pBlobCallbackFn);
     if (resXml == "")
         return {exported: false};
-    
+    var fileName = pFileName || pTableName;
     fileIO.mkdir(pPath, true);
-    var fullFileName = pPath += "/" + pTableName + ".xml";
+    var fullFileName = pPath += "/" + fileName + ".xml";
     fileIO.storeData(fullFileName, resXml, util.DATA_TEXT, false, "UTF8");
-    return {exported: true};
+    return {exported: true, fileName: fileName};
 };
 
 /**
@@ -100,7 +100,7 @@ LiquiUtils.exportTableAsLiquibaseFiles = function(pPath, pTableName, pColumns, p
 *
 * @return {String} the liquibase-changest in xml-form
 */
-LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCondition, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments) 
+LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCondition, pIncludeClearTableDirective, pAlias, pGenerateChangeSetIdFromArguments, pBlobCallbackFn) 
 {
     var author = pAuthor || "autogenerated";
     var alias = pAlias || db.getCurrentAlias();
@@ -128,7 +128,7 @@ LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCond
         else if(SQLTYPES.isLOBType(colType))
         {
             if ([SQLTYPES.BLOB, SQLTYPES.LONGVARBINARY, SQLTYPES.VARBINARY].indexOf(colType) != -1)
-                return LiquiXTable.prototype.addBlobCol;
+                return (function (pTab, pCol, pRow){ return this.addBlobCol(pTab, pCol, pRow, pBlobCallbackFn);});
             else
                return  LiquiXTable.prototype.addClobCol;
         }
@@ -151,6 +151,9 @@ LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCond
         changeLogXml.changeSet.appendChild(<delete tableName={pTableName}/>);
     dbData.forEach(function(row)
     {
+        var rowObj = {};
+        for (let i = 0; i < columnLen; i++)
+            rowObj[columns[i]] = row[i];
         var tableXml = LiquiXTable.make(pTableName);
         if (pLobPath)
             tableXml.setLobBasePath(pLobPath);
@@ -160,7 +163,7 @@ LiquiUtils._getDataXml = function(pAuthor, pLobPath, pTableName, pColumns, pCond
             var value = row[i];
             var fnToUse = colCallbackFn[i];
             if (fnToUse != null)
-                fnToUse.call(tableXml, colName, value)
+                fnToUse.call(tableXml, colName, value, rowObj)
         }
         changeLogXml.changeSet.insert += tableXml.xml;
     });
@@ -306,7 +309,7 @@ LiquiXTable.prototype.addClobCol = function (pColName, pValue)
     }
 };
 
-LiquiXTable.prototype.addBlobCol = function (pColName, pValue)
+LiquiXTable.prototype.addBlobCol = function (pColName, pValue, pRow, pFileNameCallback)
 {
     if (pValue == "")
         return this;
@@ -315,7 +318,11 @@ LiquiXTable.prototype.addBlobCol = function (pColName, pValue)
             throw new Error(translate.withArguments("[%0]it was necessary to create a file from a blob-field but no lob-file-path was specified."
                 + "The lob-file-path is required when adding blob-values.", ["LiquiXTable addClobCol"]));
     var relativeFolderPath = this._name + "/" + pColName + "/blobFiles/";
-    var fileName = text.hash(pValue, text.HASH_MD5);
+    var fileName;
+    if (pFileNameCallback)
+        fileName = pFileNameCallback.apply(this, arguments);
+    if (!fileName)
+        fileName = text.hash(pValue, text.HASH_MD5);
     fileIO.mkdir(lobBasePath + relativeFolderPath, true);
     fileIO.storeData(lobBasePath + relativeFolderPath + fileName, pValue, util.DATA_BINARY, false);
     return this.appendIfNotNull(LiquiXmlUtils.colValue(pColName, relativeFolderPath + fileName, "valueBlobFile"));
diff --git a/process/exportLiquibaseSystemalias_serverProcess/exportLiquibaseSystemalias_serverProcess.aod b/process/exportLiquibaseSystemalias_serverProcess/exportLiquibaseSystemalias_serverProcess.aod
new file mode 100644
index 0000000000..9437d3b305
--- /dev/null
+++ b/process/exportLiquibaseSystemalias_serverProcess/exportLiquibaseSystemalias_serverProcess.aod
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>exportLiquibaseSystemalias_serverProcess</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/exportLiquibaseSystemalias_serverProcess/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/exportLiquibaseSystemalias_serverProcess/process.js b/process/exportLiquibaseSystemalias_serverProcess/process.js
new file mode 100644
index 0000000000..ce74923a68
--- /dev/null
+++ b/process/exportLiquibaseSystemalias_serverProcess/process.js
@@ -0,0 +1,102 @@
+import("Util_lib");
+import("system.vars");
+import("Sql_lib");
+import("system.datetime");
+import("system.util");
+import("system.logging");
+import("Liquibase_lib");
+import("system.db");
+import("system.fileIO");
+
+/*
+ * This process is still WIP.
+ * The process is designed to help upgrading the lqiuibase-definition of the content of the _____SYSTEMALIAS.
+ **/
+
+var alias = "tempAlias";
+
+var outFolderBase = vars.get("$sys.servertemp") + "/" + alias + "/";
+
+_exportSystemData();
+_exportAsysBinariesData();
+_exportAsysUsersAdmin();
+_exportAsysUsersExamples();
+_exportAsysUsersWorkflow();
+
+function _exportSystemData()
+{
+    var outFolderPath = outFolderBase + "init/data/";
+    var exportTables = [];
+
+    exportTables.push({
+        tableName: "ASYS_ALIASCONFIG", 
+        blobNameCallback: function(pColumnName, pValue, pRow){
+            return pRow.ALIASID ? pRow.ALIASID + ".xml" : null;
+        } 
+    });
+    exportTables.push({
+        tableName: "ASYS_PERMISSION"
+    });
+    exportTables.push({
+        tableName: "ASYS_PERMISSIONACTION"
+    });
+    exportTables.push({
+        tableName: "ASYS_PERMISSIONSET"
+    });
+    exportTables.push({
+        tableName: "ASYS_SYSTEM", 
+        blobNameCallback: function(pColumnName, pValue, pRow){
+            return pRow.NAME ? pRow.NAME + ".xml" : null;
+        } 
+    });
+
+    var changeLogData = LiquiXmlUtils.databaseChangeLog();
+    exportTables.forEach(function (tableCfg){
+        var tableName = tableCfg.tableName;
+        var fileValue = tableName + ".xml";
+        var blobNameCallback = tableCfg.blobNameCallback;
+        LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, tableName, null, null, null, false, alias, true, blobNameCallback);
+    
+        changeLogData.appendChild(<include relativeToChangelogFile="true" file={
+            fileValue
+            }/>);    
+    });
+    changeLogData = LiquiXmlUtils.xmlHeaderLineStr() + "\n" + changeLogData.toString();
+    //write changelog file
+    fileIO.storeData(outFolderPath + "changelog.xml", changeLogData, util.DATA_TEXT, false, "UTF8");
+    logging.log("liquibase data (" + exportTables.length + " tables) exported into folder:" + outFolderPath);
+}
+
+
+
+function _exportAsysBinariesData()
+{
+    var outFolderPath = outFolderBase + "_demoData/generatedData/";
+    LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_BINARIES", null, null, null, false, alias, true);
+}
+
+function _exportAsysUsersAdmin()
+{
+    var outFolderPath = outFolderBase + "_demoData/example_asys_users/";
+    var cond = "NAME = (select NAME from ASYS_USERS where propkey = 'title' and propval = 'Admin')";
+    LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_USERS", null, cond, null, false, alias, true, null, "insert_asys_users-admin");
+}
+
+function _exportAsysUsersExamples()
+{
+    var outFolderPath = outFolderBase + "_demoData/example_asys_users/";
+    var usersForExport = db.table("select PROPVAL, NAME from ASYS_USERS where PROPKEY = 'title' and PROPVAL not in ('flowableIdmService', 'Admin')", alias);
+    
+    usersForExport.forEach(function (user){
+        var cond = newWhere("ASYS_USERS.NAME", user[1], SqlBuilder.EQUAL(), null, alias);
+        var fileName = StringUtils.replaceAll(user[0], " ", "_");//keep backwards compatible
+        LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_USERS", null, cond.toString(), null, false, alias, true, null, fileName);
+    });
+}
+
+function _exportAsysUsersWorkflow()
+{
+    var outFolderPath = outFolderBase + "Workflow/";
+    var cond = "NAME = (select NAME from ASYS_USERS where propkey = 'title' and propval = 'flowableIdmService')";
+    LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_USERS", null, cond, null, false, alias, true, null, "webserviceUser_flowableIdmService");
+}
\ No newline at end of file
-- 
GitLab


From 9661ea9364fb98cd2a286dd7a5aad63a9e7aa10a Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 28 Sep 2020 17:18:34 +0200
Subject: [PATCH 100/251] updated data_alias

---
 aliasDefinition/Data_alias/Data_alias.aod | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 0f23e2843c..ac0f13ca56 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -1285,7 +1285,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>${COMM_ADDRESS}</title>
                 <description></description>
                 <customProperties>
@@ -9996,8 +9996,8 @@
                 <name>EMPLOYEE_INVOLVED</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="250" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-- 
GitLab


From 78fa9bbc851c89be2dbcaf598bcc45ba7a157d3a Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 29 Sep 2020 10:04:41 +0200
Subject: [PATCH 101/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1060566][Probleme mit Filename in ASYS_BINARIES]

---
 .../init/struct/create_asys_aliasconfig.xml   | 20 +++++++++---------
 .../init/struct/create_asys_binaries.xml      | 20 +++++++++---------
 .../basic/init/struct/create_asys_system.xml  | 17 ++++++++-------
 .../basic/init/struct/create_asys_users.xml   | 21 ++++++++++++-------
 .../init/struct/create_asys_usertoken.xml     | 10 ++++-----
 5 files changed, 49 insertions(+), 39 deletions(-)

diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
index 40c7f7e18d..0a140415ff 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
@@ -5,23 +5,23 @@
         <column name="ID" type="CHAR(36)">
             <constraints primaryKey="true" primaryKeyName="PK_ASYS_ALIASCONFIG_ID"/>
         </column>
-        <column name="ALIASID" type="VARCHAR(63)"/>
-        <column name="DESCRIPTION" type="CLOB"/>
-        <column name="ICON" type="LONGBLOB"/>
+        <column name="USER_EDIT" type="VARCHAR(63)"/>
+        <column name="USER_NEW" type="VARCHAR(63)"/>
+        <column name="DATE_EDIT" type="DATETIME"/>
+        <column name="DATE_NEW" type="DATETIME"/>
         <column name="KIND" type="INTEGER">
             <constraints nullable="false"/>
         </column>
-        <column name="NAME" type="VARCHAR(63)">
+        <column name="NAME" type="NVARCHAR(63)">
             <constraints nullable="false"/>
         </column>
+        <column name="TITLE" type="NVARCHAR(63)"/>
+        <column name="DESCRIPTION" type="NVARCHAR(255)"/>
+        <column name="ICON" type="LONGBLOB"/>        
+        <column name="XMLDATA" type="LONGBLOB"/>
         <column name="SERVERID" type="VARCHAR(63)"/>
+        <column name="ALIASID" type="VARCHAR(63)"/>
         <column name="TENANTID" type="VARCHAR(63)"/>
-        <column name="TITLE" type="VARCHAR(63)"/>
-        <column name="XMLDATA" type="LONGBLOB"/>
-        <column name="USER_EDIT" type="VARCHAR(63)"/>
-        <column name="USER_NEW" type="VARCHAR(63)"/>
-        <column name="DATE_EDIT" type="DATETIME"/>
-        <column name="DATE_NEW" type="DATETIME"/>
     </createTable>
 </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_binaries.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_binaries.xml
index 7783a9014a..d700aacd49 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_binaries.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_binaries.xml
@@ -5,21 +5,21 @@
         <column name="ID" type="CHAR(36)">
             <constraints primaryKey="true" primaryKeyName="PK_ASYS_BINARIES_ID"/>
         </column>
+        <column name="USER_EDIT" type="VARCHAR(63)"/>
+        <column name="USER_NEW" type="VARCHAR(63)"/>
+        <column name="DATE_EDIT" type="DATETIME"/>
+        <column name="DATE_NEW" type="DATETIME"/>
         <column name="BINDATA" type="LONGBLOB"/>
+        <column name="PARENTID" type="VARCHAR(1024)"/>
         <column name="CONTAINERNAME" type="VARCHAR(31)"/>
-        <column name="DATASIZE" type="BIGINT"/>
-        <column name="DESCRIPTION" type="VARCHAR(127)"/>
-        <column name="FILENAME" type="VARCHAR(127)"/>
+        <column name="TABLENAME" type="NVARCHAR(127)"/>
+        <column name="FILENAME" type="NVARCHAR(127)"/>
+        <column name="ROW_ID" type="CHAR(36)"/>
+        <column name="DESCRIPTION" type="NVARCHAR(127)"/>
         <column name="KEYWORD" type="VARCHAR(255)"/>
         <column name="MIMETYPE" type="VARCHAR(127)"/>
-        <column name="PARENTID" type="VARCHAR(1024)"/>
         <column name="PREVIEW" type="LONGBLOB"/>
-        <column name="ROW_ID" type="CHAR(36)"/>
-        <column name="TABLENAME" type="VARCHAR(127)"/>
-        <column name="USER_EDIT" type="VARCHAR(63)"/>
-        <column name="USER_NEW" type="VARCHAR(63)"/>
-        <column name="DATE_EDIT" type="DATETIME"/>
-        <column name="DATE_NEW" type="DATETIME"/>
+        <column name="DATASIZE" type="BIGINT"/>
     </createTable>
     <createIndex tableName="ASYS_BINARIES" indexName="IDX_ASYS_BINARIES_ROW_ID">
         <column name="ROW_ID"/>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_system.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_system.xml
index 84c539ffe5..43355067f9 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_system.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_system.xml
@@ -5,20 +5,23 @@
         <column name="ID" type="CHAR(63)">
             <constraints primaryKey="true" primaryKeyName="PK_ASYS_SYSTEM_ID"/>
         </column>
-        <column name="DATE_EDIT" type="DATETIME(3)"/>
+        <column name="DATE_EDIT" type="DATETIME"/>
         <column name="DATE_NEW" type="DATETIME"/>
-        <column name="DESCRIPTION" type="VARCHAR(255)"/>
-        <column name="ICON" type="LONGBLOB"/>
+        <column name="USER_EDIT" type="VARCHAR(63)"/>
+        <column name="USER_NEW" type="VARCHAR(63)"/>
         <column name="KIND" type="INTEGER">
             <constraints nullable="false"/>
         </column>
-        <column name="NAME" type="VARCHAR(63)">
+        <column name="NAME" type="NVARCHAR(63)">
             <constraints nullable="false"/>
         </column>
-        <column name="TITLE" type="VARCHAR(63)"/>
-        <column name="USER_EDIT" type="VARCHAR(63)"/>
-        <column name="USER_NEW" type="VARCHAR(63)"/>
+        <column name="TITLE" type="NVARCHAR(63)"/>
+        <column name="DESCRIPTION" type="NVARCHAR(255)"/>
+        <column name="ICON" type="LONGBLOB"/>
         <column name="XMLDATA" type="LONGBLOB"/>
     </createTable>
+    <createIndex indexName="idx_asyssystem_name" tableName="ASYS_SYSTEM">
+        <column name="NAME"/>
+    </createIndex>
 </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_users.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_users.xml
index 00947fe252..c8d26b66bf 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_users.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_users.xml
@@ -5,10 +5,12 @@
         <column name="ID" type="CHAR(36)">
             <constraints primaryKey="true" primaryKeyName="PK_ASYS_USERS_ID"/>
         </column>
-        <column name="GROUPID" type="VARCHAR(63)">
+        <column name="DATE_NEW" type="DATETIME"/>
+        <column name="DATE_EDIT" type="DATETIME"/>
+        <column name="NAME" type="NVARCHAR(63)">
             <constraints nullable="false"/>
         </column>
-        <column name="NAME" type="VARCHAR(63)">
+        <column name="GROUPID" type="NVARCHAR(63)">
             <constraints nullable="false"/>
         </column>
         <column name="PROPKEY" type="VARCHAR(1024)">
@@ -16,15 +18,20 @@
         </column>
         <column name="PROPVAL" type="VARCHAR(1024)"/>
         <column name="PROPVAL_CLOB" type="CLOB"/>
-
-        <column name="DATE_EDIT" type="DATETIME"/>
-        <column name="DATE_NEW" type="DATETIME"/>
     </createTable>
+    <createIndex indexName="IDX_ASYS_USERS_NAME" tableName="ASYS_USERS">
+        <column name="NAME"/>
+    </createIndex>
     <createIndex indexName="idx_asysusers_groupid" tableName="ASYS_USERS">
         <column name="GROUPID"/>
     </createIndex>
-    <createIndex indexName="IDX_ASYS_USERS_NAME" tableName="ASYS_USERS">
-        <column name="NAME"/>
+    <!--normally a index should be created for propkey and propval but this causes due to it's length problems on some dbms-->
+    <!--<createIndex indexName="idx_asysusers_propkey" tableName="ASYS_USERS">
+        <column name="PROPKEY"/>
     </createIndex>
+    <createIndex indexName="idx_asysusers_propval" tableName="ASYS_USERS">
+        <column name="PROPVAL"/>
+    </createIndex>-->
+    
 </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_usertoken.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_usertoken.xml
index b12b894b6c..c2b37b4e1b 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_usertoken.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_usertoken.xml
@@ -5,19 +5,19 @@
         <column name="ID" type="CHAR(36)">
             <constraints primaryKey="true" primaryKeyName="PK_ASYS_USERTOKEN_ID"/>
         </column>
+        <column name="USER_EDIT" type="VARCHAR(63)"/>
+        <column name="USER_NEW" type="VARCHAR(63)"/>
         <column name="DATE_EDIT" type="DATETIME"/>
         <column name="DATE_NEW" type="DATETIME"/>
-        <column name="GROUP_ID" type="VARCHAR(63)"/>
         <column name="LOGIN_USER_ID" type="VARCHAR(63)">
             <constraints nullable="false"/>
         </column>
         <column name="REFERENCE_USER_ID" type="VARCHAR(63)"/>
-        <column name="USER_EDIT" type="VARCHAR(63)"/>
-        <column name="USER_NEW" type="VARCHAR(63)"/>
-        <column name="VALID" type="INTEGER"/>
         <column name="VALID_FROM" type="DATETIME"/>
-        <column name="VALID_ONCE" type="INTEGER"/>
         <column name="VALID_TO" type="DATETIME"/>
+        <column name="VALID_ONCE" type="INTEGER"/>
+        <column name="VALID" type="INTEGER"/>
+        <column name="GROUP_ID" type="NVARCHAR(63)"/>
     </createTable>
 </changeSet>
 </databaseChangeLog>
\ No newline at end of file
-- 
GitLab


From 772b689752904552366c26aee838e0a5eb54970d Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 29 Sep 2020 10:28:17 +0200
Subject: [PATCH 102/251] AroundLocation: removed read entity because it caused
 an infinity loop and a alternative is available in the core since a few hours

---
 .../openaroundlocation/onActionProcess.js          | 11 ++---------
 .../openaroundlocation/stateProcess.js             | 14 +++-----------
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/entity/Organisation_entity/entityfields/openaroundlocation/onActionProcess.js b/entity/Organisation_entity/entityfields/openaroundlocation/onActionProcess.js
index 3ede9b6084..3195ea5115 100644
--- a/entity/Organisation_entity/entityfields/openaroundlocation/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/openaroundlocation/onActionProcess.js
@@ -2,15 +2,8 @@ import("system.entities");
 import("system.vars");
 import("system.neon");
 
-var rowConfig = entities.createConfigForLoadingRows()
-    .fields(["STANDARD_LAT", "STANDARD_LON"])
-    .entity("Organisation_entity")
-    .uid(vars.get("$sys.uid"));
-var row = entities.getRow(rowConfig);
-
-//todo: use read entity and comment why (data is not loaded)
-var lat = row["STANDARD_LAT"];
-var lon = row["STANDARD_LON"];
+var lat = vars.get("$field.STANDARD_LAT");
+var lon = vars.get("$field.STANDARD_LON");
 
 var params = {
     OriginUid_param: vars.get("$sys.uid"),
diff --git a/entity/Organisation_entity/entityfields/openaroundlocation/stateProcess.js b/entity/Organisation_entity/entityfields/openaroundlocation/stateProcess.js
index b9adad9dcc..39ffb62cfa 100644
--- a/entity/Organisation_entity/entityfields/openaroundlocation/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/openaroundlocation/stateProcess.js
@@ -5,18 +5,10 @@ import("system.entities");
 
 var recordState = vars.get("$sys.operatingstate");
 var res = neon.COMPONENTSTATE_DISABLED;
-var uid = vars.get("$sys.uid");
-if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT && uid)
+if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT)
 {
-    //use read entity since the lat and lon fields are not loaded by default since they are not needed otherwise
-    var rowConfig = entities.createConfigForLoadingRows()
-        .fields(["STANDARD_LAT", "STANDARD_LON"])
-        .entity(vars.get("$sys.currententityname"))
-        .uid(uid);
-    var row = entities.getRow(rowConfig);
-
-    var lat = row["STANDARD_LAT"];
-    var lon = row["STANDARD_LON"];
+    var lat = vars.get("$field.STANDARD_LAT");
+    var lon = vars.get("$field.STANDARD_LON");
 
     if (lat && lon)
         res = neon.COMPONENTSTATE_AUTO;
-- 
GitLab


From 9d1e2680c4b0a5b567ffe8d564b47115bd5fe574 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 29 Sep 2020 11:06:28 +0200
Subject: [PATCH 103/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066191][.gitignore=20im=20xRM=20Basic=20f=C3=BCr=20U?=
 =?UTF-8?q?serhelp=20erg=C3=A4nzen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 3e6393c7c2..bd9db83469 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
 /others/db_changes/liqui_update.bat
 /others/db_changes/liqui_reset.ps1
 /others/jsdocOut
+/userhelp
\ No newline at end of file
-- 
GitLab


From 2bcdb13e68a3011d6d56412fe46d6480a90545cd Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Tue, 29 Sep 2020 14:17:39 +0200
Subject: [PATCH 104/251] =?UTF-8?q?#1062949-L=C3=B6schenEigenschaftenInkon?=
 =?UTF-8?q?sistent=20=C3=9Cberpr=C3=BCfung=20Auswahl-Value?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/Attribute_lib/process.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
index b7b8f69998..5e0df4bb1e 100644
--- a/process/Attribute_lib/process.js
+++ b/process/Attribute_lib/process.js
@@ -1624,7 +1624,8 @@ AttributeRelationQuery.prototype.getSingleAttributeValue = function ()
 AttributeRelationQuery.prototype.getAttributeCount = function ()
 {
     return parseInt(AttributeRelationUtils.getAttributeSqlBuilder("count(*)", this._rowId, this._objectType)
-        .andIfSet("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", this._attributeIds, SqlBuilder.IN())
+        .and(newWhereIfSet( "AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", this._attributeIds, SqlBuilder.IN())
+            .orIfSet("AB_ATTRIBUTERELATION.ID_VALUE", this._attributeIds, SqlBuilder.IN()))
         .cell() || 0);
 }
 
-- 
GitLab


From c7c884a8bdb6ce631021d8bc30f27fcf82055bbc Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 14:39:47 +0200
Subject: [PATCH 105/251] #1063997 Favorites: Filter offer by favorites

---
 entity/Offer_entity/Offer_entity.aod                  |  8 ++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  5 +++++
 .../favoriten_filter/filterConditionProcess.js        |  4 ++--
 4 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 90825b3106..888a325546 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -1308,6 +1308,14 @@
           <filterConditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..4157abe2c8
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("OFFER.OFFERID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..59afaeee93
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserNotificationGroups());
+
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
index c129393d11..d42520a347 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
@@ -7,13 +7,13 @@ var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
 
 for(i = 0; i < rowIds.length; i++)
 {        
-    var orga_id = new SqlBuilder().select("CONTACT.PERSON_ID")
+    var orga_id = new SqlBuilder().select("CONTACT.ORGANISATION_ID")
         .from("CONTACT")
         .where(newWhere("CONTACT.CONTACTID", rowIds[i]))
         .arrayColumn();
 
     if(orga_id.length > 0)
-        favoFilterCond.or("PERSON.PERSONID", orga_id[0], SqlBuilder.EQUAL());
+        favoFilterCond.or("ORGANISATION.ORGANISATIONID", orga_id[0], SqlBuilder.EQUAL());
 }
 
 result.string(favoFilterCond.toString());
\ No newline at end of file
-- 
GitLab


From ca526675fe77cdb6e73bccd33a72756207db6d5f Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 14:46:59 +0200
Subject: [PATCH 106/251] #1063997 Favorites: Order filter by favoritegroup

---
 entity/Order_entity/Order_entity.aod             | 16 +++++++++++-----
 .../favorite_filter/filterConditionProcess.js    | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js       |  5 +++++
 3 files changed, 27 insertions(+), 5 deletions(-)
 create mode 100644 entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index cb7b3dcde5..9264d6dfcb 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -914,11 +914,7 @@
           <stateProcess>%aditoprj%/entity/Order_entity/entityfields/reminderreportdispatch/children/dispatchreminderreport/stateProcess.js</stateProcess>
         </entityActionField>
       </children>
-        <entityProvider>
-      <name>#PROVIDER_AGGREGATES</name>
-      <useAggregates v="true" />
-    </entityProvider>
-</entityActionGroup>
+    </entityActionGroup>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -1142,6 +1138,16 @@
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..647507498c
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("SALESORDER.SALESORDERID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..59afaeee93
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserNotificationGroups());
+
-- 
GitLab


From 5a3349bac7106d7f0e9535006681adc1210f2671 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:03:48 +0200
Subject: [PATCH 107/251] #1063997 Favorites: Filter Product/Price by Favorites
 + Refactor

---
 .../favorite_filter/filterValuesProcess.js       |  2 +-
 .../favorite_filter/filterValuesProcess.js       |  2 +-
 .../favoriten_filter/filterValuesProcess.js      |  2 +-
 .../favorits_filter/filterValuesProcess.js       |  2 +-
 entity/Product_entity/Product_entity.aod         |  9 +++++++++
 .../favorite_filter/filterConditionProcess.js    | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js       |  5 +++++
 .../Productprice_entity/Productprice_entity.aod  | 16 +++++++++++++++-
 .../productprice_objecttype/valueProcess.js      |  3 +++
 .../favoritefilter/filterConditionProcess.js     | 11 +++++++++++
 .../favoritefilter/filterValuesProcess.js        |  4 ++++
 .../ProductpricePreview_view.aod                 |  6 ++++++
 process/Favorites_lib/process.js                 |  2 +-
 13 files changed, 69 insertions(+), 6 deletions(-)
 create mode 100644 entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
 create mode 100644 entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js
 create mode 100644 entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterConditionProcess.js
 create mode 100644 entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js

diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 59afaeee93..371a5b567d 100644
--- a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserNotificationGroups());
+result.object(FavoritesUtil.getUserFavoriteGroups());
 
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 59afaeee93..371a5b567d 100644
--- a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserNotificationGroups());
+result.object(FavoritesUtil.getUserFavoriteGroups());
 
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
index 59afaeee93..371a5b567d 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserNotificationGroups());
+result.object(FavoritesUtil.getUserFavoriteGroups());
 
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
index abda1bae0c..0ebab765b8 100644
--- a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserNotificationGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 01c9b42d47..5fbf1ca2f5 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -614,6 +614,15 @@
           <filterConditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <groupedRecordField></groupedRecordField>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..2db1e9e36c
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("PRODUCT.PRODUCTID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..371a5b567d
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
+
diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod
index 88bf091386..61bf5454ab 100644
--- a/entity/Productprice_entity/Productprice_entity.aod
+++ b/entity/Productprice_entity/Productprice_entity.aod
@@ -9,7 +9,7 @@
     <element>Product_entity</element>
   </siblings>
   <onValidation>%aditoprj%/entity/Productprice_entity/onValidation.js</onValidation>
-  <useFavorites v="false" />
+  <useFavorites v="true" />
   <titlePlural>Prices</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -234,6 +234,10 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>PRODUCTPRICE_OBJECTTYPE</name>
+      <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -329,6 +333,16 @@
           <expression>%aditoprj%/entity/Productprice_entity/recordcontainers/db/recordfieldmappings/fromquantity.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>FavoriteFilter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js b/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js
new file mode 100644
index 0000000000..4296d2e68b
--- /dev/null
+++ b/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("Productprice");
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterConditionProcess.js b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterConditionProcess.js
new file mode 100644
index 0000000000..c657ebe1ac
--- /dev/null
+++ b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("PRODUCTPRICE.PRODUCTPRICEID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
new file mode 100644
index 0000000000..0ebab765b8
--- /dev/null
+++ b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
diff --git a/neonView/ProductpricePreview_view/ProductpricePreview_view.aod b/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
index bf1fad13d5..bb51611211 100644
--- a/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
+++ b/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
@@ -16,6 +16,12 @@
       <subtitleField>PRODUCT_ID</subtitleField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
+    <favoriteViewTemplate>
+      <name>Favorites</name>
+      <objectType>PRODUCTPRICE_OBJECTTYPE</objectType>
+      <rowId>PRODUCTPRICEID</rowId>
+      <entityField>#ENTITY</entityField>
+    </favoriteViewTemplate>
     <genericViewTemplate>
       <name>PriceInfo</name>
       <showDrawer v="true" />
diff --git a/process/Favorites_lib/process.js b/process/Favorites_lib/process.js
index 7d1efcc674..04ae6f9b9e 100644
--- a/process/Favorites_lib/process.js
+++ b/process/Favorites_lib/process.js
@@ -7,7 +7,7 @@ import("Sql_lib");
 
 function FavoritesUtil(){}
 
-FavoritesUtil.getUserNotificationGroups = function()
+FavoritesUtil.getUserFavoriteGroups = function()
 {
     var allTypes = [];
     var alias = favorite.getFavoritesAlias();
-- 
GitLab


From 16625434f6a02e04b917a173ec07b782904f08a9 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:16:47 +0200
Subject: [PATCH 108/251] ##1063997 Favorites: Filter Salesproj by Favorites

---
 entity/Salesproject_entity/Salesproject_entity.aod    |  8 ++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 3 files changed, 23 insertions(+)
 create mode 100644 entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index d9710bbf19..5cc67eef56 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -935,6 +935,14 @@
           <isGroupable v="true" />
           <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js</groupQueryProcess>
         </filterExtension>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..bf9199d486
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("SALESPROJECT.SALESPROJECTID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..0ebab765b8
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From d335f7760b68e0f01e83b42727dcaf3772fe56c4 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:26:23 +0200
Subject: [PATCH 109/251] #1063997 Favorites: Filter supportticket by favorites

---
 entity/SupportTicket_entity/SupportTicket_entity.aod  | 11 +++++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  3 +++
 3 files changed, 25 insertions(+)
 create mode 100644 entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index 15878584d0..093ebd9cad 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -560,6 +560,17 @@
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <isLookupFilter v="false" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..765e2ce46b
--- /dev/null
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("TICKET.TICKETID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..1b059fd078
--- /dev/null
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,3 @@
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From adf1bb7e9c46a391f0615f0478ceea7b5621fcb4 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:37:20 +0200
Subject: [PATCH 110/251] #1063997 Favorites: Filter Documenttemplate by
 Favorite

---
 .../DocumentTemplate_entity.aod                       | 10 ++++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 .../favorite_filter/filterValuesProcess.js            |  1 +
 4 files changed, 26 insertions(+)
 create mode 100644 entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
index 3cace11c7a..d095043d56 100644
--- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
+++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
@@ -421,6 +421,16 @@
           <expression>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/recordfieldmappings/kind.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..c3deb28e58
--- /dev/null
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..97692e13aa
--- /dev/null
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("Favorites_lib");
+import("system.result");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 1b059fd078..97692e13aa 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,3 +1,4 @@
 import("Favorites_lib");
+import("system.result");
 
 result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From 3fa3ccb1a48ca25ed29fff408f9234b59f1f1fff Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:41:07 +0200
Subject: [PATCH 111/251] #1063997 Favorites: Filter Exporttemplate by
 Favorites

---
 .../ExportTemplate_entity/ExportTemplate_entity.aod   | 10 ++++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 3 files changed, 25 insertions(+)
 create mode 100644 entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/ExportTemplate_entity/ExportTemplate_entity.aod b/entity/ExportTemplate_entity/ExportTemplate_entity.aod
index fa020ece78..a38388bbd5 100644
--- a/entity/ExportTemplate_entity/ExportTemplate_entity.aod
+++ b/entity/ExportTemplate_entity/ExportTemplate_entity.aod
@@ -229,6 +229,16 @@
           <recordfield>EXPORTTEMPLATE.FIELDDELIMITER</recordfield>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..27c5690998
--- /dev/null
+++ b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("EXPORTTEMPLATE.EXPORTTEMPLATEID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..97692e13aa
--- /dev/null
+++ b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("Favorites_lib");
+import("system.result");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From 2c2e043dbb3b71247e2f347f1f108b855a3681be Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:45:27 +0200
Subject: [PATCH 112/251] #1063997 Favorites: Filter Contracts by Favorites

---
 entity/Contract_entity/Contract_entity.aod            |  8 ++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 3 files changed, 23 insertions(+)
 create mode 100644 entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index b3f109df9e..273e731918 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -553,6 +553,14 @@
           <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..6b54c17068
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("CONTRACT.CONTRACTID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..97692e13aa
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("Favorites_lib");
+import("system.result");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From d02e875496745c0fce81f163ddec406a755ed28c Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:48:43 +0200
Subject: [PATCH 113/251] #1063997 Favorites: Filter Campaigns by Favorites

---
 entity/Campaign_entity/Campaign_entity.aod            |  9 +++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 3 files changed, 24 insertions(+)
 create mode 100644 entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index 07b9b388e4..fbc177e81a 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -715,6 +715,15 @@
           <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/member_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtension>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <groupedRecordField></groupedRecordField>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..5a2fdfdb69
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("CAMPAIGN.CAMPAIGNID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..97692e13aa
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("Favorites_lib");
+import("system.result");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab


From 1da239b9e6f85832d2f1a779719b11e459f3e1e7 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Tue, 29 Sep 2020 17:21:29 +0000
Subject: [PATCH 114/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201061095][Aktivit=C3=A4t=20-=20Registerreiter=20Verlau?=
 =?UTF-8?q?f=20-=20Icons=20der=20Aktvivt=C3=A4ten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Activity_entity/Activity_entity.aod    |  66 ++++
 .../activitychildren/documentation.adoc       |   5 +
 .../recordcontainers/db/conditionProcess.js   |   3 +
 .../ModuleTree_entity/ModuleTree_entity.aod   |  24 +-
 .../entityfields/icon/colorProcess.js         |   7 +
 .../entityfields/parent_id/documentation.adoc |   4 +
 .../parent_row_id/documentation.adoc          |   5 +
 .../entityfields/uid/documentation.adoc       |  26 ++
 .../recordcontainers/jdito/contentProcess.js  | 307 ++++++++++++------
 .../SupportTicket_entity.aod                  |  38 +++
 entity/SupportTicket_entity/afterUiInit.js    |  12 +-
 .../supportticketchildren/documentation.adoc  |   5 +
 .../task_icon_color/valueProcess.js           |  21 ++
 .../task_priority_icon/colorProcess.js        |  19 +-
 .../recordcontainers/db/conditionProcess.js   |   3 +
 entity/Task_entity/Task_entity.aod            |  34 ++
 .../entityfields/icon_color/valueProcess.js   |  21 ++
 .../priority_icon/colorProcess.js             |  19 +-
 .../taskchildren/documentation.adoc           |   5 +
 .../recordcontainers/db/conditionProcess.js   |   4 +-
 .../SupportTicketFilter_view.aod              |   3 +
 21 files changed, 486 insertions(+), 145 deletions(-)
 create mode 100644 entity/Activity_entity/entityfields/activitychildren/documentation.adoc
 create mode 100644 entity/ModuleTree_entity/entityfields/icon/colorProcess.js
 create mode 100644 entity/ModuleTree_entity/entityfields/parent_id/documentation.adoc
 create mode 100644 entity/ModuleTree_entity/entityfields/parent_row_id/documentation.adoc
 create mode 100644 entity/ModuleTree_entity/entityfields/uid/documentation.adoc
 create mode 100644 entity/SupportTicket_entity/entityfields/supportticketchildren/documentation.adoc
 create mode 100644 entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js
 create mode 100644 entity/Task_entity/entityfields/icon_color/valueProcess.js
 create mode 100644 entity/Task_entity/entityfields/taskchildren/documentation.adoc

diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index ad558ab066..809e7cb7f2 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -626,6 +626,72 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityProvider>
+      <name>ActivityChildren</name>
+      <documentation>%aditoprj%/entity/Activity_entity/entityfields/activitychildren/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>ActivityIDs_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>InsertLinks_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>Entrydate_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>Info_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>Direction_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>PresetDocuments_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>Subject_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>VisitPlanEntryId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>Category_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>OnlyInnate_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentContext_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>PresetLinks_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityProvider>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Activity_entity/entityfields/activitychildren/documentation.adoc b/entity/Activity_entity/entityfields/activitychildren/documentation.adoc
new file mode 100644
index 0000000000..0818a145c2
--- /dev/null
+++ b/entity/Activity_entity/entityfields/activitychildren/documentation.adoc
@@ -0,0 +1,5 @@
+Provides Activities that are children of a given record.
+
+The recordContainer filters for data where the stored parent-fields have values dependent on the given parameters.
+
+This is useful for building the `ModuleTree_entity` for example. 
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
index 5fb076c6de..0b11a5004b 100644
--- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
@@ -56,5 +56,8 @@ if (Utils.toBoolean(vars.get("$param.OnlyInnate_param")))
         condition.noResult();
 }
 
+condition.andIfSet("ACTIVITY.PARENT_ID", "$param.ParentId_param");
+condition.andIfSet("ACTIVITY.PARENT_CONTEXT", "$param.ParentContext_param");
+
 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
 result.string(condition.toString());
\ No newline at end of file
diff --git a/entity/ModuleTree_entity/ModuleTree_entity.aod b/entity/ModuleTree_entity/ModuleTree_entity.aod
index 8bc4b05870..576d1171a8 100644
--- a/entity/ModuleTree_entity/ModuleTree_entity.aod
+++ b/entity/ModuleTree_entity/ModuleTree_entity.aod
@@ -18,12 +18,13 @@
     </entityField>
     <entityField>
       <name>ICON</name>
+      <colorProcess>%aditoprj%/entity/ModuleTree_entity/entityfields/icon/colorProcess.js</colorProcess>
       <contentType>IMAGE</contentType>
     </entityField>
     <entityProvider>
       <name>TreeProviders</name>
       <targetContextField>TYPE</targetContextField>
-      <targetIdField>UID</targetIdField>
+      <targetIdField>ROW_ID</targetIdField>
       <recordContainer>jdito</recordContainer>
       <dependencies>
         <entityDependency>
@@ -58,9 +59,11 @@
     </entityProvider>
     <entityField>
       <name>PARENT_ID</name>
+      <documentation>%aditoprj%/entity/ModuleTree_entity/entityfields/parent_id/documentation.adoc</documentation>
     </entityField>
     <entityField>
       <name>UID</name>
+      <documentation>%aditoprj%/entity/ModuleTree_entity/entityfields/uid/documentation.adoc</documentation>
     </entityField>
     <entityField>
       <name>PARENT_CONTEXT</name>
@@ -84,6 +87,16 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>ICON_COLOR</name>
+    </entityField>
+    <entityField>
+      <name>ROW_ID</name>
+    </entityField>
+    <entityField>
+      <name>PARENT_ROW_ID</name>
+      <documentation>%aditoprj%/entity/ModuleTree_entity/entityfields/parent_row_id/documentation.adoc</documentation>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -94,12 +107,18 @@
         <jDitoRecordFieldMapping>
           <name>UID.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>ROW_ID.value</name>
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>TYPE.value</name>
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>PARENT_ID.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>PARENT_ROW_ID.value</name>
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>PARENT_CONTEXT.value</name>
         </jDitoRecordFieldMapping>
@@ -112,6 +131,9 @@
         <jDitoRecordFieldMapping>
           <name>ICON.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>ICON_COLOR.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/ModuleTree_entity/entityfields/icon/colorProcess.js b/entity/ModuleTree_entity/entityfields/icon/colorProcess.js
new file mode 100644
index 0000000000..2f6e7055fb
--- /dev/null
+++ b/entity/ModuleTree_entity/entityfields/icon/colorProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.result");
+
+var color = vars.get("$field.ICON_COLOR");
+//only return a value if there is acutally one because otherwise (if giving null for exmaple) the records would inherit the color of the previous record
+if (color)
+    result.string(color);
diff --git a/entity/ModuleTree_entity/entityfields/parent_id/documentation.adoc b/entity/ModuleTree_entity/entityfields/parent_id/documentation.adoc
new file mode 100644
index 0000000000..a71ee12093
--- /dev/null
+++ b/entity/ModuleTree_entity/entityfields/parent_id/documentation.adoc
@@ -0,0 +1,4 @@
+This field containts the parents UID (if existant) or `null` (if it's a root element).
+The field is needed to build a tree/treeTable.
+
+Do not confuse this with the `PARENT_ROW_ID`-field.
\ No newline at end of file
diff --git a/entity/ModuleTree_entity/entityfields/parent_row_id/documentation.adoc b/entity/ModuleTree_entity/entityfields/parent_row_id/documentation.adoc
new file mode 100644
index 0000000000..65c99c2b89
--- /dev/null
+++ b/entity/ModuleTree_entity/entityfields/parent_row_id/documentation.adoc
@@ -0,0 +1,5 @@
+This field contains the actual rowId of the record, which is dependent on the `TYPE`-field.
+So for example if the TYPE is `Activity` this field contains the Activities UID (`ACTIVITYID`). 
+If the TYPE is `Task` this field containst the Tasks UID (`TASKID`) and so on.
+
+Do not confuse this with the `PARENT_ID`-field.
diff --git a/entity/ModuleTree_entity/entityfields/uid/documentation.adoc b/entity/ModuleTree_entity/entityfields/uid/documentation.adoc
new file mode 100644
index 0000000000..bf7ae49972
--- /dev/null
+++ b/entity/ModuleTree_entity/entityfields/uid/documentation.adoc
@@ -0,0 +1,26 @@
+The UID is composed of some other data:
+
+* `ROW_ID` of the actual record
+* `OBJECT_TYPE` of the actual record (=the contextid)
+
+The ID is encoded as json string of an object with the following properties:
+
+* `id` which is the `ROW_ID`
+* `type` which is the `OBJECT_TYPE`
+
+See these examples of uids: 
+
+* `{"id":"634ad7a8-9c68-4ea4-8385-f5bb37224482","type":"SupportTicket"}`
+* `{"id":"b8067a42-d059-4d86-88b0-485a194faa36","type":"Activity"}`
+* `{"id":"ccdea060-a151-44b2-b7ff-74fdcd0ce333","type":"Task"}`
+* `{"id":"453ff4dd-ffa1-4bb0-a5dc-45b9d333a853","type":"Task"}`
+
+The *reason* for this encoding is to grant better performance when data is requested from the kernel 
+while giving the `$local.idvalues`-Variable.
+
+When we know the objectType and the rowId we can directly load data with the given rowId from 
+the objectTypes entity.
+If we only had the rowId it would be necessary to try all possible entities (objectTypes) for a match 
+in the worst cases.
+
+The information of `ROW_ID` and `OBJECT_TYPE` cannot change during runtime, so this cannot lead to errors.
\ No newline at end of file
diff --git a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
index e202a9bbe7..fcc31459bc 100644
--- a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,5 @@
+import("system.logging");
+import("system.neon");
 import("system.entities");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
@@ -6,28 +8,59 @@ import("Sql_lib")
 import("system.result");
 import("system.db");
 
-var fixedContextName = vars.get("$param.ContextName_param");
-var fixedID = vars.get("$param.ID_param");
+var resArray = [];
 
-let resArray = [];
+var idValues;
+if (vars.exists("$local.idvalues") )
+    idValues = vars.get("$local.idvalues");
 
-// Query root element
-var root = queryRootElement(fixedContextName, fixedID, true);
+if (idValues)
+{
+    /* Currently there is no known use case for the ModuleTree_entity where the idValues is actually more than one.
+     * Every uid contains:
+     * a) the row_id of the record
+     * b) the type (contextid) of the record
+     * 
+     * The process loads at the moment for every idValue in idValues the record.
+     * From a perfromance perspective it would be probably better to:
+     * - collect the row_id values of every type
+     * - request for that type all the data at once
+     * - augment all the data and prepare it for returning to this jditoRC
+     * 
+     **/
+    if (idValues.length > 15)
+        logging.log("[ModuleTree_entity]Performance warning: The ModuleTree_entity has received an request for " + idValues.length + " ids, "
+            + "but it is not optimized for such requests. See the ModuleTree_entity.contentProcess and this message.", logging.WARNING);
+    idValues.forEach(function (uid){
+        uid = JSON.parse(uid);
+        var singleElement = queryRootElement(uid.type, uid.id, true);
+        if (singleElement)
+            resArray.push(singleElement);
+    });
+}
+else
+{
+    var fixedContextName = vars.get("$param.ContextName_param");
+    var fixedID = vars.get("$param.ID_param");
 
-if (root !== null) {
-    // Push root element
-    resArray.push(root);
+    // Query root element
+    var root = queryRootElement(fixedContextName, fixedID, true);
 
-    // Query children of root
-    var children = queryChildrenElements(fixedContextName, fixedID);
-    
-    if (children !== null) {
-     
-       // Push each children
-       resArray = resArray.concat(children);
-       result.object(resArray);
+    if (root !== null) {
+        // Push root element
+        resArray.push(root);
+
+        // Query children of root
+        var children = queryChildrenElements(fixedContextName, fixedID);
+
+        if (children !== null) {
+
+           // Push each children
+           resArray = resArray.concat(children);
+        }
     }
 }
+result.object(resArray);
 
 /**
  * Queries the children of the given parent element.
@@ -36,27 +69,40 @@ if (root !== null) {
  * @param pContextName Context name of the parent element.
  * @param pID ID of the parent element.
  */
-function queryChildrenElements (pContextName, pID) {
-    
-    var taskResult = newSelect("TASKID, PARENT_ID, PARENT_CONTEXT, SUBJECT, DESCRIPTION")
-                        .from("TASK")
-                        .where("TASK.PARENT_ID", pID)
-                        .and("TASK.PARENT_CONTEXT", pContextName)
-                        .and("TASK.KIND", $KeywordRegistry.taskType$task())
-                        .table();
-    
-    var ticketResult = newSelect("TICKETID, PARENT_ID, PARENT_CONTEXT, SUBJECT, DESCRIPTION")
-                        .from("TICKET")
-                        .leftJoin("TASK", "TASK_ID = TASKID")
-                        .where("TASK.PARENT_ID", pID)
-                        .and("TASK.PARENT_CONTEXT", pContextName)
-                        .table();
+function queryChildrenElements (pContextName, pID) 
+{
+    //Tasks:
+    var taskConf = _getConfigForLoadingTaskRows()
+        .provider("TaskChildren")
+        .addParameter("ParentId_param", pID)
+        .addParameter("ParentContext_param", pContextName);
+    var taskRows = entities.getRows(taskConf);
+    //remap the data to the format like the augmentdata function needs it
+    var taskResult = taskRows.map(function (rowValues){
+        return _mapTaskRow(rowValues);
+    });
+
+    //Tickets:
+    var supportTicketConf = _getConfigForLoadingSupportTicketRows()
+        .provider("SupportTicketChildren")
+        .addParameter("ParentId_param", pID)
+        .addParameter("ParentContext_param", pContextName);
+    var supportTicketRows = entities.getRows(supportTicketConf);
+    //remap the data to the format like the augmentdata function needs it
+    var ticketResult = supportTicketRows.map(function (rowValues){
+        return _mapSupportTicketRow(rowValues);
+    });
     
-    var activityResult = newSelect("ACTIVITYID, PARENT_ID, PARENT_CONTEXT, SUBJECT, INFO")
-                        .from("ACTIVITY")
-                        .where("ACTIVITY.PARENT_ID", pID)
-                        .and("ACTIVITY.PARENT_CONTEXT", pContextName)
-                        .table();
+    //Activities:
+    var activityConf = _getConfigForLoadingActivityRows()
+        .provider("ActivityChildren")
+        .addParameter("ParentId_param", pID)
+        .addParameter("ParentContext_param", pContextName);
+    var activityRows = entities.getRows(activityConf);
+    //remap the data to the format like the augmentdata function needs it
+    var activityResult = activityRows.map(function (rowValues){
+        return _mapActivityRow(rowValues);
+    });
     
     var res = []
   
@@ -66,7 +112,7 @@ function queryChildrenElements (pContextName, pID) {
         res.push(taskResult[i]);
         
         // Query children
-        let children = queryChildrenElements("Task", taskResult[i][0]);
+        let children = queryChildrenElements("Task", taskResult[i][1]);
         res = res.concat(children);
     }
     
@@ -76,7 +122,7 @@ function queryChildrenElements (pContextName, pID) {
         res.push(activityResult[i]);
         
         // Query children
-        let children = queryChildrenElements("Activity", activityResult[i][0]);
+        let children = queryChildrenElements("Activity", activityResult[i][1]);
         res = res.concat(children);
     }
     
@@ -86,7 +132,7 @@ function queryChildrenElements (pContextName, pID) {
         res.push(ticketResult[i]);
         
         // Query children
-        let children = queryChildrenElements("SupportTicket", ticketResult[i][0]);
+        let children = queryChildrenElements("SupportTicket", ticketResult[i][1]);
         res = res.concat(children);
     }
       
@@ -100,23 +146,15 @@ function queryChildrenElements (pContextName, pID) {
  * @param pID ID of the root element.
  * @param pGetFirst start from the first element
  */
-function queryRootElement (pContextName, pID, pGetFirst) {
-    var resultArray, rowValues, conf, icon;
+function queryRootElement (pContextName, pID, pGetFirst) 
+{
+    var resultArray, rowValues, conf;
     
-    if (pContextName === "Task") {
-        
-        conf = entities.createConfigForLoadingRows()
-                        .entity("Task_entity")
-                        .fields(["TASKID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "DESCRIPTION"])
-                        .uid(pID);
-                                
+    if (pContextName === "Task") 
+    {
+        conf = _getConfigForLoadingTaskRows().uid(pID);
         rowValues = entities.getRow(conf);
-        
-        resultArray = [rowValues["TASKID"],
-                        rowValues["PARENT_ID"],
-                        rowValues["PARENT_CONTEXT"],
-                        rowValues["SUBJECT"],
-                        rowValues["DESCRIPTION"]];
+        resultArray = _mapTaskRow(rowValues);
                         
         if (resultArray.length === 0) {
             return null;
@@ -130,20 +168,9 @@ function queryRootElement (pContextName, pID, pGetFirst) {
         }
         return augmentData(resultArray, "Task");
     } else if (pContextName === "Activity") {
-        conf = entities.createConfigForLoadingRows()
-                        .entity("Activity_entity")
-                        .fields(["ACTIVITYID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "INFO", "#IMAGE"])
-                        .uid(pID);
-                                
+        conf = _getConfigForLoadingActivityRows().uid(pID);
         rowValues = entities.getRow(conf);
-        
-        resultArray = [rowValues["ACTIVITYID"],
-                        rowValues["PARENT_ID"],
-                        rowValues["PARENT_CONTEXT"],
-                        rowValues["SUBJECT"],
-                        rowValues["INFO"]];
-        
-        icon = rowValues["#IMAGE"];
+        resultArray = _mapActivityRow(rowValues);
         
         if (resultArray.length === 0) {
             return null;
@@ -155,22 +182,13 @@ function queryRootElement (pContextName, pID, pGetFirst) {
             fixedContextName = "Activity";
             fixedID = resultArray[0];
         }
-        return augmentData(resultArray, "Activity", icon);
+        return augmentData(resultArray, "Activity");
     }
     else if (pContextName === "SupportTicket") {
 
-        conf = entities.createConfigForLoadingRows()
-                        .entity("SupportTicket_entity")
-                        .fields(["TICKETID", "TASK_PARENT_ID", "TASK_PARENT_CONTEXT", "TASK_SUBJECT", "TASK_DESCRIPTION"])
-                        .uid(pID);
-                                
+        conf = _getConfigForLoadingSupportTicketRows().uid(pID);
         rowValues = entities.getRow(conf);
-        
-        resultArray = [rowValues["TICKETID"],
-                        rowValues["TASK_PARENT_ID"],
-                        rowValues["TASK_PARENT_CONTEXT"],
-                        rowValues["TASK_SUBJECT"],
-                        rowValues["TASK_DESCRIPTION"]];
+        resultArray = _mapSupportTicketRow(rowValues);
                         
         if (resultArray.length === 0) {
             return null;
@@ -192,14 +210,12 @@ function queryRootElement (pContextName, pID, pGetFirst) {
  * Augments the given row to match the required result signature.
  * 
  * @param pDataRow Requires the following format:
- *                 UID, PARENT_ID, PARENT_CONTEXT, TITLE, DESCRIPTION
+ *                 UID, PARENT_ID, PARENT_CONTEXT, TITLE, DESCRIPTION, ICON, ICON_COLOR
  * @param pType The type of the row which needs adjustment.
- * @param pIcon The Icon (only needed for activities)
- * @return Returns the following format:
- *         UID, KIND, PARENT_ID, PARENT_CONTEX, TITL, DESCRIPTION, ICON
+ * @return Returns the data in the form how the record container requests it
  * 
  */
-function augmentData (pDataRow, pType, pIcon) {
+function augmentData (pDataRow, pType) {
     if (pDataRow === null || pDataRow === undefined)
         return null;
     
@@ -209,19 +225,118 @@ function augmentData (pDataRow, pType, pIcon) {
     if (pType !== "Task" && pType !== "Activity" && pType !="SupportTicket")
         return null;
     
+    var rowId, parentId, parentContext, title, description, icon, iconColor;
+    [rowId, parentId, parentContext, title, description, icon, iconColor] = pDataRow;
+
     // PARENT_ID check
-    if (pDataRow[2] === "")
-        pDataRow[2] = null;
+    if (parentId === "")
+        parentId = null;
     
     // PARENT_CONTEXT check
-    if (pDataRow[3] === "")
-        pDataRow[3] = null;
-    
-    // Insert type
-    pDataRow.splice(1, 0, pType);
-    
-    // Insert icon
-    pDataRow.splice(6, 0, pType === "Task" ? "VAADIN:TASKS" : pType === "Activity" ? pIcon : pType ==="SupportTicket" ? "VAADIN:chat": null);
-    
-    return pDataRow;
+    if (parentId === "")
+        parentId = null;
+
+    if (!iconColor)
+        iconColor = "";
+
+    var uid = JSON.stringify({id: rowId, type: pType});
+    var parentUid = null;
+    if (parentId && parentContext)
+        parentUid = JSON.stringify({id: parentId, type: parentContext});
+    //we have no access to the datamodels iconId here, so therefor the icon values are hardcoded //TODO: optimize and load automatically
+    var resIcon = icon || (pType === "Task" ? "VAADIN:TASKS" : pType === "Activity" ? "VAADIN:HOURGLASS_END" : pType ==="SupportTicket" ? "VAADIN:chat" : null);
+    var res = [uid, rowId, pType, parentUid, parentId, parentContext, title, description, resIcon, iconColor];
+    return res;
+}
+
+/*
+ * private helper function for creating the base config for loading TASKS 
+ * You need to extend it for example with uids or parameters to limit the data
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _getConfigForLoadingTaskRows()
+{
+    var res = entities.createConfigForLoadingRows()
+        .entity("Task_entity")
+        .fields(["TASKID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "DESCRIPTION", "PRIORITY_ICON", "ICON_COLOR"]);
+    return res;
+}
+
+/*
+ * private helper function for mapping the result of entities.getRows where the given config was created by _getConfigForLoadingTaskRows(...)
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _mapTaskRow(pRowValues)
+{
+    return [
+         pRowValues["TASKID"]
+        ,pRowValues["PARENT_ID"]
+        ,pRowValues["PARENT_CONTEXT"]
+        ,pRowValues["SUBJECT"]
+        ,pRowValues["DESCRIPTION"]
+        ,pRowValues["PRIORITY_ICON"]
+        ,pRowValues["ICON_COLOR"]
+    ];
+}
+
+/*
+ * private helper function for creating the base config for loading SUPPORT TICKETS 
+ * You need to extend it for example with uids or parameters to limit the data
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _getConfigForLoadingSupportTicketRows()
+{
+    var res = entities.createConfigForLoadingRows()
+        .entity("SupportTicket_entity")
+        .fields(["TICKETID", "TASK_PARENT_ID", "TASK_PARENT_CONTEXT", "TASK_SUBJECT", "TASK_DESCRIPTION", "TASK_PRIORITY_ICON", "TASK_ICON_COLOR"])
+    return res;
+}
+
+/*
+ * private helper function for mapping the result of entities.getRows where the given config was created by _getConfigForLoadingSupportTicketRows(...)
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _mapSupportTicketRow(pRowValues)
+{
+    return [
+         pRowValues["TICKETID"]
+        ,pRowValues["TASK_PARENT_ID"]
+        ,pRowValues["TASK_PARENT_CONTEXT"]
+        ,pRowValues["TASK_SUBJECT"]
+        ,pRowValues["TASK_DESCRIPTION"]
+        ,pRowValues["TASK_PRIORITY_ICON"]
+        ,pRowValues["TASK_ICON_COLOR"]
+    ];
+}
+
+
+/*
+ * private helper function for creating the base config for loading ACTIVITES
+ * You need to extend it for example with uids or parameters to limit the data
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _getConfigForLoadingActivityRows()
+{
+    //activity has currently no icon color, therefor nothing to specify here
+    var res = entities.createConfigForLoadingRows()
+        .entity("Activity_entity")
+        .fields(["ACTIVITYID", "PARENT_ID", "PARENT_CONTEXT", "SUBJECT", "INFO", "#IMAGE"]);
+    return res;
+}
+
+/*
+ * private helper function for mapping the result of entities.getRows where the given config was created by _getConfigForLoadingActivityRows(...)
+ * This is used for the root and the child items, so if you want to change it you have only to change it once
+ */
+function _mapActivityRow(pRowValues)
+{
+    return [
+         pRowValues["ACTIVITYID"]
+        ,pRowValues["PARENT_ID"]
+        ,pRowValues["PARENT_CONTEXT"]
+        ,pRowValues["SUBJECT"]
+        ,pRowValues["INFO"]
+        ,pRowValues["#IMAGE"]
+        ,null //activity has currently no icon color, therefor give a placeholder value
+    ];
 }
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index 093ebd9cad..a289e1083c 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -421,6 +421,44 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityProvider>
+      <name>SupportTicketChildren</name>
+      <documentation>%aditoprj%/entity/SupportTicket_entity/entityfields/supportticketchildren/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>RowId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>TicketType_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>PresetLinks_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>FilterOnlyOwnTicket_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentContext_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityField>
+      <name>TASK_ICON_COLOR</name>
+      <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/SupportTicket_entity/afterUiInit.js b/entity/SupportTicket_entity/afterUiInit.js
index 9080cb34c8..ecada6ad97 100644
--- a/entity/SupportTicket_entity/afterUiInit.js
+++ b/entity/SupportTicket_entity/afterUiInit.js
@@ -8,16 +8,6 @@ import("ActivityTask_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    var presetLinks = JSON.parse(vars.getString("$param.PresetLinks_param"));
-        if(presetLinks[0][0] == "Person")
-        {
-            var contactId = presetLinks[0][1];
-
-            var orgContactId = ContactUtils.getOrganisationContactId(contactId);
-            
-            presetLinks[1] =  ["Organisation", orgContactId];
-        }
-    
-    TaskUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", presetLinks, "$field.TASK_PARENT_CONTEXT", "$field.TASK_PARENT_ID");
+    TaskUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", "$param.PresetLinks_param", "$field.TASK_PARENT_CONTEXT", "$field.TASK_PARENT_ID");
     AttributeRelationUtils.presetMandatoryAttributes(ContextUtils.getCurrentContextId(), "Attributes", TicketUtils.begin(vars.get("$field.TICKETTYPE")).getTypeAttributes());
 }
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/supportticketchildren/documentation.adoc b/entity/SupportTicket_entity/entityfields/supportticketchildren/documentation.adoc
new file mode 100644
index 0000000000..fb163a939e
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/supportticketchildren/documentation.adoc
@@ -0,0 +1,5 @@
+Provides SupportTickets that are children of a given record.
+
+The recordContainer filters for data where the stored parent-fields have values dependent on the given parameters.
+
+This is useful for building the `ModuleTree_entity` for example. 
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js b/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js
new file mode 100644
index 0000000000..d5381e94ed
--- /dev/null
+++ b/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js
@@ -0,0 +1,21 @@
+import("system.vars");
+import("KeywordRegistry_basic");
+import("system.result");
+import("system.neon");
+
+switch(vars.getString("$field.TASK_PRIORITY"))
+{
+    case $KeywordRegistry.taskPriority$none():
+        result.string(neon.PRIORITY_NONE_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$low():
+        result.string(neon.PRIORITY_LOW_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$medium():
+        result.string(neon.PRIORITY_MEDIUM_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$high():
+        result.string(neon.PRIORITY_HIGH_COLOR);
+        break;
+}
+
diff --git a/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js b/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js
index d5381e94ed..a769772aeb 100644
--- a/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js
+++ b/entity/SupportTicket_entity/entityfields/task_priority_icon/colorProcess.js
@@ -1,21 +1,4 @@
 import("system.vars");
-import("KeywordRegistry_basic");
 import("system.result");
-import("system.neon");
-
-switch(vars.getString("$field.TASK_PRIORITY"))
-{
-    case $KeywordRegistry.taskPriority$none():
-        result.string(neon.PRIORITY_NONE_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$low():
-        result.string(neon.PRIORITY_LOW_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$medium():
-        result.string(neon.PRIORITY_MEDIUM_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$high():
-        result.string(neon.PRIORITY_HIGH_COLOR);
-        break;
-}
 
+result.string(vars.get("$field.TASK_ICON_COLOR"))
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
index a3fb601aa0..1cc6eb48ac 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
@@ -28,5 +28,8 @@ if (vars.get("$param.RowId_param") && vars.get("$param.ObjectId_param"))
                             , SqlBuilder.IN());
 }
 
+cond.andIfSet("TASK.PARENT_ID", "$param.ParentId_param");
+cond.andIfSet("TASK.PARENT_CONTEXT", "$param.ParentContext_param");
+
 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
 result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 9a00aa3164..0ed30f9267 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -469,6 +469,40 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityProvider>
+      <name>TaskChildren</name>
+      <documentation>%aditoprj%/entity/Task_entity/entityfields/taskchildren/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentContext_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>FilterOnlyOwnTask_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ParentId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>PresetLinks_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityField>
+      <name>ICON_COLOR</name>
+      <valueProcess>%aditoprj%/entity/Task_entity/entityfields/icon_color/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Task_entity/entityfields/icon_color/valueProcess.js b/entity/Task_entity/entityfields/icon_color/valueProcess.js
new file mode 100644
index 0000000000..f15523e724
--- /dev/null
+++ b/entity/Task_entity/entityfields/icon_color/valueProcess.js
@@ -0,0 +1,21 @@
+import("system.vars");
+import("KeywordRegistry_basic");
+import("system.result");
+import("system.neon");
+
+switch(vars.getString("$field.PRIORITY"))
+{
+    case $KeywordRegistry.taskPriority$none():
+        result.string(neon.PRIORITY_NONE_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$low():
+        result.string(neon.PRIORITY_LOW_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$medium():
+        result.string(neon.PRIORITY_MEDIUM_COLOR);
+        break;
+    case $KeywordRegistry.taskPriority$high():
+        result.string(neon.PRIORITY_HIGH_COLOR);
+        break;
+}
+
diff --git a/entity/Task_entity/entityfields/priority_icon/colorProcess.js b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
index a78d7b1ee7..f40ca24aed 100644
--- a/entity/Task_entity/entityfields/priority_icon/colorProcess.js
+++ b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
@@ -1,21 +1,4 @@
 import("system.vars");
-import("KeywordRegistry_basic");
 import("system.result");
-import("system.neon");
-
-switch(vars.getString("$field.PRIORITY"))
-{
-    case $KeywordRegistry.taskPriority$none():
-        result.string(neon.PRIORITY_NONE_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$low():
-        result.string(neon.PRIORITY_LOW_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$medium():
-        result.string(neon.PRIORITY_MEDIUM_COLOR);
-        break;
-    case $KeywordRegistry.taskPriority$high():
-        result.string(neon.PRIORITY_HIGH_COLOR);
-        break;
-}
 
+result.string(vars.get("$field.ICON_COLOR"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/taskchildren/documentation.adoc b/entity/Task_entity/entityfields/taskchildren/documentation.adoc
new file mode 100644
index 0000000000..13806cbe8e
--- /dev/null
+++ b/entity/Task_entity/entityfields/taskchildren/documentation.adoc
@@ -0,0 +1,5 @@
+Provides Tasks that are children of a given record.
+
+The recordContainer filters for data where the stored parent-fields have values dependent on the given parameters.
+
+This is useful for building the `ModuleTree_entity` for example. 
\ No newline at end of file
diff --git a/entity/Task_entity/recordcontainers/db/conditionProcess.js b/entity/Task_entity/recordcontainers/db/conditionProcess.js
index aeaf998bec..d8acb4d11f 100644
--- a/entity/Task_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Task_entity/recordcontainers/db/conditionProcess.js
@@ -26,6 +26,8 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.
                                 .and("TASKLINK.OBJECT_TYPE", "$param.ObjectId_param")
                             , SqlBuilder.IN());
 }
+cond.andIfSet("TASK.PARENT_ID", "$param.ParentId_param");
+cond.andIfSet("TASK.PARENT_CONTEXT", "$param.ParentContext_param");
 
 if (loadNothing)
 {
@@ -44,7 +46,7 @@ else
                 )
         );
     }
-    cond.and(protectionLevelCondition)
+    cond.and(protectionLevelCondition);
   
     //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
     result.string(cond.toString());
diff --git a/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
index 4dcf1f49a4..6dc1c376ae 100644
--- a/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
+++ b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
@@ -53,6 +53,7 @@
       <linkedColumns>
         <element>TASK_SUBJECT</element>
       </linkedColumns>
+      <fixedFilterFields />
       <title></title>
       <columns>
         <neonTableColumn>
@@ -99,6 +100,8 @@
       <linkedColumns>
         <element>TASK_SUBJECT</element>
       </linkedColumns>
+      <defaultGroupFields />
+      <fixedFilterFields />
       <columns>
         <neonTreeTableColumn>
           <name>32792588-0db9-4a67-a9e8-e1ba0c78f109</name>
-- 
GitLab


From 5405b0063b10be7d1a827d95510def031412eb26 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Tue, 29 Sep 2020 19:31:22 +0200
Subject: [PATCH 115/251] =?UTF-8?q?#1065960-KampagneKopieren=20Werte=20k?=
 =?UTF-8?q?=C3=B6nnen=20ver=C3=A4ndert=20werden?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Campaign_entity/entityfields/description/valueProcess.js | 2 +-
 .../entityfields/employee_contact_id/valueProcess.js            | 2 +-
 entity/Campaign_entity/entityfields/name/valueProcess.js        | 2 +-
 entity/Campaign_entity/entityfields/status/valueProcess.js      | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/entity/Campaign_entity/entityfields/description/valueProcess.js b/entity/Campaign_entity/entityfields/description/valueProcess.js
index 65e38624eb..f410607cb7 100644
--- a/entity/Campaign_entity/entityfields/description/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/description/valueProcess.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.description_param") && vars.get("$param.description_param")) 
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.description_param") && vars.get("$param.description_param") && !vars.get("$this.value")) 
 {
     result.string(vars.get("$param.description_param"));
 }
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
index 2f4b53c92d..04046053e3 100644
--- a/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
@@ -5,7 +5,7 @@ import("Employee_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) 
 {
-    if(vars.exists("$param.emplContactId_param") && vars.get("$param.emplContactId_param"))
+    if(vars.exists("$param.emplContactId_param") && vars.get("$param.emplContactId_param") && !vars.get("$this.value"))
         result.string(vars.get("$param.emplContactId_param"));
     else if(vars.get("$this.value") == null)
         result.string(EmployeeUtils.getCurrentContactId());
diff --git a/entity/Campaign_entity/entityfields/name/valueProcess.js b/entity/Campaign_entity/entityfields/name/valueProcess.js
index da922d4af5..2c8e28aa36 100644
--- a/entity/Campaign_entity/entityfields/name/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/name/valueProcess.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.name_param") && vars.get("$param.name_param")) 
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.name_param") && vars.get("$param.name_param") && !vars.get("$this.value")) 
 {
     result.string(vars.get("$param.name_param"));
 }
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/status/valueProcess.js b/entity/Campaign_entity/entityfields/status/valueProcess.js
index 2593cb9a98..e772e08d2c 100644
--- a/entity/Campaign_entity/entityfields/status/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/status/valueProcess.js
@@ -5,7 +5,7 @@ import("KeywordRegistry_basic");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    if(vars.exists("$param.state_param") && vars.get("$param.state_param"))
+    if(vars.exists("$param.state_param") && vars.get("$param.state_param") && !vars.get("$this.value"))
         result.string(vars.get("$param.state_param"));
     else if (vars.get("$this.value") == null)
         result.string($KeywordRegistry.campaignState$planning());
-- 
GitLab


From e6164c03fa64bea72ad4800e31691cc3f6c4c254 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Wed, 30 Sep 2020 05:45:48 +0000
Subject: [PATCH 116/251] #1065071 employee role

---
 entity/Document_entity/Document_entity.aod                    | 1 +
 .../DocumentMultipleEdit_view/DocumentMultipleEdit_view.aod   | 4 ++++
 neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod      | 4 ++++
 3 files changed, 9 insertions(+)

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index d8be2569e0..420157a371 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -111,6 +111,7 @@
     <entityField>
       <name>KEYWORD</name>
       <title>Keyword</title>
+      <state>INVISIBLE</state>
     </entityField>
     <entityField>
       <name>ICON</name>
diff --git a/neonView/DocumentMultipleEdit_view/DocumentMultipleEdit_view.aod b/neonView/DocumentMultipleEdit_view/DocumentMultipleEdit_view.aod
index 26aa81b5f3..f7e201e275 100644
--- a/neonView/DocumentMultipleEdit_view/DocumentMultipleEdit_view.aod
+++ b/neonView/DocumentMultipleEdit_view/DocumentMultipleEdit_view.aod
@@ -28,6 +28,10 @@
           <name>ab509c66-f72a-46b5-af5d-2b5620506bf5</name>
           <entityField>IS_MAIN_DOCUMENT</entityField>
         </neonGenericMultipleTableColumn>
+        <neonGenericMultipleTableColumn>
+          <name>48912651-0c8f-42f1-ba85-99ed5566e36f</name>
+          <entityField>KEYWORD</entityField>
+        </neonGenericMultipleTableColumn>
       </columns>
     </genericMultipleViewTemplate>
   </children>
diff --git a/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod b/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
index c3b40d1ec2..a7b67bdd57 100644
--- a/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
+++ b/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
@@ -17,6 +17,10 @@
           <entityField>ROLE</entityField>
           <fullWidth v="true" />
         </neonGenericMultipleTableColumn>
+        <neonGenericMultipleTableColumn>
+          <name>18831921-1ab2-474c-a9a7-482a62140c45</name>
+          <entityField>UID</entityField>
+        </neonGenericMultipleTableColumn>
       </columns>
     </genericMultipleViewTemplate>
   </children>
-- 
GitLab


From d164a530f2750b30042b085128209552cd742c77 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 30 Sep 2020 07:14:08 +0000
Subject: [PATCH 117/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201063698][Aufgabe/Aktivit=C3=A4t=20aus=20Termin=20erst?=
 =?UTF-8?q?ellen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../newactivity/onActionProcess.js            | 34 ++++++++++---------
 process/ActivityTask_lib/process.js           | 26 ++++++++++++++
 2 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js b/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
index dee096dc42..58834f8f20 100644
--- a/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
+++ b/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
@@ -1,23 +1,25 @@
-import("system.db");
 import("KeywordRegistry_basic");
-import("Contact_lib");
 import("system.vars");
 import("ActivityTask_lib");
-import("Context_lib");
-import("Sql_lib");
+import("system.entities");
 
-var uid = vars.get("$field.UID");
+var appointmentLinkConfig = entities.createConfigForLoadingConsumerRows().consumer("AppointmentLinks")
+                                                                         .fields(["OBJECTID", "OBJECTTYPE"]);
+var appointmentLinks = entities.getRows(appointmentLinkConfig);
 
-var objectdata = newSelect("OBJECT_TYPE, OBJECT_ROWID")
-    .from("AB_APPOINTMENTLINK")
-    .where("AB_APPOINTMENTLINK.APPOINTMENT_ID", "$field.UID")
-    .arrayRow();
-
-var links = [];
-
-if (objectdata.length > 0)
-{
-    links.push(objectdata);
+//filter only for objectTypes that may bet set in Activity (In AppointmentLink_entity there can be linked more objects than in the ActivityLink_entity)
+//this needs to be done if links exists, otherwise we can spare this for better performance
+if (appointmentLinks.length > 0)
+{    
+    var availableActivityObjectTypesSet = ActivityUtils.getLinkableObjectTypes();
+    var links = [];
+    appointmentLinks.forEach(function(appointmentLink){
+        var linkType = appointmentLink["OBJECTTYPE"];
+        var isLinkableType = availableActivityObjectTypesSet.has(linkType);
+        if (isLinkableType)
+            links.push([linkType, appointmentLink["OBJECTID"]]);
+    });
 }
 
-ActivityUtils.createNewActivity(undefined, links, ContextUtils.getCurrentContextId(), vars.get("$field.UID"), vars.get("$field.SUMMARY"), vars.get("$field.DESCRIPTION"), $KeywordRegistry.activityDirection$outgoing());
+//pParentContext and pParentId have been set to null because an appoint can not be the predecessor of an activity at the moment
+ActivityUtils.createNewActivity(undefined, links, null, null, vars.get("$field.SUMMARY"), vars.get("$field.DESCRIPTION"), $KeywordRegistry.activityDirection$outgoing());
diff --git a/process/ActivityTask_lib/process.js b/process/ActivityTask_lib/process.js
index b3b2b927cb..9f832ead82 100644
--- a/process/ActivityTask_lib/process.js
+++ b/process/ActivityTask_lib/process.js
@@ -1,3 +1,4 @@
+import("system.entities");
 import("system.vars");
 import("system.util");
 import("system.datetime");
@@ -24,6 +25,31 @@ import("Context_lib");
  */
 function ActivityUtils() {}
 
+
+/**
+ * Determines object types (=context ids) by loading them from the Context_entity.ActivityLinkable provider.
+  * 
+ * @return {Set}    <br/>Set that contains the context ids as string elements
+ * @example
+ * var linkableTypes = ActivityUtils.getLinkableObjectTypes();
+ * linkableTypes.has("Organisation");//true
+ * linkableTypes.has("Actvity");//false
+ */
+ActivityUtils.getLinkableObjectTypes = function()
+{
+    var entityConfig = entities.createConfigForLoadingRows().entity("Context_entity")
+        .fields(["UID"])//UID contains the technical name
+        .provider("ActivityLinkable");
+    var availableActivityObjectTypes = entities.getRows(entityConfig);
+    var res = new Set();
+    for (var i = 0, l = availableActivityObjectTypes.length; i < l; i++)
+    {
+        if (availableActivityObjectTypes[i]["UID"])
+            res.add(availableActivityObjectTypes[i]["UID"]);
+    }
+    return res;
+};
+
 /**
  * Create a new activity within the database-scope.
  * This funciton will insert a complete new activity into the database.
-- 
GitLab


From 210bed445c52438d8e4ca0b5a0a6fccd4ec73752 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 29 Sep 2020 11:30:14 +0200
Subject: [PATCH 118/251] Languages: new keys

---
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod | 6 ++++++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod       | 3 +++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       | 6 ++++++
 3 files changed, 15 insertions(+)

diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 004a8e9c85..70cd0f715d 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7260,6 +7260,12 @@
     <entry>
       <key>The start date has to be before the end date.</key>
     </entry>
+    <entry>
+      <key>Serial Actions</key>
+    </entry>
+    <entry>
+      <key>FavoriteGroup</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 48bf736900..31cf3abdb9 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9633,6 +9633,9 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>ab 1000</key>
     </entry>
+    <entry>
+      <key>FavoriteGroup</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 70e39b51f2..64945d9c0e 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7341,6 +7341,12 @@
     <entry>
       <key>The start date has to be before the end date.</key>
     </entry>
+    <entry>
+      <key>Serial Actions</key>
+    </entry>
+    <entry>
+      <key>FavoriteGroup</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From bbdcff0b0216fec6af274c87b3c78101f5efeb07 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 30 Sep 2020 11:10:29 +0200
Subject: [PATCH 119/251] 360Degree_entity supports no the $local.idvalues
 variable

---
 .../recordcontainers/jdito/contentProcess.js  | 39 +++++++++++++++++--
 process/Context_lib/process.js                |  5 ++-
 2 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
index 60a8312eb2..3014803809 100644
--- a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
@@ -25,7 +25,12 @@ if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param"
     
     var contextList = JSON.parse(vars.getString("$param.ObjectType_param"));
     var contactId = vars.get("$param.ObjectRowId_param");
-    result.object(_get360Data(selectMap, contactId, contextList, active));   
+    var idValues;
+    if (vars.exists("$local.idvalues"))
+        idValues = vars.get("$local.idvalues");
+    
+    var res =  _get360Data(selectMap, contactId, contextList, active, idValues);
+    result.object(res);   
 } 
 else
 {
@@ -38,15 +43,40 @@ else
  * @param {String[]} pContactId the Contactid the 360 Degree tree should be loaded for
  * @param {String[]} pContextList list of contexts to load. Note that subcontexts use their own list, defined in ContextUtils
  * @param {Boolean} [pActive=undefined] if not undefined: it select only for active / inactive state
+ * @param {Array} [pUids=undefined] uids of the 360° entity that are used for filtering, each rowId needs the format: 
+ *                                    {id: "«rowid»", type: "«context id»"}
  *  
  *  @return {String[][]} the resulting data
  */
-function _get360Data(pSelectMap, pContactId, pContextList, pActive)
+function _get360Data(pSelectMap, pContactId, pContextList, pActive, pUids)
 {   
+    //if there are uids for filtering, group them per context:
+    var uidContextMap = new Map();//Map where key is the type (contextname) and value is an array of the rowIds for that type
+    if (pUids)
+    {
+        pUids.forEach(function (uid){
+            uid = JSON.parse(uid);
+            if (uidContextMap.has(uid.type))
+                uidContextMap.get(uid.type).push(uid.id);
+            else
+                uidContextMap.set(uid.type, [uid.id]);
+        });
+    }
+
     var resultList = [];
     pContextList.forEach(function (context) 
     {
-        var data = db.table(ContextUtils.getContextDataSql(context, JSON.parse(pContactId), true, pActive, true, true));
+        var rowIds;
+        if (pUids)
+        {
+            //when a Uid-filter exists, but there is no context for filtering we can skip that context, 
+            //otherwise we need to filter for the found row ids of that context
+            if (!uidContextMap.has(context))
+                return;
+            else
+                rowIds = uidContextMap.get(context);
+        }
+        var data = db.table(ContextUtils.getContextDataSql(context, JSON.parse(pContactId), true, pActive, true, true, rowIds));
         data.forEach(function (row) 
         {
             var active;
@@ -64,8 +94,9 @@ function _get360Data(pSelectMap, pContactId, pContextList, pActive)
             if(groupBy == "")
                 groupBy = ContextUtils.getEntityTitle(context, true);
             
+            var uid = JSON.stringify({id: row[0], type: context});
             resultList.push([
-                util.getNewUUID(), // UID
+                uid, // UID
                 row[0], // TARGET_ID
                 context, // TARGET_CONTEXT
                 row[1], // TITLE
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 38f64a6d9c..f65180f1d1 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -662,7 +662,7 @@ ContextUtils.getContactId = function(pContextId, pRowId)
  * nur 360
  * 
  */
-ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pActive, pWithState, pWithGroupBy)
+ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pActive, pWithState, pWithGroupBy, pUidsForFiltering)
 {
     var selectMap = ContextUtils.getSelectMap();
     var ownContextSelector = selectMap[pContextId];
@@ -689,7 +689,8 @@ ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pAc
 
     var contextDataSelect = newSelect( columns.join(", ") )
                                 .from(ownContextSelector.getFullFromClause())
-                                .where(ownContextSelector.getFullField(ownContextSelector.contactIdField), pContactId, SqlBuilder.IN());
+                                .where(ownContextSelector.getFullField(ownContextSelector.contactIdField), pContactId, SqlBuilder.IN())
+                                .andIfSet(ownContextSelector.getFullIdField(), pUidsForFiltering, SqlBuilder.IN());
     
     if (pActive != undefined)
     {
-- 
GitLab


From e0a9604c42a7f4579f776af1fe32b6d4805230ff Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 30 Sep 2020 11:20:31 +0200
Subject: [PATCH 120/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1062069][Dokumentemappe, Kachelansicht: Preview statt Icon anzeigen]

---
 .../recordcontainers/jdito/contentProcess.js                | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/entity/Document_entity/recordcontainers/jdito/contentProcess.js b/entity/Document_entity/recordcontainers/jdito/contentProcess.js
index 6481d977a0..1d34f32095 100644
--- a/entity/Document_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Document_entity/recordcontainers/jdito/contentProcess.js
@@ -25,9 +25,11 @@ if(vars.exists("$param.AssignmentTable_param") &&
         metadata = db.getBinaryMetadata(assignmentTable, assignmentName || "", assignmentRowId, true, alias, keyword);    
 
     // Iterate through found binary data and populate result array    
-    for( var i = 0; i < metadata.length; i++) {
+    for( var i = 0; i < metadata.length; i++) 
+    {
+        var previewAvatar = metadata[i].preview || "VAADIN:FILE";
         documents.push( [metadata[i].id, metadata[i].filename, metadata[i].size, 
-            metadata[i].edit, metadata[i].preview, metadata[i].mimetype, 
+            metadata[i].edit, previewAvatar, metadata[i].mimetype, 
             metadata[i].description, metadata[i].keyword]);
     }
 
-- 
GitLab


From 689ad4ed96bb39b09257678ea7a1355f8c7be0fa Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Wed, 30 Sep 2020 14:10:23 +0200
Subject: [PATCH 121/251] #1063970-360GradPreview Aktuallisiert Tabelle

---
 entity/360Degree_entity/360Degree_entity.aod | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index 87fc35a2bf..ada8b45cf5 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -4,8 +4,18 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/360Degree_entity/documentation.adoc</documentation>
   <title>360 Degree</title>
+  <siblings>
+    <element>Offer_entity</element>
+    <element>Salesproject_entity</element>
+    <element>Contract_entity</element>
+    <element>CampaignParticipant_entity</element>
+    <element>SupportTicket_entity</element>
+    <element>Order_entity</element>
+    <element>Campaign_entity</element>
+  </siblings>
   <grantUpdate v="false" />
   <grantDelete v="false" />
+  <metadata>%aditoprj%/entity/360Degree_entity/metadata.js</metadata>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
-- 
GitLab


From 5155931933ef7873ef7701ceb703d1ddc0c4a133 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Wed, 30 Sep 2020 14:38:28 +0200
Subject: [PATCH 122/251] #1063408-FixBulkmail neon.refresh entfernt

---
 entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js | 2 --
 1 file changed, 2 deletions(-)

diff --git a/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js b/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
index d0d6d13510..7626ea2ecb 100644
--- a/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
@@ -30,8 +30,6 @@ if (template && template.content && BulkMailUtils.isValidTemplateType(template.t
         template.filename = bulkMailName + ".html";
     
     SingleBinaryUtils.set("BULKMAIL", "DOCUMENT", vars.get("$local.uid"), template.content, template.filename);
-    
-    neon.refresh(["$field.content"]);
 }
 
 WorkflowSignalSender.updated();
\ No newline at end of file
-- 
GitLab


From 5a690af40fa5b2ccd4fd8411a256ff998d7576b5 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 30 Sep 2020 16:02:28 +0200
Subject: [PATCH 123/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065737][Dublettenkonfiguration=20kann=20nicht=20mehr?=
 =?UTF-8?q?=20gel=C3=B6scht=20werden]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/DuplicateScanner_entity/DuplicateScanner_entity.aod  | 3 +++
 entity/DuplicateScanner_entity/grantCreateProcess.js        | 6 ++++++
 .../DuplicateScannerFilter_view.aod                         | 4 +++-
 3 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 entity/DuplicateScanner_entity/grantCreateProcess.js

diff --git a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
index 98691a7490..f7c25714e6 100644
--- a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
+++ b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
@@ -4,6 +4,9 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/DuplicateScanner_entity/documentation.adoc</documentation>
   <title>Duplicate Configuration</title>
+  <grantCreate v="false" />
+  <grantCreateProcess>%aditoprj%/entity/DuplicateScanner_entity/grantCreateProcess.js</grantCreateProcess>
+  <grantDelete v="false" />
   <iconId>VAADIN:COG_O</iconId>
   <titlePlural>Configurations</titlePlural>
   <recordContainer>DBRecordContainer</recordContainer>
diff --git a/entity/DuplicateScanner_entity/grantCreateProcess.js b/entity/DuplicateScanner_entity/grantCreateProcess.js
new file mode 100644
index 0000000000..333152c51c
--- /dev/null
+++ b/entity/DuplicateScanner_entity/grantCreateProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+
+//While it is absolutely legal to add more configurations for other entities we do not want to enable the option for the user for security reasons.
+//This is no problem because if other entities want to implement duplicate recogniition it is required to customize the system anyway, and when 
+//this is done the developer can insert the duplicate scanner record.
+result.string(false);
\ No newline at end of file
diff --git a/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod b/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
index 1ffb18b8f7..69992ae5ab 100644
--- a/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
+++ b/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
@@ -13,7 +13,7 @@
       <favoriteActionGroup2></favoriteActionGroup2>
       <favoriteActionGroup3>RunActionGroup</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
-      <isCreatable v="true" />
+      <isCreatable v="false" />
       <isDeletable v="false" />
       <isEditable v="true" />
       <columns>
@@ -31,6 +31,8 @@
       <name>Treetable</name>
       <favoriteActionGroup3>RunActionGroup</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
+      <isCreatable v="false" />
+      <isDeletable v="false" />
       <columns>
         <neonTreeTableColumn>
           <name>2ce9962e-4e3e-4cd6-b391-0f61505459f4</name>
-- 
GitLab


From 1b30aa26c022aa5be442d06da6c3edd921fde399 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 30 Sep 2020 16:07:25 +0200
Subject: [PATCH 124/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065737][Dublettenkonfiguration=20kann=20nicht=20mehr?=
 =?UTF-8?q?=20gel=C3=B6scht=20werden]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/DuplicateScanner_entity/DuplicateScanner_entity.aod     | 1 +
 .../entityfields/runactiongroup/documentation.adoc             | 1 +
 .../DuplicateScannerFilter_view.aod                            | 3 ---
 3 files changed, 2 insertions(+), 3 deletions(-)
 create mode 100644 entity/DuplicateScanner_entity/entityfields/runactiongroup/documentation.adoc

diff --git a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
index f7c25714e6..fb343c9aa3 100644
--- a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
+++ b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
@@ -88,6 +88,7 @@
     </entityConsumer>
     <entityActionGroup>
       <name>RunActionGroup</name>
+      <documentation>%aditoprj%/entity/DuplicateScanner_entity/entityfields/runactiongroup/documentation.adoc</documentation>
       <children>
         <entityActionField>
           <name>RebuildPersonDuplicatesCache</name>
diff --git a/entity/DuplicateScanner_entity/entityfields/runactiongroup/documentation.adoc b/entity/DuplicateScanner_entity/entityfields/runactiongroup/documentation.adoc
new file mode 100644
index 0000000000..f998dfcc78
--- /dev/null
+++ b/entity/DuplicateScanner_entity/entityfields/runactiongroup/documentation.adoc
@@ -0,0 +1 @@
+Since duplicate caching is disabled there is no need  to show this action group within views at the moment.
\ No newline at end of file
diff --git a/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod b/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
index 69992ae5ab..e70f21cbb4 100644
--- a/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
+++ b/neonView/DuplicateScannerFilter_view/DuplicateScannerFilter_view.aod
@@ -10,8 +10,6 @@
   <children>
     <tableViewTemplate>
       <name>Filters</name>
-      <favoriteActionGroup2></favoriteActionGroup2>
-      <favoriteActionGroup3>RunActionGroup</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
       <isCreatable v="false" />
       <isDeletable v="false" />
@@ -29,7 +27,6 @@
     </tableViewTemplate>
     <treeTableViewTemplate>
       <name>Treetable</name>
-      <favoriteActionGroup3>RunActionGroup</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
       <isCreatable v="false" />
       <isDeletable v="false" />
-- 
GitLab


From bd02151665f9102db172385017ca856cd2fa1710 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 30 Sep 2020 16:17:09 +0200
Subject: [PATCH 125/251] Fix: wrong color exception if no color was given

---
 entity/Task_entity/entityfields/priority_icon/colorProcess.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/entity/Task_entity/entityfields/priority_icon/colorProcess.js b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
index f40ca24aed..c8bbe213f0 100644
--- a/entity/Task_entity/entityfields/priority_icon/colorProcess.js
+++ b/entity/Task_entity/entityfields/priority_icon/colorProcess.js
@@ -1,4 +1,6 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.ICON_COLOR"));
\ No newline at end of file
+var color = vars.get("$field.ICON_COLOR")
+if (color)
+    result.string(color);
\ No newline at end of file
-- 
GitLab


From f64f213b429c91a9dd7f1fa1ac1c8713dbdca778 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 29 Sep 2020 12:03:58 +0200
Subject: [PATCH 126/251] DuplicateScanner_lib changes to follow coding
 guidelines

---
 .../onActionProcess.js                        |   4 +-
 .../onActionProcess.js                        |   4 +-
 .../testduplicatescanner/onActionProcess.js   |  10 +-
 .../recordcontainers/db/onDBInsert.js         |   2 +-
 process/DuplicateScanner_lib/process.js       | 104 +++++++-----------
 process/Leadimport_lib/process.js             |   4 +-
 .../process.js                                |   6 +-
 .../process.js                                |   4 +-
 8 files changed, 59 insertions(+), 79 deletions(-)

diff --git a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
index c2cbeb99e9..bbe3de9139 100644
--- a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
@@ -4,13 +4,13 @@ import("DuplicateScanner_lib");
 
 var filterName = "OrganisationDuplicates";
 var targetEntity = "Organisation_entity";
-var recordBlockSize = DuplicateScannerUtils.GetBlockSize();
+var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
-DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
+DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
 DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
diff --git a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
index b678496914..4b3d2c9bc6 100644
--- a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
@@ -4,13 +4,13 @@ import("DuplicateScanner_lib");
 
 var filterName = "PersonDuplicates";
 var targetEntity = "Person_entity";
-var recordBlockSize = DuplicateScannerUtils.GetBlockSize();
+var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
-DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
+DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
 DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
diff --git a/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
index 17f12757ab..47a4d2b39f 100644
--- a/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
@@ -165,7 +165,7 @@ import("JditoFilter_lib");
 //DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity("Person_entity");
 //
 //logging.log("Neu berechnen von PERSON Dubletten -> ");
-//DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
+//DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
 //tmpFieldsInFilterRay, resultFieldsIdFieldName);
 //
 //DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
@@ -185,7 +185,7 @@ import("JditoFilter_lib");
 //DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity)
 //
 //logging.log("Neu berechnen von ORGANISATION Dubletten -> ");
-//DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
+//DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
 //tmpFieldsInFilterRay, resultFieldsIdFieldName);
 //
 //DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
@@ -197,7 +197,7 @@ import("JditoFilter_lib");
 //var targetEntity = "Person_entity";
 //
 //let duplicateFieldsConfig = DuplicateScannerUtils.LoadIndexFieldsConfiguration(filterName, targetEntity);
-//let resultFields = DuplicateScannerUtils.LoadResultFields(filterName, targetEntity);
+//let resultFields = DuplicateScannerUtils.getResultFields(filterName, targetEntity);
 //
 //logging.log("duplicateFieldsConfig -> " + duplicateFieldsConfig);
 //logging.log("resultFields -> " + resultFields);
@@ -233,7 +233,7 @@ import("JditoFilter_lib");
 //};
 //
 //logging.log("Neu berechnen von PERSON Dubletten -> ");
-//DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, queryPersonFieldData,
+//DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonFieldData,
 //duplicateFieldsConfig, resultFields, formatToJsonAndCallWsCallback);
 //
 //DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
@@ -329,7 +329,7 @@ import("JditoFilter_lib");
 //
 //var filterName = "PersonDuplicates";
 //var targetEntity = "Person_entity";
-//DuplicateScannerUtils.LoadEntityRecords(targetEntity, entityFieldsToLoad, 0, 50);
+//DuplicateScannerUtils.getEntityRecords(targetEntity, entityFieldsToLoad, 0, 50);
 
 //Beispiel 1: 
 //Feld mit verknüpftem Consumer
diff --git a/entity/Person_entity/recordcontainers/db/onDBInsert.js b/entity/Person_entity/recordcontainers/db/onDBInsert.js
index b0ba83b532..8a497d507e 100644
--- a/entity/Person_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Person_entity/recordcontainers/db/onDBInsert.js
@@ -42,7 +42,7 @@ WorkflowSignalSender.inserted();
 ////If we found duplicates, cache them
 //if(scanResults != null && scanResults.length > 0)
 //{
-//    let insertCount = DuplicateScannerUtils.CacheNewScanResults(contactId, scanResults, targetEntity);
+//    let insertCount = DuplicateScannerUtils.cacheNewScanResults(contactId, scanResults, targetEntity);
 //    logging.log("insertCount -> " + insertCount);
 //
 //    let userId = EmployeeUtils.getCurrentUserId();
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index b8df3fa9c7..23be5bb109 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -50,20 +50,15 @@ DuplicateScannerUtils.loadFilters = function(pFilterName, pTargetEntity)
  */
 DuplicateScannerUtils.DeleteCachedDuplicate = function(pDuplicateId)
 {
-
-
-    var query = newSelect("count(ID), CLUSTERID")
+    var [countDuplicatesInClusterWithoutParameterId, clusterId] = newSelect("count(ID), CLUSTERID")
                     .from("DUPLICATECLUSTERS")
                     .where("DUPLICATECLUSTERS.CLUSTERID", newSelect("CLUSTERID")
                                                             .from("DUPLICATECLUSTERS")
                                                             .where("DUPLICATECLUSTERS.DUPLICATEID", pDuplicateId).build(),
                                                         SqlBuilder.IN())
                     .and("DUPLICATECLUSTERS.DUPLICATEID", pDuplicateId, SqlBuilder.NOT_EQUAL())
-                    .groupBy("CLUSTERID");
-
-    var countAndClusterId = query.arrayRow();
-    let countDuplicatesInClusterWithoutParameterId = countAndClusterId[0];
-    let clusterId = countAndClusterId[1];
+                    .groupBy("CLUSTERID")
+                    .arrayRow();
 
     //If only one duplicate would be remaining,
     //the whole cluster has to be deleted because there are no more duplicates.
@@ -71,16 +66,12 @@ DuplicateScannerUtils.DeleteCachedDuplicate = function(pDuplicateId)
     //therefore check for smaller/equals 1
     if(countDuplicatesInClusterWithoutParameterId <= 1)
     {
-        let deleteStatements = [];
-        deleteStatements.push(["DUPLICATECLUSTERS", newWhere("DUPLICATECLUSTERS.CLUSTERID", clusterId).build()]);
-        deleteStatements.push(["UNRELATEDDUPLICATES", newWhere("UNRELATEDDUPLICATES.CLUSTERID", clusterId).build()]);
-
-        db.deletes(deleteStatements);
+        newWhere("DUPLICATECLUSTERS.CLUSTERID", clusterId).deleteData();
+        newWhere("UNRELATEDDUPLICATES.CLUSTERID", clusterId).deleteData();
     }
     else
     {
-        newWhereIfSet("DUPLICATECLUSTERS.DUPLICATEID", pDuplicateId)
-            .deleteData(true, "DUPLICATECLUSTERS");
+        newWhereIfSet("DUPLICATECLUSTERS.DUPLICATEID", pDuplicateId).deleteData();
 
         //Delete all records where this duplicateId is mentioned
         DuplicateScannerUtils.DeleteAllUnrelatedDuplicateRelations(pDuplicateId);
@@ -96,8 +87,7 @@ DuplicateScannerUtils.DeleteCachedDuplicate = function(pDuplicateId)
  */
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity = function(pTargetEntity)
 {
-    return newWhereIfSet("DUPLICATECLUSTERS.TARGET_ENTITY", pTargetEntity)
-                .deleteData(true, "DUPLICATECLUSTERS");
+    return newWhereIfSet("DUPLICATECLUSTERS.TARGET_ENTITY", pTargetEntity).deleteData();
 }
 
 /*
@@ -114,29 +104,20 @@ DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations = function(pTargetEntit
     /*
      * Update all records with the current valid clusterId where the same duplicateId combination exists
      */
-    let INDEX_NEW_CLUSTERID = 0;
-    let INDEX_OLD_CLUSTERID = 1;
-
-    let query = newSelect("dc1.CLUSTERID, ud.CLUSTERID")
+    let clusterIdChanges = newSelect("dc1.CLUSTERID, ud.CLUSTERID")
                     .from("UNRELATEDDUPLICATES", "ud")
                     .join("DUPLICATECLUSTERS", "dc1.DUPLICATEID = ud.SOURCEDUPLICATEID", "dc1")
                     .join("DUPLICATECLUSTERS", "dc2.DUPLICATEID = ud.UNRELATEDDUPLICATEID", "dc2")
-                    .where(["DUPLICATECLUSTERS", "TARGET_ENTITY", "dc1"], pTargetEntity);
-
-    let newIdOldIdRay = query.table();
-    let updateStatements = [];
+                    .where(["DUPLICATECLUSTERS", "TARGET_ENTITY", "dc1"], pTargetEntity)
+                    .table();
 
-    //Build update statements to set new clusterIds
-    for (let i = 0; i < newIdOldIdRay.length; i++)
+    let updateStatements = clusterIdChanges.map(function ([newClusterId, oldClusterId])
     {
-        let newClusterId = newIdOldIdRay[i][INDEX_NEW_CLUSTERID];
-        let oldClusterId = newIdOldIdRay[i][INDEX_OLD_CLUSTERID];
-        let updateColumns = ["CLUSTERID"];
-
-        let updateStatement = ["UNRELATEDDUPLICATES", updateColumns, null, [newClusterId], newWhere("UNRELATEDDUPLICATES.CLUSTERID", oldClusterId).build()];
-
-        updateStatements.push(updateStatement);
-    }
+        return newWhere("UNRELATEDDUPLICATES.CLUSTERID", oldClusterId).buildUpdateStatement({
+            "CLUSTERID": newClusterId
+        }, "UNRELATEDDUPLICATES");
+    });
+    
     db.updates(updateStatements);
 
     /*
@@ -144,7 +125,7 @@ DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations = function(pTargetEntit
      * All records with a nonexistend clusterid can now be deleted because they haven't been detected as a duplicate any more.
      */
     newWhere("UNRELATEDDUPLICATES.CLUSTERID", newSelect("dc1.CLUSTERID").from("DUPLICATECLUSTERS", "dc1"), SqlBuilder.NOT_IN())
-        .deleteData(true, "UNRELATEDDUPLICATES");
+        .deleteData();
 }
 
 /*
@@ -159,11 +140,11 @@ DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations = function(pTargetEntit
  */
 DuplicateScannerUtils.CreateUnrelatedDuplicateRelation = function(pSourceContactId, pUnrelatedContactId, pClusterId)
 {
-    let newUid = util.getNewUUID();
-    let columns = ["ID", "SOURCEDUPLICATEID", "UNRELATEDDUPLICATEID", "CLUSTERID"];
-    let values = [newUid, pSourceContactId, pUnrelatedContactId, pClusterId];
-
-    return db.insertData("UNRELATEDDUPLICATES", columns, null, values);
+    return new SqlBuilder().insertFields({
+        "UNRELATEDDUPLICATEID": pUnrelatedContactId,
+        "SOURCEDUPLICATEID": pSourceContactId,
+        "CLUSTERID": pClusterId
+    }, "UNRELATEDDUPLICATES", "ID");
 }
 
 /*
@@ -191,7 +172,7 @@ DuplicateScannerUtils.DeleteUnrelatedDuplicateRelation = function(pSourceDuplica
 {
     return newWhere("UNRELATEDDUPLICATES.SOURCEDUPLICATEID", pSourceDuplicateId)
                 .and("UNRELATEDDUPLICATES.UNRELATEDDUPLICATEID", pUnrelatedDuplicateId)
-                .deleteData(true, "UNRELATEDDUPLICATES");
+                .deleteData();
 }
 
 /*
@@ -269,7 +250,7 @@ DuplicateScannerUtils.GetCachedDuplicatesForClusterId = function(pClusterId)
  * @example
  * var filterName = "PersonDuplicates";
  * var targetEntity = "Person_entity";
- * var recordBlockSize = DuplicateScannerUtils.GetBlockSize();
+ * var recordBlockSize = DuplicateScannerUtils.getBlockSize();
  *
  * let formatToJsonAndCallWsCallback = function(pPossibleDuplicatesRay)
  * {
@@ -292,15 +273,15 @@ DuplicateScannerUtils.GetCachedDuplicatesForClusterId = function(pClusterId)
  *
  * DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
  *
- * DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, pRecordsBlockSize, formatToJsonAndCallWsCallback);
+ * DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, pRecordsBlockSize, formatToJsonAndCallWsCallback);
  *
  * DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
  */
-DuplicateScannerUtils.RebuildDuplicatesCache = function(pFilterName, pTargetEntity,
+DuplicateScannerUtils.rebuildDuplicatesCache = function(pFilterName, pTargetEntity,
     pRecordsBlockSize, pFormatValuesConsumeWebserviceCallback)
 {
     let useExternalWebservice = _DuplicateScannerUtils._isUseExternalWebservice(pFilterName, pTargetEntity);
-    let resultFields = DuplicateScannerUtils.LoadResultFields(filterName, targetEntity);
+    let resultFields = DuplicateScannerUtils.getResultFields(filterName, targetEntity);
 
     let indexPattern = _DuplicateScannerUtils._loadIndexPattern(pFilterName, pTargetEntity);
     let entityFieldConfigs = _DuplicateScannerUtils._loadEntityFieldConfigsFromPattern(indexPattern);
@@ -312,13 +293,13 @@ DuplicateScannerUtils.RebuildDuplicatesCache = function(pFilterName, pTargetEnti
 
     entityFields.push(entityIdField);
     
-    let targetRecords = DuplicateScannerUtils.LoadEntityRecords(pTargetEntity, entityFields, 0, pRecordsBlockSize);
+    let targetRecords = DuplicateScannerUtils.getEntityRecords(pTargetEntity, entityFields, 0, pRecordsBlockSize);
 
     let currentRecordIndex = pRecordsBlockSize;
     while(targetRecords.length > 0)
     {
         
-        foundDuplicateIds = DuplicateScannerUtils.ScanRecords(pTargetEntity, targetRecords,
+        foundDuplicateIds = DuplicateScannerUtils.scanRecords(pTargetEntity, targetRecords,
             entityFieldConfigs, resultFields, useExternalWebservice,
             pFormatValuesConsumeWebserviceCallback, alreadyIdentifiedIds, indexPattern, entityIdField);
         
@@ -329,14 +310,14 @@ DuplicateScannerUtils.RebuildDuplicatesCache = function(pFilterName, pTargetEnti
         {
             break;
         }
-        targetRecords = DuplicateScannerUtils.LoadEntityRecords(pTargetEntity, entityFields,
+        targetRecords = DuplicateScannerUtils.getEntityRecords(pTargetEntity, entityFields,
             currentRecordIndex, pRecordsBlockSize);
 
         currentRecordIndex += pRecordsBlockSize;
     }
 }
 
-DuplicateScannerUtils.ScanRecords = function(pTargetEntity, pTargetRecordsData,
+DuplicateScannerUtils.scanRecords = function(pTargetEntity, pTargetRecordsData,
     pEntityFieldConfigs, pResultFields, pUseExternalWebservice, pFormatValuesConsumeWebserviceCallback, pAlreadyIdentifiedIds, pIndexPattern, pEntityIdField)
 {
     let foundDuplicateIds = [];
@@ -398,7 +379,7 @@ DuplicateScannerUtils.ScanRecords = function(pTargetEntity, pTargetRecordsData,
  * @param {String} pTargetEntity Entity which has been configured
  * @returns {String} A clusterid if a matching cluster has been found, otherwise ""
  */
-DuplicateScannerUtils.CacheNewScanResults = function(pNewRecordId, pDuplicateIds, pTargetEntity)
+DuplicateScannerUtils.cacheNewScanResults = function(pNewRecordId, pDuplicateIds, pTargetEntity)
 {
     let duplicateIds = [];
     //Run thru every duplicate result and read out the id. 
@@ -409,7 +390,7 @@ DuplicateScannerUtils.CacheNewScanResults = function(pNewRecordId, pDuplicateIds
         duplicateIds.push(duplicateContactId);
     }
     
-    let clusterId = DuplicateScannerUtils.GetClusterWithIdenticalDuplicates(duplicateIds);
+    let clusterId = DuplicateScannerUtils.getClusterWithIdenticalDuplicates(duplicateIds);
     
     //If no cluster has beend found, create a new one with all found duplicateIds, 
     //otherwise add the id to the existing cluster
@@ -434,7 +415,7 @@ DuplicateScannerUtils.CacheNewScanResults = function(pNewRecordId, pDuplicateIds
  * @param {String[]} pDuplicateIds Duplicate ids which should be in the same cluster
  * @returns {String} Id of the cluster which contains all given duplicate ids or ""
  */
-DuplicateScannerUtils.GetClusterWithIdenticalDuplicates = function(pDuplicateIds)
+DuplicateScannerUtils.getClusterWithIdenticalDuplicates = function(pDuplicateIds)
 {
     let RESULT_NO_CLUSTER_FOUND = "";
 
@@ -473,7 +454,7 @@ DuplicateScannerUtils.GetClusterWithIdenticalDuplicates = function(pDuplicateIds
         return foundClusterId;
 }
 
-DuplicateScannerUtils.LoadEntityRecords = function(pTargetEntity, pEntityFields, pStartRow, pCountRecordsToLoad)
+DuplicateScannerUtils.getEntityRecords = function(pTargetEntity, pEntityFields, pStartRow, pCountRecordsToLoad)
 {
     let getRowsConfig = entities.createConfigForLoadingRows()
     .entity(pTargetEntity)
@@ -489,7 +470,7 @@ DuplicateScannerUtils.LoadEntityRecords = function(pTargetEntity, pEntityFields,
  *  @param {String} pTargetEntity Entity which has been configured
  *  @returns {String[]} Resultfields as array
  */
-DuplicateScannerUtils.LoadResultFields = function(pFilterName, pTargetEntity)
+DuplicateScannerUtils.getResultFields = function(pFilterName, pTargetEntity)
 {
     return newSelect("dsrfc.ENTITY_FIELD_NAME")
                 .from("DUPLICATESCANNERRESULTFIELDCONFIG dsrfc")
@@ -570,11 +551,10 @@ DuplicateScannerUtils.LoadResultFields = function(pFilterName, pTargetEntity)
  * DuplicateScannerUtils.ScanForDuplicates(filterName, targetEntity, valuesToCheck,
  * formatToJsonAndCallWsCallback);
  */
-DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, pValuesToCheck,
-    pFormatValuesConsumeWebserviceCallback)
+DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, pValuesToCheck, pFormatValuesConsumeWebserviceCallback)
 {
     let useExternalWebservice = _DuplicateScannerUtils._isUseExternalWebservice(pFilterName, pTargetEntity);
-    let resultFields = DuplicateScannerUtils.LoadResultFields(pFilterName, pTargetEntity);
+    let resultFields = DuplicateScannerUtils.getResultFields(pFilterName, pTargetEntity);
     
     let indexPattern = _DuplicateScannerUtils._loadIndexPattern(pFilterName, pTargetEntity);
     let entityFieldConfigs = _DuplicateScannerUtils._loadEntityFieldConfigsFromPattern(indexPattern);  
@@ -792,12 +772,12 @@ DuplicateScannerUtils.BuildEntityFieldConfigValueRays = function(pDuplicateField
     return entityFieldConfigValuesRay.length > 0 ? entityFieldConfigValuesRay : [["", ""]];
 }
 
-DuplicateScannerUtils.GetBlockSize = function()
+DuplicateScannerUtils.getBlockSize = function()
 {
     return project.getPreferenceValue("custom.duplicates.dataBlockSize", "5000");
 }
 
-DuplicateScannerUtils.GetEntityFieldsFromConfig = function(pFilterName, pTargetEntity)
+DuplicateScannerUtils.getEntityFieldsFromConfig = function(pFilterName, pTargetEntity)
 {
     let indexPattern = _DuplicateScannerUtils._loadIndexPattern(pFilterName, pTargetEntity);
     if(indexPattern == null || indexPattern == "")
@@ -1027,7 +1007,7 @@ _DuplicateScannerUtils._isUseExternalWebservice = function(pFilterName, pTargetE
  * @param {String} pTargetEntity Entity which has been configured
  * @param {String} pIndexPatternWithValues The pattern used to search. Has to contain the values already.
  * @param {String} pIdFilter The filter pattern used to exclude the current record from the result.
- * @param {String} pResultFields The result field config. Use "DuplicateScannerUtils.LoadResultFields"
+ * @param {String} pResultFields The result field config. Use "DuplicateScannerUtils.getResultFields"
  * @param {String} pResultSetRows todo
  * @returns {[["key", "value"]] || null} Array of Key-Value-Pairs based on the configured pResultFields, if no pattern exists null
  */
@@ -1057,7 +1037,7 @@ _DuplicateScannerUtils._callIndexSearch = function(pTargetEntity, pIndexPatternW
  * (indexsearch.FIELD_ID, indexsearch.FIELD_TITLE, indexsearch.FIELD_TYPE, indexsearch.FIELD_DESCRIPTION)
  *
  * @param {IndexQuery} pIndexQuery An indexquery created with "indexsearch.createIndexQuery()"
- * @param {String[]} pResultFields The result field config. Use "DuplicateScannerUtils.LoadResultFields"
+ * @param {String[]} pResultFields The result field config. Use "DuplicateScannerUtils.getResultFields"
  * @returns {IndexQuery} IndexQuery with the resultfields set
  */
 _DuplicateScannerUtils._setResultFields = function(pIndexQuery, pResultFields)
diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 573bbca214..d5b64428bd 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -889,7 +889,7 @@ LeadImportUtils.scanLeadDups = function(pAllContactData)
             let scanResultsOrg = DuplicateScannerUtils.ScanForDuplicates("OrganisationDuplicates", "Organisation_entity", orgObj, null);
             if (scanResultsOrg != null && scanResultsOrg.length > 0)
             {
-                let insertCountOrg = DuplicateScannerUtils.CacheNewScanResults(orgObj["CONTACTID"], scanResultsOrg, "Organisation_entity");
+                let insertCountOrg = DuplicateScannerUtils.cacheNewScanResults(orgObj["CONTACTID"], scanResultsOrg, "Organisation_entity");
                 dupOrg = true;
             }
         }
@@ -898,7 +898,7 @@ LeadImportUtils.scanLeadDups = function(pAllContactData)
             let scanResultsPers = DuplicateScannerUtils.ScanForDuplicates("PersonDuplicates", "Person_entity", persObj, null);
             if (scanResultsPers != null && scanResultsPers.length > 0)
             {
-                let insertCountPers = DuplicateScannerUtils.CacheNewScanResults(persObj["CONTACTID"], scanResultsPers, "Person_entity");
+                let insertCountPers = DuplicateScannerUtils.cacheNewScanResults(persObj["CONTACTID"], scanResultsPers, "Person_entity");
                 dupPers = true;
             }
         }
diff --git a/process/RebuildAllDuplicateCaches_serverProcess/process.js b/process/RebuildAllDuplicateCaches_serverProcess/process.js
index 900db39e93..ceb9f3560f 100644
--- a/process/RebuildAllDuplicateCaches_serverProcess/process.js
+++ b/process/RebuildAllDuplicateCaches_serverProcess/process.js
@@ -24,13 +24,13 @@ import("DuplicateScanner_lib");
 
 var filterName = "PersonDuplicates";
 var targetEntity = "Person_entity";
-var recordBlockSize = DuplicateScannerUtils.GetBlockSize();
+var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
-DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
+DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
 DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
@@ -47,7 +47,7 @@ logging.log(filterName + ": Delete duplicates -> ");
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
-DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
+DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
 DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
diff --git a/process/RebuildDuplicatesCache_serverProcess/process.js b/process/RebuildDuplicatesCache_serverProcess/process.js
index 4a932ce9b3..ed2a577e4b 100644
--- a/process/RebuildDuplicatesCache_serverProcess/process.js
+++ b/process/RebuildDuplicatesCache_serverProcess/process.js
@@ -25,13 +25,13 @@ import("DuplicateScanner_lib");
 
 var filterName = vars.get("$local.filterName");
 var targetEntity = vars.get("$local.targetEntity");
-var recordBlockSize = DuplicateScannerUtils.GetBlockSize();
+var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
 DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
-DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
+DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
 DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
-- 
GitLab


From 30e34689ebbc1f3646b17274d2db002bd18fcef9 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 10:31:05 +0200
Subject: [PATCH 127/251] Sql_lib added support for Map and Set in some methods

---
 process/Sql_lib/process.js  | 113 ++++++++++++++++++++++++++----------
 process/Util_lib/process.js |  36 +++++++++++-
 2 files changed, 117 insertions(+), 32 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 39e47c805e..a801475536 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1541,8 +1541,11 @@ SqlBuilder.prototype._addWhere = function(pFieldOrCond, pValue, pMandatory, pCon
         // remove the first $ if there are two $
         if (typeofValue == "string" && pValue.length >= 2 && pValue[0] == "$" && pValue[1] == "$")
             pValue = pValue.slice(1);
-
-
+        
+        //support for Set by converting to Array
+        if (pValue instanceof Set)
+            pValue = Array.from(pValue);
+        
         // pValue can be...
         // ... a SqlBuilder / Prepared statement array -> it is a SqlBuilder containing a complete subquery or an simple array (in statement)
         if (pValue instanceof SqlBuilder || Array.isArray(pValue) || (typeofValue == "string" && (pFieldOrCond == undefined || pFieldOrCond == null)))
@@ -2459,7 +2462,7 @@ SqlBuilder.prototype.updateData = function(pExecuteOnlyIfConditionExists, pTable
  * Updates data in the database. This function calls SqlBuilder.prototype.updateData, but provides a shorter syntax to
  * improve the readability.
  * 
- * @param {Object} pFieldValues Object with the columns to update as keys mapped to their values
+ * @param {Object|Map} pFieldValues Object with the columns to update as keys mapped to their values
  * @param {String} [pTableName] The table for updating data. If undefined, the from part of the SqlBuilder will be used (works only if it is a tablename). If no from is set,
  *      the table of the first where-condition is used.
  * @return {Number} the number of rows affected
@@ -2472,22 +2475,16 @@ SqlBuilder.prototype.updateFields = function (pFieldValues, pTableName)
     if (!pFieldValues || typeof(pFieldValues) !== "object")
         throw SqlBuilder._ERROR_UPDATE_VALUES_INVALID;
         
-    var columns = [];
-    var values = [];
-    for (let field in pFieldValues)
-    {
-        columns.push(field);
-        values.push(pFieldValues[field].toString());
-    }
-    if (columns.length === 0)
+    var columnValues = SqlBuilder._columnsValuesFromObject(pFieldValues, true);
+    if (columnValues.columns.length === 0)
         return 0;
-    return this.updateData(true, pTableName, columns, null, values);
+    return this.updateData(true, pTableName, columnValues.columns, null, columnValues.values);
 }
 
 /**
  * Builds an array containing the table and condition for an update.
  * 
- * @param {Object} pFieldValues Object with the columns to update as keys mapped to their values
+ * @param {Object|Map} pFieldValues Object with the columns to update as keys mapped to their values
  * @param {String} [pTableName] The table for updating data. If undefined, the from part of the SqlBuilder will be used (works only if it is a tablename). If no from is set,
  *      the table of the first where-condition is used.
  * @return {Array} array of [tableName, columns, columnTypes, values, preparedCondition], like it is required by db.updates or null if there is no condition
@@ -2502,25 +2499,51 @@ SqlBuilder.prototype.buildUpdateStatement = function (pFieldValues, pTableName)
     if (!pFieldValues || typeof(pFieldValues) !== "object")
         throw SqlBuilder._ERROR_UPDATE_VALUES_INVALID;
         
-    var columns = [];
-    var values = [];
-    for (let field in pFieldValues)
+    var columnValues = SqlBuilder._columnsValuesFromObject(pFieldValues, true);
+    if (columnValues.columns.length !== 0 && this._checkForUpdate())
     {
-        columns.push(field);
-        values.push(pFieldValues[field].toString());
+        if (!pTableName && !this._tableName)
+            throw SqlBuilder._ERROR_NO_TABLE();
+        
+        return [
+            (pTableName ? pTableName : this._tableName),
+            columnValues.columns,
+            null,
+            columnValues.values,
+            this.buildCondition()
+        ];
     }
+    return null;
+}
+
+/**
+ * Builds an array containing the data for an insert.
+ * 
+ * @param {Object|Map} pFieldValues Object with the columns to insert into as keys mapped to their values
+ * @param {String} [pTableName] The table for updating data. If undefined, the from part of the SqlBuilder will be used (works only if it is a tablename). If no from is set,
+ *      the table of the first where-condition is used.
+ * @param {String} [pAutoUidField] UID column that should be filled with a random UUID 
+ * @return {Array} array of [tableName, columns, columnTypes, values, preparedCondition], like it is required by db.updates or null if there is no condition
+ */
+SqlBuilder.prototype.buildInsertStatement = function (pFieldValues, pTableName, pAutoUidField)
+{
+    if (!pFieldValues || !Utils.isObject(pFieldValues))
+        throw SqlBuilder._ERROR_UPDATE_VALUES_INVALID;
+        
+    if (pAutoUidField)
+        pFieldValues[pAutoUidField] = util.getNewUUID();
     
-    if (columns.length !== 0 && this._checkForUpdate())
+    var columnValues = SqlBuilder._columnsValuesFromObject(pFieldValues);
+    if (columnValues.columns.length !== 0)
     {
         if (!pTableName && !this._tableName)
             throw SqlBuilder._ERROR_NO_TABLE();
         
         return [
             (pTableName ? pTableName : this._tableName),
-            columns,
+            columnValues.columns,
             null,
-            values,
-            this.buildCondition()
+            columnValues.values
         ];
     }
     return null;
@@ -2559,7 +2582,7 @@ SqlBuilder.prototype.insertData = function(pTableName, pColumns, pColumnTypes, p
  * Inserts data in the database. This function calls SqlBuilder.prototype.insertData, but provides a shorter syntax to
  * improve the readability.
  * 
- * @param {Object} pFieldValues Object with the columns to update as keys mapped to their values
+ * @param {Object|Map} pFieldValues Object with the columns to update as keys mapped to their values
  * @param {String} [pTableName] The table for updating data. If undefined, the from part of the SqlBuilder will be used (works only if it is a tablename). If no from is set,
  *      the table of the first where-condition is used.
  * @param {String} [pAutoUidField] UID column that should be filled with a random UUID 
@@ -2579,19 +2602,49 @@ SqlBuilder.prototype.insertFields = function (pFieldValues, pTableName, pAutoUid
     if (pAutoUidField)
         pFieldValues[pAutoUidField] = util.getNewUUID();
     
+    var columnValues = SqlBuilder._columnsValuesFromObject(pFieldValues);
+    if (columnValues.columns.length === 0)
+        return 0;
+    return this.insertData(pTableName, columnValues.columns, null, columnValues.values);
+}
+
+SqlBuilder._columnsValuesFromObject = function (pFieldValues, pIncludeNullValues)
+{
     var columns = [];
     var values = [];
-    for (let field in pFieldValues)
+    if (Utils.isMap(pFieldValues))
+    {
+        pFieldValues.forEach(function (value, key)
+        {
+            if (pIncludeNullValues || (value !== undefined && value !== null))
+            {
+                columns.push(key);
+                values.push(_valueToString(value));
+            }
+        });
+    }
+    else
     {
-        if (pFieldValues[field] !== undefined && pFieldValues[field] !== null)
+        for (let field in pFieldValues)
         {
-            columns.push(field);
-            values.push(pFieldValues[field].toString());
+            if (pIncludeNullValues || (pFieldValues[field] !== undefined && pFieldValues[field] !== null))
+            {
+                columns.push(field);
+                values.push(_valueToString(pFieldValues[field]));
+            }
         }
     }
-    if (columns.length === 0)
-        return 0;
-    return this.insertData(pTableName, columns, null, values);
+    return {
+        columns: columns,
+        values: values
+    };
+    
+    function _valueToString (pValue)
+    {
+        if (pValue === undefined || pValue === null)
+            return "";
+        return pValue.toString();
+    }
 }
 
 /**
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 2c687d66a4..74776d9ad9 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -23,15 +23,17 @@ import("Date_lib");
 function Utils () {}
 
 /**
- * Checks if the given object, array or string is empty.
+ * Checks if the given object, array, map, set or string is empty.
  * 
- * @param {Object|Array|String} pObject the object to check
+ * @param {Object|Array|String|Map|Set} pObject the object to check
  * @return {Boolean} true if the object is empty
  */
 Utils.isEmpty = function (pObject)
 {
     if (Utils.isString(pObject) || Array.isArray(pObject))
         return pObject.length === 0;
+    if (pObject instanceof Set || pObject instanceof Map)
+        return pObject.size === 0;
     for (let key in pObject)
     {
         return false;
@@ -175,6 +177,17 @@ Utils.isObject = function (pValue)
     return typeof pValue === "object";
 }
 
+/**
+ * Checks if the given value is a Map. 
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is a Map
+ */
+Utils.isMap = function (pValue)
+{
+    return pValue instanceof Map;
+}
+
 /**
  * Checks if the given value is a boolean.
  * 
@@ -203,6 +216,25 @@ Utils.toBoolean = function (pValue)
     return !(!pValue || pValue === "0" || pValue === "false" || pValue === "null" || pValue === "undefined" || !(pValue.valueOf()));
 }
 
+/**
+ * Creates an object containing the keys and values of the given Map
+ * 
+ * @param {Map} pMap a Map
+ * @return {Object} object with properties from the Map
+ */
+Utils.objectFromMap = function (pMap)
+{
+    if (!Utils.isMap(pMap))
+        return pMap; //throw error?
+    
+    var mapObject = {}; //maybe use Object.create(null)?
+    pMap.forEach(function (value, key)
+    {
+        mapObject[key] = value;
+    });
+    return mapObject;
+}
+
 /**
  * Class containing static utility functions for regular expression objects (RegExp)
  * Do not create an instance of this
-- 
GitLab


From bef7d4723041ce188fec7ba74b241013dd431294 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 10:37:25 +0200
Subject: [PATCH 128/251] #1065733 Duplicate contact merge refactoring

---
 process/DuplicateScanner_lib/process.js | 238 ++++++++++--------------
 1 file changed, 99 insertions(+), 139 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 23be5bb109..9c340dd052 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -613,14 +613,10 @@ DuplicateScannerUtils.TranslateEntityToIndexFields = function(pEntityName, pEnti
  *
  *  @param {String} pSourceContactId The contact to be integrated into another
  *  @param {String} pTargetContactId The contact in which the source gets integrated
- *  @returns {String}
+ *  @returns {Boolean} if the merge was sucessful
  */
 DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
 {
-    var updateStatementsCurrentAlias = [];
-    var updateStatementsSystemAlias = [];
-    var deleteStatements = [];
-
     var sourcePersonId = newSelect("PERSON_ID")
         .from("CONTACT")
         .where("CONTACT.CONTACTID", pSourceContactId)
@@ -629,41 +625,29 @@ DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
         .from("CONTACT")
         .where("CONTACT.CONTACTID", pTargetContactId)
         .cell();
-        
-    var tableInfosCurrentAlias = _DuplicateScannerUtils._getMergeUpdateTableInfosCurrentAlias();
-    var tableInfosSystemAlias = _DuplicateScannerUtils._getMergeUpdateTableInfosSystemAlias();
-
-    updateStatementsCurrentAlias.push(_DuplicateScannerUtils._buildUpdateResetStandardCommunications(pSourceContactId));
-    updateStatementsCurrentAlias = updateStatementsCurrentAlias.concat(_DuplicateScannerUtils._buildUpdateContactIdStatements(tableInfosCurrentAlias, pSourceContactId, pTargetContactId));
-    updateStatementsCurrentAlias = updateStatementsCurrentAlias.concat(_DuplicateScannerUtils._buildUpdateAttachParticipantsToNewContactQuery("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", pSourceContactId, pTargetContactId));
-
-    updateStatementsSystemAlias = updateStatementsSystemAlias.concat(_DuplicateScannerUtils._buildUpdateContactIdStatements(tableInfosSystemAlias, pSourceContactId, pTargetContactId, SqlUtils.getSystemAlias()));
-
-    deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteRemoveObsoleteParticipantsRecordsQuery("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", pSourceContactId, pTargetContactId));
     
+    var isLinkedDataUpdated = _DuplicateScannerUtils._migrateLinkedContactData(pSourceContactId, pTargetContactId);
+    var isParticipantsUpdated = _DuplicateScannerUtils._migrateParticipantsToNewContact("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", 
+        pSourceContactId, pTargetContactId);
+    
+    var deleteStatements = [];
     if (sourcePersonId != targetPersonId)
-        deleteStatements.push(["PERSON", newWhere("PERSON.PERSONID", sourcePersonId).build()]);
+        deleteStatements.push(newWhere("PERSON.PERSONID", sourcePersonId).buildDeleteStatement());
     
-    deleteStatements.push(["CONTACT", newWhere("CONTACT.CONTACTID", pSourceContactId).build()]);
+    deleteStatements.push(newWhere("CONTACT.CONTACTID", pSourceContactId).buildDeleteStatement());
     deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteCachedUnrelatedDuplicateQuery(pSourceContactId));
     
-    for (var i = 0; i < updateStatementsCurrentAlias.length; i++) {  
-            if(updateStatementsCurrentAlias[i][0] == "RemoveThisItem") //see _DuplicateScannerUtils._buildUpdateContactIdStatements for further information
-                updateStatementsCurrentAlias.splice(i,1);
-        }
-        
     //update binary 
     var metaData = db.getBinaryMetadata("CONTACT", "DOCUMENT", pSourceContactId, true, SqlUtils.getBinariesAlias());
-    for (let i = 0; i < metaData.length;  i++) {
-        var updateBinary = db.updateBinaryAssignment(metaData[i]["id"], "CONTACT", "DOCUMENT", pTargetContactId, SqlUtils.getBinariesAlias());
-    }
-    var affectedRowsCurrentAlias = db.updates(updateStatementsCurrentAlias);
-    var affectedRowsSystemAlias = db.updates(updateStatementsSystemAlias, SqlUtils.getSystemAlias());
+    metaData.forEach(function (binaryMetaData) 
+    {
+        db.updateBinaryAssignment(binaryMetaData.id, "CONTACT", "DOCUMENT", pTargetContactId, SqlUtils.getBinariesAlias());
+    });
     var deletedRows = db.deletes(deleteStatements)
 
     DuplicateScannerUtils.DeleteCachedDuplicate(pSourceContactId);
 
-    return (affectedRowsCurrentAlias > 0 && deletedRows > 0);
+    return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows > 0);
 }
 
 DuplicateScannerUtils.CreateMergeSuccessActivity = function(pSourceContactId, pTargetContactId, pCurrentContactId, pContext)
@@ -687,30 +671,30 @@ DuplicateScannerUtils.MergeOrganisation = function(pSourceContactId, pTargetCont
     let deleteStatements = [];
 
     var sourceOrganisationId = newSelect("ORGANISATION_ID")
-                                    .from("CONTACT")
-                                    .where("CONTACT.CONTACTID", pSourceContactId)
-                                    .cell();
-
-    var tableInfosCurrentAlias = _DuplicateScannerUtils._getMergeUpdateTableInfosCurrentAlias();
-    var tableInfosSystemAlias = _DuplicateScannerUtils._getMergeUpdateTableInfosSystemAlias();
-
-	updateStatementsCurrentAlias = updateStatementsCurrentAlias.concat(_DuplicateScannerUtils._buildUpdateResetStandardCommunications(pSourceContactId));
-    updateStatementsCurrentAlias = updateStatementsCurrentAlias.concat(_DuplicateScannerUtils._buildUpdateContactIdStatements(tableInfosCurrentAlias, pSourceContactId, pTargetContactId));
-    updateStatementsCurrentAlias = updateStatementsCurrentAlias.concat(_DuplicateScannerUtils._buildUpdateAttachParticipantsToNewContactQuery("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", pSourceContactId, pTargetContactId));
-
-    updateStatementsSystemAlias = updateStatementsSystemAlias.concat(_DuplicateScannerUtils._buildUpdateContactIdStatements(tableInfosSystemAlias, pSourceContactId, pTargetContactId));
-
-    deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteRemoveObsoleteParticipantsRecordsQuery("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", pSourceContactId, pTargetContactId));
+        .from("CONTACT")
+        .where("CONTACT.CONTACTID", pSourceContactId)
+        .cell();
+        
+    var isLinkedDataUpdated = _DuplicateScannerUtils._migrateLinkedContactData(pSourceContactId, pTargetContactId);
+    var isParticipantsUpdated = _DuplicateScannerUtils._migrateParticipantsToNewContact("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", 
+        pSourceContactId, pTargetContactId);
+    
+    var deleteStatements = [];
+    deleteStatements.push(newWhere("CONTACT.CONTACTID", pSourceContactId).buildDeleteStatement());
     deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteOrganisationAndContactQuery(sourceOrganisationId, pSourceContactId));
     deleteStatements = deleteStatements.concat(_DuplicateScannerUtils._buildDeleteCachedUnrelatedDuplicateQuery(pSourceContactId));
-
-    let affectedRowsCurrentAlias = db.updates(updateStatementsCurrentAlias);
-    let affectedRowsSystemAlias = db.updates(updateStatementsSystemAlias, SqlUtils.getSystemAlias());
-    let deletedRows = db.deletes(deleteStatements)
+    
+    //update binary 
+    var metaData = db.getBinaryMetadata("CONTACT", "DOCUMENT", pSourceContactId, true, SqlUtils.getBinariesAlias());
+    metaData.forEach(function (binaryMetaData) 
+    {
+        db.updateBinaryAssignment(binaryMetaData.id, "CONTACT", "DOCUMENT", pTargetContactId, SqlUtils.getBinariesAlias());
+    });
+    var deletedRows = db.deletes(deleteStatements)
 
     DuplicateScannerUtils.DeleteCachedDuplicate(pSourceContactId);
 
-    return (affectedRowsCurrentAlias > 0 && deletedRows >= 2);
+    return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows >= 2);
 }
 
 /*
@@ -1092,7 +1076,7 @@ _DuplicateScannerUtils._createInsertDuplicatesClusterQuery = function (pDuplicat
     let duplicatesToInsertQueries = [];
     let cols = ["ID", "CLUSTERID", "DUPLICATEID", "TARGET_ENTITY"];
 
-    if(pClusterId == undefined || pClusterId == null || pClusterId == "")
+    if (!pClusterId)
         pClusterId = util.getNewUUID();
             
     for (let i = 0; i < pDuplicatesRay.length; i++)
@@ -1120,36 +1104,24 @@ _DuplicateScannerUtils._deleteDuplicateClusters = function ()
  * This is because otherwise there would now be in total two "participants" in the same "group" as opposed to one before.
  * Also if they already are in the same "group" those records shouldn't be updated because it would lead to the same outcome.
  *
- * Mandatory: All records ignored for the time being have to be deleted aswell! See #_DuplicateScannerUtils._buildRemoveObsoleteParticipantsRecordsDeleteQuery
- * @returns {String[]} Query to update records
+ * @returns {Boolean} If records have been updated
  */
-_DuplicateScannerUtils._buildUpdateAttachParticipantsToNewContactQuery = function (pTableName, pContactIdColumn, pAssignableIdColumn, pSourceContactId, pTargetContactId, updateStatements)
-{
-    var selectAssignableIdsOfTargetContactQuery = newSelect(pAssignableIdColumn)
-                                                        .from(pTableName)
-                                                        .where([pTableName, pContactIdColumn], pTargetContactId);
-                                                        
-    var subSelectTable = newSelect(["subselect." + pAssignableIdColumn]).from(selectAssignableIdsOfTargetContactQuery,"subselect");
-
-    let updateCondition = newWhere([pTableName, pAssignableIdColumn], subSelectTable, SqlBuilder.NOT_IN())
-                                .and([pTableName, pContactIdColumn], pSourceContactId)
-
-    return [[pTableName, [pContactIdColumn], null, [pTargetContactId], updateCondition.build()]];
-}
-
-
-_DuplicateScannerUtils._buildDeleteRemoveObsoleteParticipantsRecordsQuery = function (pTableName, pContactIdColumn, pAssignableIdColumn, pSourceContactId, pTargetContactId, updateStatements)
+_DuplicateScannerUtils._migrateParticipantsToNewContact = function (pTableName, pContactIdColumn, pAssignableIdColumn, pSourceContactId, pTargetContactId)
 {
-    var selectAssignableIdsOfTargetContactQuery = newSelect(pAssignableIdColumn)
-                                                        .from(pTableName)
-                                                        .where([pTableName, pContactIdColumn], pTargetContactId);
-                                                        
-    var subSelectTable = newSelect(["subselect." + pAssignableIdColumn]).from(selectAssignableIdsOfTargetContactQuery,"subselect");
-
-    let deleteCondition = newWhere([pTableName, pAssignableIdColumn], subSelectTable, SqlBuilder.IN())
-                                .and([pTableName, pAssignableIdColumn], pSourceContactId)
+    var excludedIds = newSelect(pAssignableIdColumn)
+        .from(pTableName)
+        .where([pTableName, pContactIdColumn], pTargetContactId);
 
-    return [[pTableName, deleteCondition.build()]];
+    var updateCount = newWhere([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.NOT_IN())
+        .and([pTableName, pContactIdColumn], pSourceContactId)
+        .updateFields(new Map().set(pContactIdColumn, pTargetContactId), pTableName);
+        
+    var deleteCount = newWhere([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.IN())
+        .and([pTableName, pContactIdColumn], pSourceContactId)
+        .tableName(pTableName)
+        .deleteData();
+    
+    return updateCount > 0 || deleteCount > 0;
 }
 
 _DuplicateScannerUtils._buildDeleteOrganisationAndContactQuery = function(pSourceOrganisationId, pSourceContactId)
@@ -1185,72 +1157,70 @@ _DuplicateScannerUtils._getIgnoreSourceRecordPattern = function(pRecordIdValueTo
     return null;
 }
 
-_DuplicateScannerUtils._buildUpdateContactIdStatements = function(pTableInfos, pSourceContactId, pTargetContactId, pAlias)
+_DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, pTargetContactId)
 {
-    return pTableInfos.map(function ([tableName, columnName, additionalCondition])
+    var updateStatements = new Map();
+    var resetStandardCommunications = _DuplicateScannerUtils._buildUpdateResetStandardCommunications(pSourceContactId);
+    var currentAlias = db.getCurrentAlias();
+    updateStatements.set(currentAlias, [resetStandardCommunications]);
+    _DuplicateScannerUtils._getLinkedTableInfos.forEach(function ([tableName, columnName, additionalCondition, alias])
     {
+        if (!alias)
+            alias = currentAlias;
+        
         var updateValues = {};
         updateValues[columnName] = pTargetContactId;
-        var exclude = false;
          
-        if(tableName == "COMMUNICATION")
+        var targetStandard = newSelect("CONTACT.ADDRESS_ID")
+                                        .from("CONTACT")
+                                        .where("CONTACT.CONTACTID", pTargetContactId)
+                                        .cell();
+
+        //set the standardaddress of the sourceContact as standard of the targetContact if it doesn't have one set yet
+        if(!targetStandard) 
         {
-            var sourceComm = newSelect("COMMUNICATION.ADDR")
-                                        .from("COMMUNICATION")
-                                        .where("COMMUNICATION.CONTACT_ID", pSourceContactId)
-                                        .arrayColumn();
-                                        
-            var targetComm = newSelect("COMMUNICATION.ADDR")
-                                        .from("COMMUNICATION")
-                                        .where("COMMUNICATION.CONTACT_ID", pTargetContactId)
-                                        .arrayColumn();
-            //set exclude to true if both of the datatasets have the exact same address (we don't want one person to have the same address twice)
-            if(sourceComm.length > 0 && targetComm.length > 0 )
-                {
-                    for (var i = 0; i < sourceComm.length; i++) {
-                        for (var x = 0; x < targetComm.length; x++) {
-                            if(sourceComm[i] == targetComm[x])
-                                exclude = true;
-                        }
-                    }
-                }
-                
-            var targetStandard = newSelect("CONTACT.ADDRESS_ID")
-                                            .from("CONTACT")
-                                            .where("CONTACT.CONTACTID", pTargetContactId)
-                                            .cell();
-                                            
-            //set the standardaddress of the sourceContact as standard of the targetContact if it doesn't have one set yet
-            if(!targetStandard) 
-            {
-                var sourceStandard = newSelect("CONTACT.ADDRESS_ID")
-                                            .from("CONTACT")
-                                            .where("CONTACT.CONTACTID", pSourceContactId)
-                                            .cell();
-                newWhere("CONTACT.CONTACTID", pTargetContactId).updateData(true, "CONTACT", ["ADDRESS_ID"], null, [sourceStandard]);
-            }
+            var sourceStandard = newSelect("CONTACT.ADDRESS_ID")
+                                        .from("CONTACT")
+                                        .where("CONTACT.CONTACTID", pSourceContactId)
+                                        .cell();
+            newWhere("CONTACT.CONTACTID", pTargetContactId).updateFields({"ADDRESS_ID": sourceStandard});
         }
         
-        if(exclude)
-        {
-            newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId).deleteData(true, "COMMUNICATION"); //delete the address of the sourceContact
-            return ["RemoveThisItem"]
-        }
+        var updateCondition = newWhere([tableName, columnName], pSourceContactId).andIfSet(additionalCondition);
+        
+        //don't use communications that the target already has
+        if (tableName == "COMMUNICATION")
+            updateCondition.and(null, newSelect("targetComm.COMMUNICATIONID")
+                    .from("COMMUNICATION", "targetComm")
+                    .where(["COMMUNICATION", "CONTACT_ID", "targetComm"], pTargetContactId)
+                    .and("targetComm.ADDR = COMMUNICATION.ADDR"),
+                SqlBuilder.NOT_EXISTS());
+            
+        var updateStatement = updateCondition.buildUpdateStatement(updateValues, tableName);
+        if (updateStatements.has(alias))
+            updateStatements.get(alias).push(updateStatement);
         else
-        {
-            return newWhere([tableName, columnName], pSourceContactId, undefined, undefined, pAlias)
-                .andIfSet(additionalCondition)
-                .buildUpdateStatement(updateValues, tableName)
-        }
+            updateStatements.set(alias, [updateStatement]);
+    });
+    
+    var totalChanges = 0;
+    
+    updateStatements.forEach(function (statements, alias)
+    {
+        totalChanges += db.updates(statements, alias);
     });
+    
+    totalChanges += newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId).deleteData(); //delete leftover communications from the source contact
+
+    return totalChanges > 0;
 }
 
 /*
  * Contains all Tables and their fields which may contain the contact id to be replaced for the data alias
  *
- * @returns {String[[]]} Array in the format [TableName, ContactIdColumnName, AdditionalCondition]
+ * @returns {String[[]]} Array in the format [TableName, ContactIdColumnName, AdditionalCondition, alias]
  */
-_DuplicateScannerUtils._getMergeUpdateTableInfosCurrentAlias = function()
+_DuplicateScannerUtils._getLinkedTableInfos = function()
 {
     return[
             ["AB_APPOINTMENTLINK", "OBJECT_ROWID", ""],
@@ -1284,22 +1254,12 @@ _DuplicateScannerUtils._getMergeUpdateTableInfosCurrentAlias = function()
             ["DSGVOINFO", "CONTACT_ID", ""],
             ["TIMETRACKING", "CONTACT_ID", ""],
             ["ACTIVITYLINK", "OBJECT_ROWID", ""],
-            ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", ""]
+            ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", ""],
+            
+            ["ASYS_CALENDARLINK", "DBID", "", SqlUtils.getSystemAlias()]
         ];
 }
 
-/*
- * Contains all Tables and their fields which may contain the contact id to be replaced for the system alias
- * in the past ASYS_BINARY had also been updated like this, but know we are using 
- * the function db.updateBinaryAssignment (see also DuplicateScannerUtils.MergePerson).
- *
- * @returns {String[[]]} Array in the format [TableName, ContactIdColumnName, AdditionalCondition]
- */
-_DuplicateScannerUtils._getMergeUpdateTableInfosSystemAlias = function()
-{
-    return [["ASYS_CALENDARLINK", "DBID", ""]];
-}
-
 /*
  * Returns wether or not a value should be substring'd
  *
-- 
GitLab


From 20e1edf8ec87cbbf44fe9d7e76084321ef1b55dc Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 15:29:35 +0200
Subject: [PATCH 129/251] 1065734 Duplicate contact merge

---
 .../recordcontainers/db/onDBDelete.js         |   2 +-
 .../onActionProcess.js                        |   4 +-
 .../onActionProcess.js                        |   4 +-
 .../recordcontainers/db/onDBDelete.js         |   2 +-
 .../onActionProcess.js                        |   4 +-
 .../onActionProcess.js                        |   4 +-
 .../recordcontainers/db/onDBDelete.js         |   2 +-
 process/DuplicateScanner_lib/process.js       | 199 ++++++++++--------
 8 files changed, 125 insertions(+), 96 deletions(-)

diff --git a/entity/Contact_entity/recordcontainers/db/onDBDelete.js b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
index db41811d78..aed5eceb44 100644
--- a/entity/Contact_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
@@ -6,7 +6,7 @@ import("system.vars");
 import("DuplicateScanner_lib");
 
 var contactId = vars.get("$field.CONTACTID");
-DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
+DuplicateScannerUtils.deleteCachedDuplicate(contactId);
 
 new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
     .deleteAllAttributes();
diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
index 5b61fa56b4..d75b5308bf 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
@@ -7,14 +7,14 @@ let sourceContactId = vars.get("$param.DuplicateCurrentContactId_param");
 let targetContactId = vars.get("$sys.selection");
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
-let mergeSuccess = DuplicateScannerUtils.MergeOrganisation(sourceContactId, targetContactId);
+let mergeSuccess = DuplicateScannerUtils.mergeOrganisation(sourceContactId, targetContactId);
 
 if(mergeSuccess)
 {
     let currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
-    DuplicateScannerUtils.CreateMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Organisation");
+    DuplicateScannerUtils.createMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Organisation");
     
     neon.openContext("Organisation", "OrganisationMain_view", [targetContactId], neon.OPERATINGSTATE_VIEW, null)
 }
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
index 0e9b9c71d1..824cc94978 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
@@ -8,13 +8,13 @@ let targetContactId = vars.get("$param.DuplicateCurrentContactId_param");
 let sourceContactId = vars.get("$sys.selection");
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
-let mergeSuccess = DuplicateScannerUtils.MergeOrganisation(sourceContactId, targetContactId);
+let mergeSuccess = DuplicateScannerUtils.mergeOrganisation(sourceContactId, targetContactId);
 
 if(mergeSuccess)
 {
     let currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
-    DuplicateScannerUtils.CreateMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Organisation");
+    DuplicateScannerUtils.createMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Organisation");
     neon.refreshAll();
 }
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/onDBDelete.js b/entity/Organisation_entity/recordcontainers/db/onDBDelete.js
index 4286e03eb2..730c29c8f1 100644
--- a/entity/Organisation_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Organisation_entity/recordcontainers/db/onDBDelete.js
@@ -7,7 +7,7 @@ import("Attribute_lib");
 
 // TODO: enable when duplicate-module is finalized
 let contactId = vars.get("$field.CONTACTID");
-DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
+DuplicateScannerUtils.deleteCachedDuplicate(contactId);
 
 new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
     .deleteAllAttributes();
diff --git a/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
index c5025d447a..d5f864db52 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
@@ -8,7 +8,7 @@ var sourceContactId = vars.get("$param.DuplicateCurrentContactId_param");
 var targetContactId = vars.get("$sys.selection")[0];
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
-var mergeSuccess = DuplicateScannerUtils.MergePerson(sourceContactId, targetContactId);
+var mergeSuccess = DuplicateScannerUtils.mergePerson(sourceContactId, targetContactId);
 
 if(mergeSuccess)
 {
@@ -21,7 +21,7 @@ if(mergeSuccess)
     var currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
-    DuplicateScannerUtils.CreateMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Person");
+    DuplicateScannerUtils.createMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Person");
 
     neon.openContext("Person", "PersonMain_view", [targetContactId], neon.OPERATINGSTATE_VIEW, null)
 }
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
index 8b4940918a..2930a65370 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
@@ -12,7 +12,7 @@ var sourceContactIdArray = vars.get("$sys.selection");
 var sourceContactId = sourceContactIdArray[0];
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
-var mergeSuccess = DuplicateScannerUtils.MergePerson(sourceContactId, targetContactId);
+var mergeSuccess = DuplicateScannerUtils.mergePerson(sourceContactId, targetContactId);
 
 if(mergeSuccess)
 {
@@ -25,7 +25,7 @@ if(mergeSuccess)
     var currentContactId = EmployeeUtils.getCurrentContactId();
     if(currentContactId == null)
         currentContactId = "";
-    DuplicateScannerUtils.CreateMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Person");
+    DuplicateScannerUtils.createMergeSuccessActivity(sourceContactId, targetContactId, currentContactId, "Person");
 // openContext due to the fact, that openContext will lead to an error 'due'cause it's trying to load the already opened preview 
 // of the duplicateContact which just got deleted = nullpointException
     neon.openContext("Person", null, [targetContactId], neon.OPERATINGSTATE_VIEW, null, null);
diff --git a/entity/Person_entity/recordcontainers/db/onDBDelete.js b/entity/Person_entity/recordcontainers/db/onDBDelete.js
index db41811d78..aed5eceb44 100644
--- a/entity/Person_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Person_entity/recordcontainers/db/onDBDelete.js
@@ -6,7 +6,7 @@ import("system.vars");
 import("DuplicateScanner_lib");
 
 var contactId = vars.get("$field.CONTACTID");
-DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
+DuplicateScannerUtils.deleteCachedDuplicate(contactId);
 
 new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
     .deleteAllAttributes();
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 9c340dd052..c0f1880e5b 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -13,6 +13,8 @@ import("system.db");
 import("system.entities");
 import("Sql_lib");
 import("system.indexsearch");
+import("Communication_lib");
+import("Attribute_lib");
 
 /**
  * Methods for duplicate scanning.
@@ -48,7 +50,7 @@ DuplicateScannerUtils.loadFilters = function(pFilterName, pTargetEntity)
  *
  * @param {String} pDuplicateId Id of the duplicate to delete
  */
-DuplicateScannerUtils.DeleteCachedDuplicate = function(pDuplicateId)
+DuplicateScannerUtils.deleteCachedDuplicate = function(pDuplicateId)
 {
     var [countDuplicatesInClusterWithoutParameterId, clusterId] = newSelect("count(ID), CLUSTERID")
                     .from("DUPLICATECLUSTERS")
@@ -615,7 +617,7 @@ DuplicateScannerUtils.TranslateEntityToIndexFields = function(pEntityName, pEnti
  *  @param {String} pTargetContactId The contact in which the source gets integrated
  *  @returns {Boolean} if the merge was sucessful
  */
-DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
+DuplicateScannerUtils.mergePerson = function(pSourceContactId, pTargetContactId)
 {
     var sourcePersonId = newSelect("PERSON_ID")
         .from("CONTACT")
@@ -645,12 +647,12 @@ DuplicateScannerUtils.MergePerson = function(pSourceContactId, pTargetContactId)
     });
     var deletedRows = db.deletes(deleteStatements)
 
-    DuplicateScannerUtils.DeleteCachedDuplicate(pSourceContactId);
+    DuplicateScannerUtils.deleteCachedDuplicate(pSourceContactId);
 
     return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows > 0);
 }
 
-DuplicateScannerUtils.CreateMergeSuccessActivity = function(pSourceContactId, pTargetContactId, pCurrentContactId, pContext)
+DuplicateScannerUtils.createMergeSuccessActivity = function(pSourceContactId, pTargetContactId, pCurrentContactId, pContext)
 {
     var activityDataForInsert = {
         subject: translate.withArguments("A %0 record has been merged", [pContext]),
@@ -664,12 +666,8 @@ DuplicateScannerUtils.CreateMergeSuccessActivity = function(pSourceContactId, pT
     return ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, null, db.getCurrentAlias());
 }
 
-DuplicateScannerUtils.MergeOrganisation = function(pSourceContactId, pTargetContactId)
+DuplicateScannerUtils.mergeOrganisation = function(pSourceContactId, pTargetContactId)
 {
-    let updateStatementsCurrentAlias = [];
-    let updateStatementsSystemAlias = [];
-    let deleteStatements = [];
-
     var sourceOrganisationId = newSelect("ORGANISATION_ID")
         .from("CONTACT")
         .where("CONTACT.CONTACTID", pSourceContactId)
@@ -692,7 +690,7 @@ DuplicateScannerUtils.MergeOrganisation = function(pSourceContactId, pTargetCont
     });
     var deletedRows = db.deletes(deleteStatements)
 
-    DuplicateScannerUtils.DeleteCachedDuplicate(pSourceContactId);
+    DuplicateScannerUtils.deleteCachedDuplicate(pSourceContactId);
 
     return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows >= 2);
 }
@@ -842,11 +840,6 @@ _DuplicateScannerUtils._loadEntityFieldsFromFieldConfigs = function(pEntityField
     return fieldNames;
 }
 
-_DuplicateScannerUtils._buildUpdateResetStandardCommunications = function(pSourceContactId)
-{
-    return newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId).buildUpdateStatement({"ISSTANDARD" : "0"});
-}
-
 /*
  * Gets the Pattern for the scanner
  * A pattern usually contains placeholders in the style of "{entityFieldName]"
@@ -1160,47 +1153,63 @@ _DuplicateScannerUtils._getIgnoreSourceRecordPattern = function(pRecordIdValueTo
 _DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, pTargetContactId)
 {
     var updateStatements = new Map();
-    var resetStandardCommunications = _DuplicateScannerUtils._buildUpdateResetStandardCommunications(pSourceContactId);
     var currentAlias = db.getCurrentAlias();
-    updateStatements.set(currentAlias, [resetStandardCommunications]);
-    _DuplicateScannerUtils._getLinkedTableInfos.forEach(function ([tableName, columnName, additionalCondition, alias])
+    
+    var setStandardsStatements = [];
+    var [standardPhone, standardMail, standardAddressId] = newSelect([
+            "(" + CommUtil.getStandardSubSqlPhone() + ")", 
+            "(" +CommUtil.getStandardSubSqlMail() + ")",
+            "CONTACT.ADDRESS_ID"
+        ])
+        .from("CONTACT")
+        .where("CONTACT.CONTACTID", pTargetContactId)
+        .arrayRow();
+    
+    //if the targetContact already has a standard phone comm, set the comm from the sourceContact as not standard
+    if (standardPhone)
+    {
+        setStandardsStatements.push(
+            newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId)
+                .and("COMMUNICATION.MEDIUM_ID", CommUtil.getMediumIdsByCategory("PHONE"), SqlBuilder.IN())
+                .buildUpdateStatement({"ISSTANDARD" : "0"})
+        );
+    }
+    if (standardMail)
+    {
+        setStandardsStatements.push(
+            newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId)
+                .and("COMMUNICATION.MEDIUM_ID", CommUtil.getMediumIdsByCategory("EMAIL"), SqlBuilder.IN())
+                .buildUpdateStatement({"ISSTANDARD" : "0"})
+        );
+    }
+    //set the standardaddress of the sourceContact as standard of the targetContact if it doesn't have one set yet
+    if(!standardAddressId) 
+    {
+        var sourceStandard = newSelect("CONTACT.ADDRESS_ID")
+            .from("CONTACT")
+            .where("CONTACT.CONTACTID", pSourceContactId)
+            .cell();
+        setStandardsStatements.push(newWhere("CONTACT.CONTACTID", pTargetContactId).buildUpdateStatement({"ADDRESS_ID": sourceStandard}));
+    }
+    
+    updateStatements.set(currentAlias, setStandardsStatements);
+    
+    _DuplicateScannerUtils._getLinkedTableInfos(pTargetContactId).forEach(function ([tableName, columnName, additionalCondition, dbAlias])
     {
-        if (!alias)
-            alias = currentAlias;
+        if (!dbAlias)
+            dbAlias = currentAlias;
+        
+        if (!updateStatements.has(dbAlias))
+            updateStatements.set(dbAlias, []);
+        var statements = updateStatements.get(dbAlias);
         
         var updateValues = {};
         updateValues[columnName] = pTargetContactId;
-         
-        var targetStandard = newSelect("CONTACT.ADDRESS_ID")
-                                        .from("CONTACT")
-                                        .where("CONTACT.CONTACTID", pTargetContactId)
-                                        .cell();
-
-        //set the standardaddress of the sourceContact as standard of the targetContact if it doesn't have one set yet
-        if(!targetStandard) 
-        {
-            var sourceStandard = newSelect("CONTACT.ADDRESS_ID")
-                                        .from("CONTACT")
-                                        .where("CONTACT.CONTACTID", pSourceContactId)
-                                        .cell();
-            newWhere("CONTACT.CONTACTID", pTargetContactId).updateFields({"ADDRESS_ID": sourceStandard});
-        }
         
-        var updateCondition = newWhere([tableName, columnName], pSourceContactId).andIfSet(additionalCondition);
+        var updateCondition = new SqlBuilder(dbAlias).where([tableName, columnName], pSourceContactId).andIfSet(additionalCondition);
         
-        //don't use communications that the target already has
-        if (tableName == "COMMUNICATION")
-            updateCondition.and(null, newSelect("targetComm.COMMUNICATIONID")
-                    .from("COMMUNICATION", "targetComm")
-                    .where(["COMMUNICATION", "CONTACT_ID", "targetComm"], pTargetContactId)
-                    .and("targetComm.ADDR = COMMUNICATION.ADDR"),
-                SqlBuilder.NOT_EXISTS());
-            
-        var updateStatement = updateCondition.buildUpdateStatement(updateValues, tableName);
-        if (updateStatements.has(alias))
-            updateStatements.get(alias).push(updateStatement);
-        else
-            updateStatements.set(alias, [updateStatement]);
+        //push must be used here to keep the reference
+        statements.push(updateCondition.buildUpdateStatement(updateValues, tableName));
     });
     
     var totalChanges = 0;
@@ -1211,6 +1220,7 @@ _DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, p
     });
     
     totalChanges += newWhere("COMMUNICATION.CONTACT_ID", pSourceContactId).deleteData(); //delete leftover communications from the source contact
+    totalChanges += new AttributeRelationQuery(pSourceContactId).deleteAllAttributes(); //delete leftover attributes
 
     return totalChanges > 0;
 }
@@ -1220,44 +1230,63 @@ _DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, p
  *
  * @returns {String[[]]} Array in the format [TableName, ContactIdColumnName, AdditionalCondition, alias]
  */
-_DuplicateScannerUtils._getLinkedTableInfos = function()
+_DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
 {
+    //don't use communications that the target already has
+    var communicationDedupCondition = newWhere(null, newSelect("targetComm.COMMUNICATIONID") 
+            .from("COMMUNICATION", "targetComm")
+            .where(["COMMUNICATION", "CONTACT_ID", "targetComm"], pTargetContactId)
+            .and("targetComm.ADDR = COMMUNICATION.ADDR"),
+        SqlBuilder.NOT_EXISTS());
+    
+    //don't use attributes that the contact already has
+    var targetAttributeSubselect = newSelect("targetAttr.AB_ATTRIBUTERELATIONID")
+        .from("AB_ATTRIBUTERELATION", "targetAttr")
+        .where(["AB_ATTRIBUTERELATION", "OBJECT_ROWID", "targetAttr"], pTargetContactId)
+        .and("targetAttr.AB_ATTRIBUTE_ID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID");
+    
+    AttributeTypeUtil.getAllDatabaseFields().forEach(function (dbColumn)
+    {
+        targetAttributeSubselect.and(newWhere("targetAttr." + dbColumn + " = AB_ATTRIBUTERELATION." + dbColumn)
+            .or("targetAttr." + dbColumn + " is null"));
+    });
+    
     return[
-            ["AB_APPOINTMENTLINK", "OBJECT_ROWID", ""],
-            ["AB_CTILOG", "CONTACT_ID", ""],
-            ["AB_OBJECTRELATION", "AB_OBJECTRELATIONID", ""],
-            ["AB_OBJECTRELATION", "OBJECT1_ROWID", ""],
-            ["AB_OBJECTRELATION", "OBJECT2_ROWID", ""],
-            ["AB_LOGHISTORY", "TABLENAMEID", ""],
-            ["ADDRESS", "CONTACT_ID", ""],
-            ["BULKMAILRECIPIENT", "CONTACT_ID", ""],
-            ["BULKMAIL", "TESTING_CONTACT_ID", ""],
-            ["CAMPAIGN", "EMPLOYEE_CONTACT_ID", ""],
-            ["CAMPAIGNSTEP", "EMPLOYEE_CONTACT_ID", ""],
-            ["COMMRESTRICTION", "CONTACT_ID", ""],
-            ["COMMRESTRICTION", "EMPLOYEE_INVOLVED", ""],
-            ["COMMUNICATION", "CONTACT_ID", ""],
-            ["COMPETITION", "CONTACT_ID", ""],
-            ["CONTRACT", "CONTACT_ID", ""],
-            ["LETTERRECIPIENT", "CONTACT_ID", ""],
-            ["OBJECTMEMBER", "CONTACT_ID", ""],
-            ["OFFER", "CONTACT_ID", ""],
-            ["PRODUCT", "CONTACT_ID", ""],
-            ["PRODUCTPRICE", "CONTACT_ID", ""],
-            ["SALESORDER", "CONTACT_ID", ""],
-            ["SALESPROJECT", "CONTACT_ID", ""],
-            ["TASK", "REQUESTOR_CONTACT_ID", ""],
-            ["TASK", "EDITOR_CONTACT_ID", ""],
-            ["TASKLINK", "OBJECT_ROWID", ""],
-            ["ACTIVITY", "RESPONSIBLE", ""],
-            ["DSGVO", "CONTACT_ID", ""],
-            ["DSGVOINFO", "CONTACT_ID", ""],
-            ["TIMETRACKING", "CONTACT_ID", ""],
-            ["ACTIVITYLINK", "OBJECT_ROWID", ""],
-            ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", ""],
-            
-            ["ASYS_CALENDARLINK", "DBID", "", SqlUtils.getSystemAlias()]
-        ];
+        ["AB_APPOINTMENTLINK", "OBJECT_ROWID"],
+        ["AB_CTILOG", "CONTACT_ID"],
+        ["AB_OBJECTRELATION", "AB_OBJECTRELATIONID"],
+        ["AB_OBJECTRELATION", "OBJECT1_ROWID"],
+        ["AB_OBJECTRELATION", "OBJECT2_ROWID"],
+        ["AB_LOGHISTORY", "TABLENAMEID"],
+        ["ADDRESS", "CONTACT_ID"],
+        ["BULKMAILRECIPIENT", "CONTACT_ID"],
+        ["BULKMAIL", "TESTING_CONTACT_ID"],
+        ["CAMPAIGN", "EMPLOYEE_CONTACT_ID"],
+        ["CAMPAIGNSTEP", "EMPLOYEE_CONTACT_ID"],
+        ["COMMRESTRICTION", "CONTACT_ID"],
+        ["COMMRESTRICTION", "EMPLOYEE_INVOLVED"],
+        ["COMMUNICATION", "CONTACT_ID", communicationDedupCondition],
+        ["COMPETITION", "CONTACT_ID"],
+        ["CONTRACT", "CONTACT_ID"],
+        ["LETTERRECIPIENT", "CONTACT_ID"],
+        ["OBJECTMEMBER", "CONTACT_ID"],
+        ["OFFER", "CONTACT_ID"],
+        ["PRODUCT", "CONTACT_ID"],
+        ["PRODUCTPRICE", "CONTACT_ID"],
+        ["SALESORDER", "CONTACT_ID"],
+        ["SALESPROJECT", "CONTACT_ID"],
+        ["TASK", "REQUESTOR_CONTACT_ID"],
+        ["TASK", "EDITOR_CONTACT_ID"],
+        ["TASKLINK", "OBJECT_ROWID"],
+        ["ACTIVITY", "RESPONSIBLE"],
+        ["DSGVO", "CONTACT_ID"],
+        ["DSGVOINFO", "CONTACT_ID"],
+        ["TIMETRACKING", "CONTACT_ID"],
+        ["ACTIVITYLINK", "OBJECT_ROWID"],
+        ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", newWhere(null, targetAttributeSubselect, SqlBuilder.NOT_EXISTS())],
+
+        ["ASYS_CALENDARLINK", "DBID", "", SqlUtils.getSystemAlias()]
+    ];
 }
 
 /*
-- 
GitLab


From d7d9b8896653b3e2c17ed50e1a87b676f0dfef8e Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 16:19:33 +0200
Subject: [PATCH 130/251] DuplicateScanner_lib methods renamed to match coding
 guidelines

---
 .../onActionProcess.js                        |  4 +-
 .../onActionProcess.js                        |  4 +-
 .../testduplicatescanner/onActionProcess.js   | 16 +++----
 .../ignorewholecluster/onActionProcess.js     |  4 +-
 .../onlyshowcontactids_param/valueProcess.js  |  2 +-
 .../onlyshowcontactids_param/valueProcess.js  |  2 +-
 .../ignoreduplicate/onActionProcess.js        |  4 +-
 .../ignorewholecluster/onActionProcess.js     |  6 +--
 .../excludedcontactids_param/valueProcess.js  |  2 +-
 .../onlyshowcontactids_param/valueProcess.js  |  2 +-
 .../ignoreduplicate/onActionProcess.js        |  4 +-
 .../ignorewholecluster/onActionProcess.js     |  6 +--
 .../excludedcontactids_param/valueProcess.js  |  2 +-
 .../onlyshowcontactids_param/valueProcess.js  |  2 +-
 .../recordcontainers/db/onDBInsert.js         |  2 +-
 .../children/contactids_param/valueProcess.js |  2 +-
 process/DuplicateScanner_lib/process.js       | 48 +++++++++----------
 process/JditoFilter_lib/process.js            |  7 +--
 process/Leadimport_lib/process.js             |  4 +-
 .../process.js                                |  8 ++--
 .../process.js                                |  4 +-
 21 files changed, 68 insertions(+), 67 deletions(-)

diff --git a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
index bbe3de9139..e391b4c193 100644
--- a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildorganisationduplicatescache/onActionProcess.js
@@ -7,12 +7,12 @@ var targetEntity = "Organisation_entity";
 var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
 DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 logging.log(filterName + ": Done rebuilding ");
\ No newline at end of file
diff --git a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
index 4b3d2c9bc6..cad8736382 100644
--- a/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/runactiongroup/children/rebuildpersonduplicatescache/onActionProcess.js
@@ -7,12 +7,12 @@ var targetEntity = "Person_entity";
 var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
 DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 logging.log(filterName + ": Done rebuilding ");
\ No newline at end of file
diff --git a/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js b/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
index 47a4d2b39f..af7cd56a24 100644
--- a/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
+++ b/entity/DuplicateScanner_entity/entityfields/testactiongroup/children/testduplicatescanner/onActionProcess.js
@@ -162,13 +162,13 @@ import("JditoFilter_lib");
 //var tmpFieldsInFilterRay = ["CONTACTID", "FIRSTNAME", "LASTNAME", "GENDER"];
 //
 //logging.log("Löschen von PERSON Dubletten -> ");
-//DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity("Person_entity");
+//DuplicateScannerUtils.deleteClustersByTargetEntity("Person_entity");
 //
 //logging.log("Neu berechnen von PERSON Dubletten -> ");
 //DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
 //tmpFieldsInFilterRay, resultFieldsIdFieldName);
 //
-//DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+//DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 //##############################################################################
 
@@ -182,13 +182,13 @@ import("JditoFilter_lib");
 //
 //
 //logging.log("Löschen von ORGANISATION Dubletten -> ");
-//DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity)
+//DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity)
 //
 //logging.log("Neu berechnen von ORGANISATION Dubletten -> ");
 //DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonContactIds,
 //tmpFieldsInFilterRay, resultFieldsIdFieldName);
 //
-//DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+//DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 
 //####################################Rebuild person duplicates##########################################
@@ -210,11 +210,11 @@ import("JditoFilter_lib");
 //                            + " left join ADDRESS on ADDRESS.CONTACT_ID = CONTACT.CONTACTID";
 //
 //logging.log("Löschen von PERSON Dubletten -> ");
-//DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+//DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 //
 //let formatToJsonAndCallWsCallback = function(pPossibleDuplicatesRay)
 //{
-//    let indexResultFields = DuplicateScannerUtils.TranslateEntityToIndexFields(targetEntity, resultFields)
+//    let indexResultFields = DuplicateScannerUtils.translateEntityToIndexFields(targetEntity, resultFields)
 //
 //    //Run thru every duplicate result an read out the resultfields
 //    for (let i = 0; i < pPossibleDuplicatesRay.length; i++)
@@ -236,7 +236,7 @@ import("JditoFilter_lib");
 //DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, queryPersonFieldData,
 //duplicateFieldsConfig, resultFields, formatToJsonAndCallWsCallback);
 //
-//DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+//DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 
 
@@ -255,7 +255,7 @@ import("JditoFilter_lib");
 //valuesToCheck["GENDER"] = "m                                   ";
 //
 ////The result values can be accessed as seen above in "formatToJsonAndCallWsCallback"
-//let pPossibleDuplicatesRay = DuplicateScannerUtils.ScanForDuplicates(filterName, targetEntity, valuesToCheck, null);
+//let pPossibleDuplicatesRay = DuplicateScannerUtils.scanForDuplicates(filterName, targetEntity, valuesToCheck, null);
 //
 //logging.log(" pPossibleDuplicatesRay-> " + pPossibleDuplicatesRay);
 //
diff --git a/entity/Duplicates_entity/entityfields/duplicateclusteractiongroup/children/ignorewholecluster/onActionProcess.js b/entity/Duplicates_entity/entityfields/duplicateclusteractiongroup/children/ignorewholecluster/onActionProcess.js
index 115c4e363f..77822dbca0 100644
--- a/entity/Duplicates_entity/entityfields/duplicateclusteractiongroup/children/ignorewholecluster/onActionProcess.js
+++ b/entity/Duplicates_entity/entityfields/duplicateclusteractiongroup/children/ignorewholecluster/onActionProcess.js
@@ -6,14 +6,14 @@ import("system.notification");
 
 let clusterId = vars.get("$sys.selection");
 
-let duplicateContactIdsInClusterRay = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterId)
+let duplicateContactIdsInClusterRay = DuplicateScannerUtils.getCachedDuplicatesForClusterId(clusterId)
 
 if(duplicateContactIdsInClusterRay.length > 1)
 {
     let referenceDuplicateId = duplicateContactIdsInClusterRay[0];
     for (let i = 1; i < duplicateContactIdsInClusterRay.length; i++) 
     {
-        DuplicateScannerUtils.CreateUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
+        DuplicateScannerUtils.createUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
     }
     //notification.createConfig().notificationType(notification.t)
     //neon.refresh(["$field.SelfPersonDuplicatesConsumer"])
diff --git a/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/onlyshowcontactids_param/valueProcess.js b/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/onlyshowcontactids_param/valueProcess.js
index 918a8f2f26..ecb8c518cd 100644
--- a/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/onlyshowcontactids_param/valueProcess.js
+++ b/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/onlyshowcontactids_param/valueProcess.js
@@ -5,7 +5,7 @@ import("DuplicateScanner_lib");
 
 let clusterRecordId = vars.get("$field.UID");
 
-let contactIdsInCluster = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterRecordId);
+let contactIdsInCluster = DuplicateScannerUtils.getCachedDuplicatesForClusterId(clusterRecordId);
 
 /*
  * To achieve that if there are no duplicates, no contacts should be shown and therefore returned by the 
diff --git a/entity/Duplicates_entity/entityfields/duplicatepersonsconsumer/children/onlyshowcontactids_param/valueProcess.js b/entity/Duplicates_entity/entityfields/duplicatepersonsconsumer/children/onlyshowcontactids_param/valueProcess.js
index 918a8f2f26..ecb8c518cd 100644
--- a/entity/Duplicates_entity/entityfields/duplicatepersonsconsumer/children/onlyshowcontactids_param/valueProcess.js
+++ b/entity/Duplicates_entity/entityfields/duplicatepersonsconsumer/children/onlyshowcontactids_param/valueProcess.js
@@ -5,7 +5,7 @@ import("DuplicateScanner_lib");
 
 let clusterRecordId = vars.get("$field.UID");
 
-let contactIdsInCluster = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterRecordId);
+let contactIdsInCluster = DuplicateScannerUtils.getCachedDuplicatesForClusterId(clusterRecordId);
 
 /*
  * To achieve that if there are no duplicates, no contacts should be shown and therefore returned by the 
diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
index 3debf6e5a4..c9289cbd0e 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
@@ -4,7 +4,7 @@ import("DuplicateScanner_lib");
 
 let sourceContactId = vars.get("$param.DuplicateCurrentContactId_param");
 let selectedContactId = vars.get("$sys.selection");
-let clusterId = DuplicateScannerUtils.GetClusterId(sourceContactId);
-DuplicateScannerUtils.CreateUnrelatedDuplicateRelation(sourceContactId, selectedContactId, clusterId);
+let clusterId = DuplicateScannerUtils.getClusterId(sourceContactId);
+DuplicateScannerUtils.createUnrelatedDuplicateRelation(sourceContactId, selectedContactId, clusterId);
 
 neon.refreshAll();
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
index 7b3385b5bb..99d7f55925 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
@@ -5,16 +5,16 @@ import("DuplicateScanner_lib");
 import("system.notification");
 
 let contactId = vars.get("$field.CONTACTID");
-let clusterId = DuplicateScannerUtils.GetClusterId(contactId);
+let clusterId = DuplicateScannerUtils.getClusterId(contactId);
 
-let duplicateContactIdsInClusterRay = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterId)
+let duplicateContactIdsInClusterRay = DuplicateScannerUtils.getCachedDuplicatesForClusterId(clusterId)
 
 if(duplicateContactIdsInClusterRay.length > 1)
 {
     let referenceDuplicateId = duplicateContactIdsInClusterRay[0];
     for (let i = 1; i < duplicateContactIdsInClusterRay.length; i++) 
     {
-        DuplicateScannerUtils.CreateUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
+        DuplicateScannerUtils.createUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
     }
 }
 
diff --git a/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js b/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
index 30b7732937..849632882b 100644
--- a/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("system.result");
 import("DuplicateScanner_lib");
 
-let unrelatedIds = DuplicateScannerUtils.GetUnrelatedRelationsForDuplicate(vars.get("$field.CONTACTID"));
+let unrelatedIds = DuplicateScannerUtils.getUnrelatedRelationsForDuplicate(vars.get("$field.CONTACTID"));
 result.string(JSON.stringify(unrelatedIds));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js b/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
index 27d043515a..77f449d52a 100644
--- a/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
@@ -36,7 +36,7 @@ else
     //don't search if only the id field has a value
     var fieldsToCheck = Object.keys(valuesToCheck);
     if (!(fieldsToCheck.length === 0 || (fieldsToCheck.length === 1 && entityFieldsToLoad.entityIdField in valuesToCheck)))
-        scanResults = DuplicateScannerUtils.ScanForDuplicates(scannerName, targetEntity, valuesToCheck, null) || [];
+        scanResults = DuplicateScannerUtils.scanForDuplicates(scannerName, targetEntity, valuesToCheck, null) || [];
     
     var duplicateIds = scanResults.map(function (scanResult)
     {
diff --git a/entity/Person_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
index 3debf6e5a4..c9289cbd0e 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/ignoreduplicate/onActionProcess.js
@@ -4,7 +4,7 @@ import("DuplicateScanner_lib");
 
 let sourceContactId = vars.get("$param.DuplicateCurrentContactId_param");
 let selectedContactId = vars.get("$sys.selection");
-let clusterId = DuplicateScannerUtils.GetClusterId(sourceContactId);
-DuplicateScannerUtils.CreateUnrelatedDuplicateRelation(sourceContactId, selectedContactId, clusterId);
+let clusterId = DuplicateScannerUtils.getClusterId(sourceContactId);
+DuplicateScannerUtils.createUnrelatedDuplicateRelation(sourceContactId, selectedContactId, clusterId);
 
 neon.refreshAll();
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js b/entity/Person_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
index 7369a35ba7..f74997cb1d 100644
--- a/entity/Person_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
+++ b/entity/Person_entity/entityfields/duplicateactions/children/ignorewholecluster/onActionProcess.js
@@ -6,16 +6,16 @@ import("system.notification");
 
 let contactId = vars.get("$field.CONTACTID");
 logging.log("contactId -> " + contactId);
-let clusterId = DuplicateScannerUtils.GetClusterId(contactId);
+let clusterId = DuplicateScannerUtils.getClusterId(contactId);
 logging.log("clusterId -> " + clusterId);
-let duplicateContactIdsInClusterRay = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterId)
+let duplicateContactIdsInClusterRay = DuplicateScannerUtils.getCachedDuplicatesForClusterId(clusterId)
 logging.log("duplicateContactIdsInClusterRay -> " + duplicateContactIdsInClusterRay);
 if(duplicateContactIdsInClusterRay.length > 1)
 {
     let referenceDuplicateId = duplicateContactIdsInClusterRay[0];
     for (let i = 1; i < duplicateContactIdsInClusterRay.length; i++) 
     {
-        DuplicateScannerUtils.CreateUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
+        DuplicateScannerUtils.createUnrelatedDuplicateRelation(referenceDuplicateId, duplicateContactIdsInClusterRay[i], clusterId);
     }
     neon.refreshAll();
     
diff --git a/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js b/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
index 30b7732937..849632882b 100644
--- a/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
+++ b/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("system.result");
 import("DuplicateScanner_lib");
 
-let unrelatedIds = DuplicateScannerUtils.GetUnrelatedRelationsForDuplicate(vars.get("$field.CONTACTID"));
+let unrelatedIds = DuplicateScannerUtils.getUnrelatedRelationsForDuplicate(vars.get("$field.CONTACTID"));
 result.string(JSON.stringify(unrelatedIds));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js b/entity/Person_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
index ce8253a306..8fa370156e 100644
--- a/entity/Person_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
+++ b/entity/Person_entity/entityfields/selfduplicatesuncached/children/onlyshowcontactids_param/valueProcess.js
@@ -41,7 +41,7 @@ else
     //don't search if only the id field has a value
     var fieldsToCheck = Object.keys(valuesToCheck);
     if (!(fieldsToCheck.length === 0 || (fieldsToCheck.length === 1 && entityFieldsToLoad.entityIdField in valuesToCheck)))
-        scanResults = DuplicateScannerUtils.ScanForDuplicates(scannerName, targetEntity, valuesToCheck, null) || [];
+        scanResults = DuplicateScannerUtils.scanForDuplicates(scannerName, targetEntity, valuesToCheck, null) || [];
     
     var duplicateIds = scanResults.map(function (duplicate)
     {
diff --git a/entity/Person_entity/recordcontainers/db/onDBInsert.js b/entity/Person_entity/recordcontainers/db/onDBInsert.js
index 8a497d507e..3385c553d1 100644
--- a/entity/Person_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Person_entity/recordcontainers/db/onDBInsert.js
@@ -36,7 +36,7 @@ WorkflowSignalSender.inserted();
 //    }
 //}
 //
-//let scanResults = DuplicateScannerUtils.ScanForDuplicates("PersonDuplicates", targetEntity,
+//let scanResults = DuplicateScannerUtils.scanForDuplicates("PersonDuplicates", targetEntity,
 //valuesToCheck, null);
 //
 ////If we found duplicates, cache them
diff --git a/entity/QuickEntry_entity/entityfields/organdpersduplicates/children/contactids_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/organdpersduplicates/children/contactids_param/valueProcess.js
index 206a4b979f..68ef6879ab 100644
--- a/entity/QuickEntry_entity/entityfields/organdpersduplicates/children/contactids_param/valueProcess.js
+++ b/entity/QuickEntry_entity/entityfields/organdpersduplicates/children/contactids_param/valueProcess.js
@@ -77,7 +77,7 @@ function _getDuplicates (pScannerName, pEntity, pEntityFieldValues)
     if (fieldsToCheck.length === 0 || (fieldsToCheck.length === 1 && fieldsToLoad.entityIdField in valuesToCheck))
         return [];
     
-    var scanResults = DuplicateScannerUtils.ScanForDuplicates(pScannerName, pEntity, valuesToCheck, null) || [];
+    var scanResults = DuplicateScannerUtils.scanForDuplicates(pScannerName, pEntity, valuesToCheck, null) || [];
     var duplicateIds = scanResults.map(function (duplicate)
     {
         return duplicate[indexsearch.FIELD_ID];
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index c0f1880e5b..e85d22cd51 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -76,7 +76,7 @@ DuplicateScannerUtils.deleteCachedDuplicate = function(pDuplicateId)
         newWhereIfSet("DUPLICATECLUSTERS.DUPLICATEID", pDuplicateId).deleteData();
 
         //Delete all records where this duplicateId is mentioned
-        DuplicateScannerUtils.DeleteAllUnrelatedDuplicateRelations(pDuplicateId);
+        DuplicateScannerUtils.deleteAllUnrelatedDuplicateRelations(pDuplicateId);
     }
 }
 
@@ -87,7 +87,7 @@ DuplicateScannerUtils.deleteCachedDuplicate = function(pDuplicateId)
  * @param {String} pTargetEntity Entity which has been configured
  * @return Count of deleted rows
  */
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity = function(pTargetEntity)
+DuplicateScannerUtils.deleteClustersByTargetEntity = function(pTargetEntity)
 {
     return newWhereIfSet("DUPLICATECLUSTERS.TARGET_ENTITY", pTargetEntity).deleteData();
 }
@@ -101,7 +101,7 @@ DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity = function(pTargetEn
  *
  * @param {String} pTargetEntity Name of Entity whose duplicates should be updated
  */
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations = function(pTargetEntity)
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations = function(pTargetEntity)
 {
     /*
      * Update all records with the current valid clusterId where the same duplicateId combination exists
@@ -133,14 +133,14 @@ DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations = function(pTargetEntit
 /*
  * Creates a relation between two duplicates which means they are unrelated.
  * They will not appear in each others duplicate tab any more.
- * To remove this relation use DuplicateScannerUtils.DeleteUnrelatedDuplicateRelation
+ * To remove this relation use DuplicateScannerUtils.deleteUnrelatedDuplicateRelation
  *
  * @param {String} pSourceContactId Id of first duplicate
  * @param {String} pUnrelatedContactId Id of second duplicate
  * @param {String} pClusterId Id of the cluster in which the duplicates are aggregated
  * @returns {String} Number of Records inserted
  */
-DuplicateScannerUtils.CreateUnrelatedDuplicateRelation = function(pSourceContactId, pUnrelatedContactId, pClusterId)
+DuplicateScannerUtils.createUnrelatedDuplicateRelation = function(pSourceContactId, pUnrelatedContactId, pClusterId)
 {
     return new SqlBuilder().insertFields({
         "UNRELATEDDUPLICATEID": pUnrelatedContactId,
@@ -155,7 +155,7 @@ DuplicateScannerUtils.CreateUnrelatedDuplicateRelation = function(pSourceContact
  *  @param {String} pDuplicateId whose cluster id should be searched
  *  @returns {String} Cluster id
  */
-DuplicateScannerUtils.GetClusterId = function(pDuplicateId)
+DuplicateScannerUtils.getClusterId = function(pDuplicateId)
 {
     return newSelect("CLUSTERID")
                 .from("DUPLICATECLUSTERS")
@@ -170,7 +170,7 @@ DuplicateScannerUtils.GetClusterId = function(pDuplicateId)
  *  @param {String} pUnrelatedDuplicateId Id of the source duplicate
  *  @returns {String} Number of records deleted
  */
-DuplicateScannerUtils.DeleteUnrelatedDuplicateRelation = function(pSourceDuplicateId, pUnrelatedDuplicateId)
+DuplicateScannerUtils.deleteUnrelatedDuplicateRelation = function(pSourceDuplicateId, pUnrelatedDuplicateId)
 {
     return newWhere("UNRELATEDDUPLICATES.SOURCEDUPLICATEID", pSourceDuplicateId)
                 .and("UNRELATEDDUPLICATES.UNRELATEDDUPLICATEID", pUnrelatedDuplicateId)
@@ -183,9 +183,9 @@ DuplicateScannerUtils.DeleteUnrelatedDuplicateRelation = function(pSourceDuplica
  *  @param {String} pDuplicateId Duplicate id whose "unrelated" relations are to delete
  *  @returns {String} Number of records deleted
  */
-DuplicateScannerUtils.DeleteAllUnrelatedDuplicateRelations = function(pDuplicateId)
+DuplicateScannerUtils.deleteAllUnrelatedDuplicateRelations = function(pDuplicateId)
 {
-    DuplicateScannerUtils.DeleteUnrelatedDuplicateRelation(pDuplicateId, pDuplicateId);
+    DuplicateScannerUtils.deleteUnrelatedDuplicateRelation(pDuplicateId, pDuplicateId);
 }
 
 /*
@@ -194,7 +194,7 @@ DuplicateScannerUtils.DeleteAllUnrelatedDuplicateRelations = function(pDuplicate
  *  @param {String} pDuplicateId
  *  @returns {String[]} Array of duplicate ids
  */
-DuplicateScannerUtils.GetCachedDuplicatesForDuplicateId = function(pDuplicateId)
+DuplicateScannerUtils.getCachedDuplicatesForDuplicateId = function(pDuplicateId)
 {
     return newSelect("DUPLICATEID")
                 .from("DUPLICATECLUSTERS")
@@ -220,7 +220,7 @@ DuplicateScannerUtils.GetCachedDuplicatesForDuplicateId = function(pDuplicateId)
  * @param {String} pClusterId The clusters id
  * @return {String[]} Array of duplicate ids excluding those marked as unrelated
  */
-DuplicateScannerUtils.GetCachedDuplicatesForClusterId = function(pClusterId)
+DuplicateScannerUtils.getCachedDuplicatesForClusterId = function(pClusterId)
 {
     return newSelect("DUPLICATEID")
                 .from("DUPLICATECLUSTERS")
@@ -232,13 +232,13 @@ DuplicateScannerUtils.GetCachedDuplicatesForClusterId = function(pClusterId)
 
 /*
  * Recreates the cached duplicate clusters based on the configured pattern. <br />
- * The old clusters have to be deleted manually beforehand or by using "DeleteDuplicateClustersByTargetEntity".<br />
- * If there have already been ignored relations between duplicate records, it's advised to call "RefreshUnrelatedDuplicateRelations" after the recreation of the duplicates cache.<br />
+ * The old clusters have to be deleted manually beforehand or by using "deleteClustersByTargetEntity".<br />
+ * If there have already been ignored relations between duplicate records, it's advised to call "refreshUnrelatedDuplicateRelations" after the recreation of the duplicates cache.<br />
  * Please check the documentation of the params on how to get the infos required.<br />
  * <br />
  * If the usage of an external webservice has been activated, the search will be executed beforehand and the results will then be given to the pFormatValuesConsumeWebserviceCallback via parameter.<br />
  * To access the values it is advised to run thru the parameter like an array and access its value by key which is the index field name. The entity<br />
- * field names can be converted using DuplicateScannerUtils.TranslateEntityToIndexFields. For further infos see the example section below.<br />
+ * field names can be converted using DuplicateScannerUtils.translateEntityToIndexFields. For further infos see the example section below.<br />
  * <br />
  * Attention!<br />
  * If it is configured to use the external webservice callback the values have to be in the same format as they are in the parameter of the callback.<br />
@@ -334,7 +334,7 @@ DuplicateScannerUtils.scanRecords = function(pTargetEntity, pTargetRecordsData,
     var duplicatesToInsertQueries = [];
     for (let b = 0; b < pTargetRecordsData.length; b++)
     {
-        let entityFieldValuesRay = DuplicateScannerUtils.BuildEntityFieldConfigValueRays(pEntityFieldConfigs, pTargetRecordsData[b]);
+        let entityFieldValuesRay = DuplicateScannerUtils.buildEntityFieldConfigs(pEntityFieldConfigs, pTargetRecordsData[b]);
 
         //The first field in this Array must always be the configured id field. This is ensured using onValidation-logic
         let idValue = pTargetRecordsData[b][pEntityIdField];
@@ -490,11 +490,11 @@ DuplicateScannerUtils.getResultFields = function(pFilterName, pTargetEntity)
  *<br />
  * If the usage of an external webservice has been activated, the result will then be given to the pFormatValuesConsumeWebserviceCallback via parameter.<br />
  * To access the values it is advised to run thru the parameter like an array and access its value by key which is the index field name. The entity
- * field names can be converted using DuplicateScannerUtils.TranslateEntityToIndexFields
+ * field names can be converted using DuplicateScannerUtils.translateEntityToIndexFields
  * <br />
  * <br />
  * Attention!<br />
- * If it's a single ScanForDuplicates call it doesn't matter what the callback returns because after the callback, no more modifications follow before
+ * If it's a single scanForDuplicates call it doesn't matter what the callback returns because after the callback, no more modifications follow before
  * returning the data.<br />
  * If it's inside the RebuildCache the values have to be in the same format as the parameter
  *
@@ -553,7 +553,7 @@ DuplicateScannerUtils.getResultFields = function(pFilterName, pTargetEntity)
  * DuplicateScannerUtils.ScanForDuplicates(filterName, targetEntity, valuesToCheck,
  * formatToJsonAndCallWsCallback);
  */
-DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, pValuesToCheck, pFormatValuesConsumeWebserviceCallback)
+DuplicateScannerUtils.scanForDuplicates = function(pFilterName, pTargetEntity, pValuesToCheck, pFormatValuesConsumeWebserviceCallback)
 {
     let useExternalWebservice = _DuplicateScannerUtils._isUseExternalWebservice(pFilterName, pTargetEntity);
     let resultFields = DuplicateScannerUtils.getResultFields(pFilterName, pTargetEntity);
@@ -562,7 +562,7 @@ DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, p
     let entityFieldConfigs = _DuplicateScannerUtils._loadEntityFieldConfigsFromPattern(indexPattern);  
     let entityIdField = _DuplicateScannerUtils._loadEntityIdField(pFilterName, pTargetEntity);
     
-    let entityFieldConfigValuesRay = DuplicateScannerUtils.BuildEntityFieldConfigValueRays(entityFieldConfigs, pValuesToCheck);
+    let entityFieldConfigValuesRay = DuplicateScannerUtils.buildEntityFieldConfigs(entityFieldConfigs, pValuesToCheck);
    
    //The first field in this Array must always be the configured id field.
     let idValue = pValuesToCheck[entityIdField];
@@ -582,10 +582,10 @@ DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, p
  *
  *  @example
  *  let entityResultFields = ["LASTNAME"];
- *  let entityIndexFields = DuplicateScannerUtils.TranslateEntityToIndexFields("Person_entity", entityResultFields);
+ *  let entityIndexFields = DuplicateScannerUtils.translateEntityToIndexFields("Person_entity", entityResultFields);
  *
  */
-DuplicateScannerUtils.TranslateEntityToIndexFields = function(pEntityName, pEntityFields)
+DuplicateScannerUtils.translateEntityToIndexFields = function(pEntityName, pEntityFields)
 {
     let entityIndexFields = {};
     for (let i = 0; i < pEntityFields.length; i++)
@@ -711,7 +711,7 @@ DuplicateScannerUtils.mergeOrganisation = function(pSourceContactId, pTargetCont
  *
  * => ["{entityfield: FIRSTNAME}", "PETER"]]
  */
-DuplicateScannerUtils.BuildEntityFieldConfigValueRays = function(pDuplicateFieldsConfig, pTargetRecordData)
+DuplicateScannerUtils.buildEntityFieldConfigs = function(pDuplicateFieldsConfig, pTargetRecordData)
 {
     let INDEX_CONFIG_ENTITY_FIELD = 0;
     let entityFieldConfigValuesRay = [];
@@ -799,7 +799,7 @@ DuplicateScannerUtils.getEntityFieldObjectFromConfig = function (pFilterName, pT
     };
 }
 
-DuplicateScannerUtils.GetUnrelatedRelationsForDuplicate = function(pDuplicateId)
+DuplicateScannerUtils.getUnrelatedRelationsForDuplicate = function(pDuplicateId)
 {
     let unrelatedIds = [];
     let duplicateIds = newSelect("SOURCEDUPLICATEID, UNRELATEDDUPLICATEID")
@@ -933,7 +933,7 @@ _DuplicateScannerUtils._loadEntityIdField = function(pFilterName, pTargetEntity)
 }
 
 /*
- * @see DuplicateScannerUtils.ScanForDuplicates for the documentation
+ * @see DuplicateScannerUtils.scanForDuplicates for the documentation
  */
 _DuplicateScannerUtils._scanForDuplicates = function(pTargetEntity, pEntityFieldConfigValuesRay,
 pResultFields, pRecordIdValueToIgnore, pFormatValuesConsumeWebserviceCallback, pUseExternalWebservice, pIndexPattern)
diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js
index 4df4da2819..369edee61b 100644
--- a/process/JditoFilter_lib/process.js
+++ b/process/JditoFilter_lib/process.js
@@ -1,6 +1,7 @@
 import("system.tools");
 import("system.logging");
 import("Sql_lib");
+import("Util_lib");
 import("system.datetime");
 
 /**
@@ -222,7 +223,7 @@ JditoFilterUtils.getSqlCondition = function (pFilter, pTable, pTableAlias, pColu
         for (let fieldName in pColumnOrFnMap)
         {
             var columnOrFn = pColumnOrFnMap[fieldName];
-            if (typeof columnOrFn === "function")
+            if (Utils.isFunction(columnOrFn))
                 filterTranslator.addSpecialFieldConditionFn(fieldName, columnOrFn);
             else
                 filterTranslator.addSqlFieldMapping(fieldName, columnOrFn);
@@ -269,7 +270,7 @@ FilterSqlTranslator.prototype.filter = function (pFilter)
 {
     if (pFilter)
     {
-        if (typeof pFilter !== "object")
+        if (!Utils.isObject(pFilter))
             throw new TypeError("FilterSqlTranslator: Wrong type for the filter, expected 'object' but got '" + (typeof pFilter) + "'");
         this._filter = pFilter.filter || pFilter;
     }
@@ -409,7 +410,7 @@ FilterSqlTranslator.prototype.getSqlCondition = function ()
                 sqlField = table + "." + pFilter.name;
             
             var generatedCondition = _getCondition(filterValue, pFilter.operator, sqlField);
-            if (generatedCondition instanceof SqlBuilder || typeof generatedCondition === "string")
+            if (generatedCondition instanceof SqlBuilder || Utils.isString(generatedCondition))
             {
                 if (pOperator == "AND")
                     this.andIfSet(generatedCondition);
diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index d5b64428bd..79b550f399 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -886,7 +886,7 @@ LeadImportUtils.scanLeadDups = function(pAllContactData)
         
         if (orgObj != undefined && Object.keys(orgObj).length > 0)//checks if there is an ORGANISATIONDUPLICATE
         {
-            let scanResultsOrg = DuplicateScannerUtils.ScanForDuplicates("OrganisationDuplicates", "Organisation_entity", orgObj, null);
+            let scanResultsOrg = DuplicateScannerUtils.scanForDuplicates("OrganisationDuplicates", "Organisation_entity", orgObj, null);
             if (scanResultsOrg != null && scanResultsOrg.length > 0)
             {
                 let insertCountOrg = DuplicateScannerUtils.cacheNewScanResults(orgObj["CONTACTID"], scanResultsOrg, "Organisation_entity");
@@ -895,7 +895,7 @@ LeadImportUtils.scanLeadDups = function(pAllContactData)
         }
         if (persObj != undefined && Object.keys(persObj).length > 0)//checks if there is an PERSONDUPLICATE
         {
-            let scanResultsPers = DuplicateScannerUtils.ScanForDuplicates("PersonDuplicates", "Person_entity", persObj, null);
+            let scanResultsPers = DuplicateScannerUtils.scanForDuplicates("PersonDuplicates", "Person_entity", persObj, null);
             if (scanResultsPers != null && scanResultsPers.length > 0)
             {
                 let insertCountPers = DuplicateScannerUtils.cacheNewScanResults(persObj["CONTACTID"], scanResultsPers, "Person_entity");
diff --git a/process/RebuildAllDuplicateCaches_serverProcess/process.js b/process/RebuildAllDuplicateCaches_serverProcess/process.js
index ceb9f3560f..b08a0abf9e 100644
--- a/process/RebuildAllDuplicateCaches_serverProcess/process.js
+++ b/process/RebuildAllDuplicateCaches_serverProcess/process.js
@@ -27,13 +27,13 @@ var targetEntity = "Person_entity";
 var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
 DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 logging.log(filterName + ": Done rebuilding ");
 
@@ -44,12 +44,12 @@ filterName = "OrganisationDuplicates";
 targetEntity = "Organisation_entity";
 
 logging.log(filterName + ": Delete duplicates -> ");
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
 DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 logging.log(filterName + ": Done rebuilding ");
\ No newline at end of file
diff --git a/process/RebuildDuplicatesCache_serverProcess/process.js b/process/RebuildDuplicatesCache_serverProcess/process.js
index ed2a577e4b..1e7f532f75 100644
--- a/process/RebuildDuplicatesCache_serverProcess/process.js
+++ b/process/RebuildDuplicatesCache_serverProcess/process.js
@@ -28,13 +28,13 @@ var targetEntity = vars.get("$local.targetEntity");
 var recordBlockSize = DuplicateScannerUtils.getBlockSize();
 
 logging.log(filterName + ": Delete duplicates -> ");
-DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);
+DuplicateScannerUtils.deleteClustersByTargetEntity(targetEntity);
 
 logging.log(filterName + ": Recalculate duplicates -> ");
 DuplicateScannerUtils.rebuildDuplicatesCache(filterName, targetEntity, recordBlockSize, null);
 
 logging.log(filterName + ": Refresh unrelated duplicates -> ");
-DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);
+DuplicateScannerUtils.refreshUnrelatedDuplicateRelations(targetEntity);
 
 logging.log(filterName + ": Done rebuilding ");
 
-- 
GitLab


From abb71e13b20f568f65e6c9e731e7f7b6c4b179bb Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 16:52:34 +0200
Subject: [PATCH 131/251] Faulty activity was created when merging organization
 duplicates

---
 .../integratecurrentintoselectedaction/onActionProcess.js   | 2 +-
 process/DuplicateScanner_lib/process.js                     | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
index d75b5308bf..29dab7b72c 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/integratecurrentintoselectedaction/onActionProcess.js
@@ -4,7 +4,7 @@ import("system.neon");
 import("DuplicateScanner_lib");
 
 let sourceContactId = vars.get("$param.DuplicateCurrentContactId_param");
-let targetContactId = vars.get("$sys.selection");
+let targetContactId = vars.get("$sys.selection")[0];
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
 let mergeSuccess = DuplicateScannerUtils.mergeOrganisation(sourceContactId, targetContactId);
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index e85d22cd51..d6feb5a5eb 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -673,8 +673,8 @@ DuplicateScannerUtils.mergeOrganisation = function(pSourceContactId, pTargetCont
         .where("CONTACT.CONTACTID", pSourceContactId)
         .cell();
         
-    var isLinkedDataUpdated = _DuplicateScannerUtils._migrateLinkedContactData(pSourceContactId, pTargetContactId);
-    var isParticipantsUpdated = _DuplicateScannerUtils._migrateParticipantsToNewContact("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", 
+    _DuplicateScannerUtils._migrateLinkedContactData(pSourceContactId, pTargetContactId);
+    _DuplicateScannerUtils._migrateParticipantsToNewContact("CAMPAIGNPARTICIPANT", "CONTACT_ID", "CAMPAIGN_ID", 
         pSourceContactId, pTargetContactId);
     
     var deleteStatements = [];
@@ -692,7 +692,7 @@ DuplicateScannerUtils.mergeOrganisation = function(pSourceContactId, pTargetCont
 
     DuplicateScannerUtils.deleteCachedDuplicate(pSourceContactId);
 
-    return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows >= 2);
+    return deletedRows >= 2;
 }
 
 /*
-- 
GitLab


From 519839edfce55b7b33d25811f49cbece253ccafd Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 30 Sep 2020 16:54:05 +0200
Subject: [PATCH 132/251] Faulty activity was created when merging organization
 duplicates 2

---
 .../integrateselectedintocurrentaction/onActionProcess.js       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js b/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
index 824cc94978..1f3a9e3ddf 100644
--- a/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/duplicateactions/children/integrateselectedintocurrentaction/onActionProcess.js
@@ -5,7 +5,7 @@ import("system.neon");
 import("DuplicateScanner_lib");
 
 let targetContactId = vars.get("$param.DuplicateCurrentContactId_param");
-let sourceContactId = vars.get("$sys.selection");
+let sourceContactId = vars.get("$sys.selection")[0];
 
 //todo the actual merge ought to happen in a separate view where the contact infos can be merged manually by the user.
 let mergeSuccess = DuplicateScannerUtils.mergeOrganisation(sourceContactId, targetContactId);
-- 
GitLab


From 85be0f35cc05efc92084e12f842e2b973a9d1e2d Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Thu, 1 Oct 2020 14:03:30 +0200
Subject: [PATCH 133/251] fix Conversion Rate translation

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 31cf3abdb9..5727206c1c 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9509,7 +9509,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Conversion Rate</key>
-      <value>Umrechnungsrate</value>
+      <value>Conversion Rate</value>
     </entry>
     <entry>
       <key>AB_KEYWORD_ENTRYID</key>
-- 
GitLab


From e44f6307f8cbba6c957ba0d698c7293f56bb6055 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Thu, 1 Oct 2020 13:07:46 +0000
Subject: [PATCH 134/251] #1063183_DukumentenVorlage Tippfehler behoben, Belg
 DokumentenVorlage wird verwendet und kann bearbeitet werden.

---
 .../DocumentTemplate_entity.aod               |  1 +
 .../stateProcess.js                           | 10 +++++++
 .../entityfields/footer/valueProcess.js       |  6 -----
 .../entityfields/header/valueProcess.js       |  6 -----
 .../entityfields/neworder/onActionProcess.js  |  3 +--
 entity/Order_entity/Order_entity.aod          |  6 +++--
 .../chosentexfooter/onValueChange.js          |  9 +++++++
 .../chosentexfooter/stateProcess.js           | 10 +++++++
 .../chosentexheader/onValueChange.js          |  9 +++++++
 .../chosentexheader/stateProcess.js           | 10 +++++++
 .../entityfields/footer/valueProcess.js       | 26 -------------------
 .../entityfields/header/valueProcess.js       | 26 -------------------
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  2 +-
 .../OrderDetail_view/OrderDetail_view.aod     |  8 ++++++
 process/Offer_lib/process.js                  |  4 +--
 15 files changed, 64 insertions(+), 72 deletions(-)
 create mode 100644 entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js
 create mode 100644 entity/Order_entity/entityfields/chosentexfooter/onValueChange.js
 create mode 100644 entity/Order_entity/entityfields/chosentexfooter/stateProcess.js
 create mode 100644 entity/Order_entity/entityfields/chosentexheader/onValueChange.js
 create mode 100644 entity/Order_entity/entityfields/chosentexheader/stateProcess.js
 delete mode 100644 entity/Order_entity/entityfields/footer/valueProcess.js
 delete mode 100644 entity/Order_entity/entityfields/header/valueProcess.js

diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
index d095043d56..9cf1d9cca3 100644
--- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
+++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
@@ -320,6 +320,7 @@
     </entityField>
     <entityConsumer>
       <name>DocumentTemplatePlaceOfUse</name>
+      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>DocumentTemplatePlaceOfUse_entity</entityName>
diff --git a/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js
new file mode 100644
index 0000000000..1b9e05bf63
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js
@@ -0,0 +1,10 @@
+import("KeywordRegistry_basic");
+import("system.result");
+import("system.vars");
+import("system.neon");
+
+
+if (vars.get("$field.KIND") == $KeywordRegistry.documentTemplateType$textModular())
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+else 
+    result.string(neon.COMPONENTSTATE_EDITABLE);
diff --git a/entity/Offer_entity/entityfields/footer/valueProcess.js b/entity/Offer_entity/entityfields/footer/valueProcess.js
index d87d0711fe..13afc8d9ab 100644
--- a/entity/Offer_entity/entityfields/footer/valueProcess.js
+++ b/entity/Offer_entity/entityfields/footer/valueProcess.js
@@ -7,9 +7,3 @@ import("system.util");
 
 if(vars.exists("$param.OfferFooter_param") && vars.get("$param.OfferFooter_param")) 
     result.string(vars.get("$param.OfferFooter_param"));
-
-else if(vars.get("$this.value"))
-    result.string(vars.get("$this.value"));
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string("Vielen Dank!");  //TODO: translate
diff --git a/entity/Offer_entity/entityfields/header/valueProcess.js b/entity/Offer_entity/entityfields/header/valueProcess.js
index d627690978..5aefd8c34d 100644
--- a/entity/Offer_entity/entityfields/header/valueProcess.js
+++ b/entity/Offer_entity/entityfields/header/valueProcess.js
@@ -7,9 +7,3 @@ import("system.util");
 
 if(vars.exists("$param.OfferHeader_param") && vars.get("$param.OfferHeader_param")) 
     result.string(vars.get("$param.OfferHeader_param"));
-
-else if(vars.get("$this.value"))
-    result.string(vars.get("$this.value"));
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string("Gerne bieten wir Ihnen wie folgt an:");  //TODO: translate
diff --git a/entity/Offer_entity/entityfields/neworder/onActionProcess.js b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
index 696d171c7e..dbaec31a9a 100644
--- a/entity/Offer_entity/entityfields/neworder/onActionProcess.js
+++ b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
@@ -7,9 +7,8 @@ var pRowId = vars.getString("$field.OBJECT_ROWID");
 var pContext=vars.getString("$field.OBJECT_TYPE")
 var currency = vars.getString("$field.CURRENCY");
 var language = vars.getString("$field.ISOLANGUAGE");
-var header = vars.getString("$field.HEADER");
 var address = vars.getString("$field.ADDRESS");
 var offerId = vars.getString("$field.OFFERID");
 
-OfferUtils.copyToOrder(offerId, pContext, pRowId, contactId, language, currency, address, header);
+OfferUtils.copyToOrder(offerId, pContext, pRowId, contactId, language, currency, address);
     
\ No newline at end of file
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 9264d6dfcb..0ad06c74ee 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -91,13 +91,11 @@
       <name>HEADER</name>
       <title>Header text</title>
       <contentType>LONG_TEXT</contentType>
-      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/header/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>FOOTER</name>
       <title>Footer text</title>
       <contentType>LONG_TEXT</contentType>
-      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/footer/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
       <name>Orderitems</name>
@@ -718,11 +716,15 @@
       <name>ChosenTexHeader</name>
       <title>Choose Header</title>
       <consumer>DocumentTemplateTexHeader</consumer>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/chosentexheader/stateProcess.js</stateProcess>
+      <onValueChange>%aditoprj%/entity/Order_entity/entityfields/chosentexheader/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>ChosenTexFooter</name>
       <title>Choose Footer</title>
       <consumer>DocumentTemplateTexFooter</consumer>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/chosentexfooter/stateProcess.js</stateProcess>
+      <onValueChange>%aditoprj%/entity/Order_entity/entityfields/chosentexfooter/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>ChosenPaymentAddress</name>
diff --git a/entity/Order_entity/entityfields/chosentexfooter/onValueChange.js b/entity/Order_entity/entityfields/chosentexfooter/onValueChange.js
new file mode 100644
index 0000000000..051e2f3545
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosentexfooter/onValueChange.js
@@ -0,0 +1,9 @@
+import("DocumentTemplate_lib");
+import("system.vars");
+
+if (vars.get("$field.ChosenTexFooter"))
+{
+    let docTemp = DocumentTemplateUtils.getTemplate(vars.get("$field.ChosenTexFooter"))
+    
+    vars.set("$field.FOOTER", docTemp.getReplacedContent({}));
+}
diff --git a/entity/Order_entity/entityfields/chosentexfooter/stateProcess.js b/entity/Order_entity/entityfields/chosentexfooter/stateProcess.js
new file mode 100644
index 0000000000..1c74ad4deb
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosentexfooter/stateProcess.js
@@ -0,0 +1,10 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+let state = vars.get("$sys.recordstate");
+
+if(state == neon.OPERATINGSTATE_NEW || state == neon.OPERATINGSTATE_EDIT)
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosentexheader/onValueChange.js b/entity/Order_entity/entityfields/chosentexheader/onValueChange.js
new file mode 100644
index 0000000000..52d5a5b0e0
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosentexheader/onValueChange.js
@@ -0,0 +1,9 @@
+import("DocumentTemplate_lib");
+import("system.vars");
+
+if (vars.get("$field.ChosenTexHeader"))
+{
+    let docTemp = DocumentTemplateUtils.getTemplate(vars.get("$field.ChosenTexHeader"))
+    
+    vars.set("$field.HEADER", docTemp.getReplacedContent({}));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosentexheader/stateProcess.js b/entity/Order_entity/entityfields/chosentexheader/stateProcess.js
new file mode 100644
index 0000000000..1c74ad4deb
--- /dev/null
+++ b/entity/Order_entity/entityfields/chosentexheader/stateProcess.js
@@ -0,0 +1,10 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+let state = vars.get("$sys.recordstate");
+
+if(state == neon.OPERATINGSTATE_NEW || state == neon.OPERATINGSTATE_EDIT)
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/footer/valueProcess.js b/entity/Order_entity/entityfields/footer/valueProcess.js
deleted file mode 100644
index 2351de155e..0000000000
--- a/entity/Order_entity/entityfields/footer/valueProcess.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import("Sql_lib");
-import("system.result");
-import("system.vars");
-import("system.neon");
-import("system.db");
-import("system.util");
-
-if (vars.get("$this.value") == null)
-{
-    if(vars.get("$this.value"))
-        result.string(vars.get("$this.value"));
-
-    else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-        result.string("Danke sehr:"); //TODO: translate
-
-    if (vars.get("$field.ChosenTexFooter") != "")
-    {
-        var binaryId = newSelect("ID", SqlUtils.getBinariesAlias())
-        .from("ASYS_BINARIES")
-        .whereIfSet("ASYS_BINARIES.ROW_ID", "$field.ChosenTexFooter")
-        .cell(true);
-                            
-        if (binaryId)
-            result.string(util.decodeBase64String(db.getBinaryContent(binaryId, SqlUtils.getBinariesAlias())));
-    }
-}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/header/valueProcess.js b/entity/Order_entity/entityfields/header/valueProcess.js
deleted file mode 100644
index 6b045a0397..0000000000
--- a/entity/Order_entity/entityfields/header/valueProcess.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import("Sql_lib");
-import("system.result");
-import("system.vars");
-import("system.neon");
-import("system.db");
-import("system.util");
-
-if (vars.get("$this.value") == null)
-{
-    if(vars.get("$this.value"))
-        result.string(vars.get("$this.value"));
-
-    else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-        result.string("Gerne bieten wir Ihnen wie folgt an:"); //TODO: translation
-
-    if (vars.get("$field.ChosenTexHeader") != "")
-    {
-        var binaryId = newSelect("ID", SqlUtils.getBinariesAlias())
-        .from("ASYS_BINARIES")
-        .whereIfSet("ASYS_BINARIES.ROW_ID", "$field.ChosenTexHeader")
-        .cell(true);
-                            
-        if (binaryId)
-            result.string(util.decodeBase64String(db.getBinaryContent(binaryId, SqlUtils.getBinariesAlias())));
-    }
-}
\ No newline at end of file
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 31cf3abdb9..f8c58a2813 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -6709,7 +6709,7 @@
     </entry>
     <entry>
       <key>Receipt Header Text</key>
-      <value>Beleg kopftext</value>
+      <value>Beleg Kopftext</value>
     </entry>
     <entry>
       <key>Cancellation</key>
diff --git a/neonView/OrderDetail_view/OrderDetail_view.aod b/neonView/OrderDetail_view/OrderDetail_view.aod
index d912f8d7a1..df64544990 100644
--- a/neonView/OrderDetail_view/OrderDetail_view.aod
+++ b/neonView/OrderDetail_view/OrderDetail_view.aod
@@ -15,10 +15,18 @@
       <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
+        <entityFieldLink>
+          <name>6813f374-363c-4f99-8ee0-17362635c6d5</name>
+          <entityField>ChosenTexHeader</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>8bf2a10e-e7e9-4f33-98cf-4ded02bf68a9</name>
           <entityField>HEADER</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>4812559a-afe1-4036-8688-869d02564db8</name>
+          <entityField>ChosenTexFooter</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>d6f2774b-34c2-4db8-9730-e98b4c83503a</name>
           <entityField>FOOTER</entityField>
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index 3ba48d7e1d..7c9504fa26 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -384,9 +384,8 @@ OfferUtils.copyOfferItems = function (pSourceOfferId, pTargetOfferId)
  * @param pLanguage {String} language
  * @param pCurrency {String} [currency=""]
  * @param pAddress {String} [address=""]
- * @param pHeader {String} [header=""]
  */
-OfferUtils.copyToOrder = function (pOfferId, pContextId, pRowId, pContactId, pLanguage, pCurrency, pAddress, pHeader)
+OfferUtils.copyToOrder = function (pOfferId, pContextId, pRowId, pContactId, pLanguage, pCurrency, pAddress)
 {  
         var fieldparams = 
         {
@@ -394,7 +393,6 @@ OfferUtils.copyToOrder = function (pOfferId, pContextId, pRowId, pContactId, pLa
         "$field.ISOLANGUAGE" : pLanguage,
         "$field.OFFER_ID" : pOfferId,
         "$field.CURRENCY" : pCurrency || "",
-        "$field.HEADER" : pHeader || "",
         "$field.PAYMENTADDRESS" : pAddress || "",
         "$field.OBJECT_TYPE" : pContextId || "",
         "$field.OBJECT_ROWID" : pRowId || ""
-- 
GitLab


From 9b5282ae7dfb0e4aa174a38557fa6570a21918d9 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:56:53 +0200
Subject: [PATCH 135/251] #1063997 Favorites: Favoritegroup tranlation

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 04c8243347..5009df56c3 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -34,6 +34,10 @@
       <key>Open modeler</key>
       <value>Modeler öffnen</value>
     </entry>
+    <entry>
+      <key>Favoritegroup</key>
+      <value>Favoritengruppe</value>
+    </entry>
     <entry>
       <key>Data imported. Contact not found.</key>
       <value>Daten importiert. Keine weiteren Personendaten gefunden.</value>
-- 
GitLab


From 2f54ca28fe1a759f847742da22b07156cf7a39a9 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Thu, 1 Oct 2020 15:49:47 +0200
Subject: [PATCH 136/251] #1063997 Favorites: Translation + Bugfix

---
 entity/Person_entity/Person_entity.aod               | 2 +-
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod | 3 +++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       | 3 +++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index a7ffd83ca2..4bb81b013f 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1666,7 +1666,7 @@
         </filterExtensionSet>
         <filterExtension>
           <name>Favorits_filter</name>
-          <title>FavoriteGroup</title>
+          <title>Favoritegroup</title>
           <contentType>TEXT</contentType>
           <filterValuesProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js</filterValuesProcess>
           <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js</filterConditionProcess>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 70cd0f715d..5e056b9be7 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7266,6 +7266,9 @@
     <entry>
       <key>FavoriteGroup</key>
     </entry>
+    <entry>
+      <key>Favoritegroup</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 64945d9c0e..8347bc106b 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7347,6 +7347,9 @@
     <entry>
       <key>FavoriteGroup</key>
     </entry>
+    <entry>
+      <key>Favoritegroup</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab


From 15494d2f4f5255e571825f2f8d3ec1211900f2f5 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 1 Oct 2020 15:15:03 +0200
Subject: [PATCH 137/251] DuplicateScanner fix for excluded words

---
 .../duplicates/duplicatescanner.xml             |  2 +-
 entity/DSGVOInfo_entity/afterSave.js            |  5 +++--
 process/DuplicateScanner_lib/process.js         | 17 +++++++++--------
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/duplicates/duplicatescanner.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/duplicates/duplicatescanner.xml
index c68b0f2baa..d9a1e3cecf 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/duplicates/duplicatescanner.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/duplicates/duplicatescanner.xml
@@ -20,7 +20,7 @@
             <column name="FILTER_NAME" value="OrganisationDuplicates" />
             <column name="EXTERNAL_SERVICE_USAGE_ALLOWED" valueNumeric="0" />
             <column name="ID_FIELD_NAME" value="CONTACTID" />
-            <column name="SCAN_PATTERN" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;provider&quot;:&quot;indexP&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;NAME&quot;,&quot;operator&quot;:&quot;CONTAINSNOT&quot;,&quot;value&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;key&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;contenttype&quot;:&quot;LONG_TEXT&quot;},{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;STANDARD_CITY&quot;,&quot;operator&quot;:&quot;ISNOTNULL&quot;,&quot;value&quot;:&quot;&quot;,&quot;key&quot;:&quot;&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}" />
+            <column name="SCAN_PATTERN" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;provider&quot;:&quot;indexP&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;NAME&quot;,&quot;operator&quot;:&quot;CONTAINSNOT&quot;,&quot;value&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;se\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;key&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;contenttype&quot;:&quot;LONG_TEXT&quot;},{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;STANDARD_CITY&quot;,&quot;operator&quot;:&quot;ISNOTNULL&quot;,&quot;value&quot;:&quot;&quot;,&quot;key&quot;:&quot;&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}" />
             <column name="USER_NEW" value="Admin" />
             <column name="DATE_NEW" valueDate="2020-06-26T00:00:00" />
             <column name="USER_EDIT" value="Admin" />
diff --git a/entity/DSGVOInfo_entity/afterSave.js b/entity/DSGVOInfo_entity/afterSave.js
index fab6c5f77c..d6e70c7916 100644
--- a/entity/DSGVOInfo_entity/afterSave.js
+++ b/entity/DSGVOInfo_entity/afterSave.js
@@ -18,6 +18,7 @@ var contactId = entityData["param.ContactId_param"];
 var reportType = entityData["param.ReportType_param"];
 
 if (reportType)
+{
     DataPrivacyUtils.openReport(contactId, reportType, params);
-
-result.string(true);
\ No newline at end of file
+    result.string(true);
+}
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index d6feb5a5eb..3a8ac98fef 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -731,13 +731,13 @@ DuplicateScannerUtils.buildEntityFieldConfigs = function(pDuplicateFieldsConfig,
             entityFieldValue = entityFieldValue.toLowerCase().replace(/[():\.\/!]/gi, "").trim();
         
         let exclude = fieldConfig.exclude;
-        if ( exclude )
+        if (exclude)
         {   
-            for(let i = 0; i < exclude.length; i++)
-            {    
+            exclude.forEach(function (excludeValue)
+            {
                 entityFieldValue = " " + entityFieldValue + " ";
-                entityFieldValue = entityFieldValue.replace(new RegExp( " " + exclude[i] + " ", "gi"), "");
-            }    
+                entityFieldValue = entityFieldValue.replace(new RegExp( " " + excludeValue + " ", "gi"), "");
+            });  
         }
         
         let valuelength = fieldConfig.length; 
@@ -893,9 +893,10 @@ _DuplicateScannerUtils._filterChildsRowToScanPattern = function (name, operator,
     let row = "";
     row = row + name.toLowerCase() + ':({"entityfield":"' + name + '"';
     switch (operator){
-        case 'NOT_EQUAL':
-            row = row + ', "exclude":' + JSON.parse(value);
-        case 'ISNOTNULL':
+        case "NOT_EQUAL":
+        case "CONTAINSNOT":
+            row = row + ', "exclude":' + value;
+        case "ISNOTNULL":
             row = row + ', "empty":' + false;
     }
     row = row + '})';
-- 
GitLab


From 76c06585c4ca41006cc07b13c3cfb7cea6954b79 Mon Sep 17 00:00:00 2001
From: Daniel Tran <d.tran@adito.de>
Date: Fri, 2 Oct 2020 06:22:52 +0000
Subject: [PATCH 138/251] #1058762: Display district responsibles in
 PersonMain_view.

---
 .../DistrictResponsible_entity.aod             |  7 +++++++
 .../iconIdProcess.js                           |  5 +++++
 .../expression.js                              | 10 ++--------
 entity/Person_entity/Person_entity.aod         | 16 ++++++++++++++++
 .../children/orguid_param/valueProcess.js      |  8 ++++++++
 .../districtresponsibles/stateProcess.js       |  9 +++++++++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod |  2 +-
 neonContext/Organisation/Organisation.aod      |  4 ----
 .../DistrictResponsibleList_view.aod           |  5 +++++
 .../OrganisationDistrictResponsibles_view.aod  | 18 ------------------
 .../OrganisationMain_view.aod                  | 10 +++++-----
 neonView/PersonMain_view/PersonMain_view.aod   |  5 +++++
 12 files changed, 63 insertions(+), 36 deletions(-)
 create mode 100644 entity/DistrictResponsible_entity/iconIdProcess.js
 create mode 100644 entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js
 create mode 100644 entity/Person_entity/entityfields/districtresponsibles/stateProcess.js
 delete mode 100644 neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod

diff --git a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
index 539afbb9ac..cc4783ab5b 100644
--- a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
+++ b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
@@ -6,6 +6,7 @@
   <icon>VAADIN:GLOBE</icon>
   <title>District Responsible</title>
   <contentTitleProcess>%aditoprj%/entity/DistrictResponsible_entity/contentTitleProcess.js</contentTitleProcess>
+  <iconIdProcess>%aditoprj%/entity/DistrictResponsible_entity/iconIdProcess.js</iconIdProcess>
   <image>VAADIN:GLOBE</image>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -164,6 +165,12 @@
           <fieldName>DistrictResponsibles</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>2b3318a3-4925-4aa8-bf6e-bc5489549327</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>DistrictResponsibles</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/DistrictResponsible_entity/iconIdProcess.js b/entity/DistrictResponsible_entity/iconIdProcess.js
new file mode 100644
index 0000000000..b60b52f93c
--- /dev/null
+++ b/entity/DistrictResponsible_entity/iconIdProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+
+var res = "TEXT:" + vars.get("$field.EMPLOYEE_CONTACT_ID.displayValue");
+result.string(res);
\ No newline at end of file
diff --git a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
index b00816d2ee..ea80128c82 100644
--- a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
+++ b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js
@@ -1,11 +1,5 @@
-import("system.logging");
 import("system.result");
 import("Contact_lib");
-import("Sql_lib");
 
-
-var contact = Contact.createWithColumnPreset();
-var renderer = new ContactTitleRenderer(contact, ContactTitleRenderer.OPTIONS.NoOption);
-var selectExpression = renderer.asSql();
-
-result.string(newSelect(selectExpression));
\ No newline at end of file
+var res = ContactUtils.getResolvingDisplaySubSql("DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID", false);
+result.string(res);
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 4bb81b013f..6ae187ece5 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1365,6 +1365,22 @@
         </entityParameter>
       </children>
     </entityProvider>
+    <entityConsumer>
+      <name>DistrictResponsibles</name>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DistrictResponsible_entity</entityName>
+        <fieldName>OrganisationResponsibles</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>OrgUid_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js b/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js
new file mode 100644
index 0000000000..9bae30ceb9
--- /dev/null
+++ b/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.vars");
+
+
+if (vars.exists("$field.ORGANISATION_CONTACTID") && vars.get("$field.ORGANISATION_CONTACTID"))
+{
+    result.string(vars.get("$field.ORGANISATION_CONTACTID"));
+}
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js b/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js
new file mode 100644
index 0000000000..6b51996c15
--- /dev/null
+++ b/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js
@@ -0,0 +1,9 @@
+import("Employee_lib");
+import("system.result");
+import("system.vars");
+import("system.neon");
+
+if (vars.get("$field.ORGANISATION_CONTACTID") && !EmployeeUtils.isUser(vars.get("$field.CONTACTID")))
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 5009df56c3..d275a96f0b 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9304,7 +9304,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>District Responsible</key>
-      <value>Gebietsverantwortlicher</value>
+      <value>Gebietsverantwortliche</value>
     </entry>
     <entry>
       <key>Responsibles</key>
diff --git a/neonContext/Organisation/Organisation.aod b/neonContext/Organisation/Organisation.aod
index 46f4d763f7..87f1786ece 100644
--- a/neonContext/Organisation/Organisation.aod
+++ b/neonContext/Organisation/Organisation.aod
@@ -67,9 +67,5 @@
       <name>0b052872-d6b4-41ac-ad0b-580575893e1b</name>
       <view>OrganisationLesserNoiseTable_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>2193fe84-ff57-4382-8200-5d1d846f455c</name>
-      <view>OrganisationDistrictResponsibles_view</view>
-    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod b/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod
index 2d6c800894..cab52b315c 100644
--- a/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod
+++ b/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod
@@ -20,7 +20,12 @@
       <isCreatable v="false" />
       <isDeletable v="false" />
       <isEditable v="false" />
+      <title>Responsibles</title>
       <columns>
+        <neonTableColumn>
+          <name>785ec0b8-e71d-4766-a03e-f125a465aa58</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>158f589a-497f-4522-9b43-d7a6155c6818</name>
           <entityField>DISTRICT_ID</entityField>
diff --git a/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod b/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod
deleted file mode 100644
index ab57158edf..0000000000
--- a/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
-  <name>OrganisationDistrictResponsibles_view</name>
-  <title>Responsibles</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>a698babd-271c-4f21-94f7-391f4ad80877</name>
-      <entityField>DistrictResponsibles</entityField>
-      <view>DistrictResponsibleList_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod
index f02268bc9b..df9be823df 100644
--- a/neonView/OrganisationMain_view/OrganisationMain_view.aod
+++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod
@@ -55,16 +55,16 @@
       <entityField>#ENTITY</entityField>
       <view>OrganisationAttributeRestriction_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>a806bf0f-6214-4aad-872b-74e6f7fd1ee5</name>
+      <entityField>DistrictResponsibles</entityField>
+      <view>DistrictResponsibleList_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>eba90ed2-5e55-4cdb-9e0b-5a09feeb7536</name>
       <entityField>Documents</entityField>
       <view>DocumentFilter_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>db26269b-32ae-47da-ba22-41e0a5952103</name>
-      <entityField>#ENTITY</entityField>
-      <view>OrganisationDistrictResponsibles_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>0686ad7e-8dc7-4b10-9df2-bf066ae3a310</name>
       <entityField>LogHistories</entityField>
diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod
index 4cc0562f16..7e88568ac7 100644
--- a/neonView/PersonMain_view/PersonMain_view.aod
+++ b/neonView/PersonMain_view/PersonMain_view.aod
@@ -49,6 +49,11 @@
       <entityField>Districts</entityField>
       <view>DistrictList_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>19a5f9ed-228d-4352-9e82-e7aa690648e9</name>
+      <entityField>DistrictResponsibles</entityField>
+      <view>DistrictResponsibleList_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>4b50b784-484f-4cdf-a705-4c356da763fa</name>
       <entityField>Documents</entityField>
-- 
GitLab


From cea504e9b9455502d0dbd19f262c1ea2f41f55f8 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 06:26:34 +0000
Subject: [PATCH 139/251] Leadimport-Fix_SpracheKeyword

---
 process/Leadimport_lib/process.js           | 94 ++++++++++-----------
 process/importLead_serverProcess/process.js | 12 +++
 2 files changed, 56 insertions(+), 50 deletions(-)

diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 79b550f399..426169387e 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -153,9 +153,6 @@ LeadImportUtils.loadImportFile = function(pBinId, pFieldSep, pFieldLimit, pRecor
  */
 LeadImportUtils.importData = function(pDataFields, pDataTypes, pFieldDef, pFieldValues, pImportDefID, pAttrObject, pSource, pUser, pDate)
 {
-    // set the mappings
-    LeadImportUtils.mapping = LeadImportUtils.getMapping(pImportDefID);
-    
     var LeadValues = LeadImportUtils.setValues(pDataFields["LEAD"], pFieldDef, pFieldValues); // set the Lead values
     
     var orgid = "";
@@ -329,13 +326,7 @@ LeadImportUtils.setValues  = function(pFields, pFieldDef, pFieldValues)
         {
             if (pFieldValues[ pFieldDef[i][0]] != undefined) 
             {
-                if (LeadImportUtils.mapping != undefined && 
-                    LeadImportUtils.mapping[pFieldDef[i][1]] != undefined && 
-                    LeadImportUtils.mapping[pFieldDef[i][1]][pFieldValues[pFieldDef[i][0]]] != undefined) 
-                {
-                    // mapping is available and is set
-                    pFieldValues[pFieldDef[i][0]] = LeadImportUtils.mapping[pFieldDef[i][1]][pFieldValues[pFieldDef[i][0]]];
-                }
+                pFieldValues[pFieldDef[i][0]] = LeadImportUtils.getMappedOutputvalue(pFieldDef[i][1], pFieldValues[pFieldDef[i][0]]);
                     
                 dataValues[pFieldDef[i][1]] = pFieldValues[pFieldDef[i][0]];
             }
@@ -348,6 +339,26 @@ LeadImportUtils.setValues  = function(pFields, pFieldDef, pFieldValues)
     return dataValues;
 }
 
+/**
+ * Get the mapped outputvalue of the inputvalue.
+ * Thes are the mapping of the mapping-tab in the Leadimport
+ *
+ * @param {String} pField field
+ * @param {String} pInputValue import values
+ *
+ * @return {String} outputvalue
+ */
+LeadImportUtils.getMappedOutputvalue = function (pField, pInputValue) {
+    if (LeadImportUtils.mapping != undefined && 
+        LeadImportUtils.mapping[pField] != undefined && 
+        LeadImportUtils.mapping[pField][pInputValue] != undefined) 
+    {
+        // mapping is available and is set
+        return LeadImportUtils.mapping[pField][pInputValue];
+    }
+    return pInputValue;
+}
+
 /**
  * returns import fields
  *
@@ -580,7 +591,8 @@ LeadImportUtils.insertOrg = function(pDataFields, pDataTypes,  pFieldDef, pField
  */
 LeadImportUtils.insertPers = function(pDataFields, pDataTypes,  pFieldDef, pFieldValues, pOrgId, pLeadValues, pUser, pDate)
 {
-    var isoLanguage = LeadImportUtils.checkISOLanguage(pLeadValues["ISOLANGUAGE"]);
+    var isoLanguage = pLeadValues["ISOLANGUAGE"] ? pLeadValues["ISOLANGUAGE"] : "deu";
+    
     //Person
     var PersValues = LeadImportUtils.setValues(pDataFields["PERSON"], pFieldDef, pFieldValues);
     PersValues["TITLE"] = ContactInfoUtils.getTitle(pLeadValues, isoLanguage);
@@ -597,7 +609,6 @@ LeadImportUtils.insertPers = function(pDataFields, pDataTypes,  pFieldDef, pFiel
     ContactValues["DEPARTMENT"] = ContactInfoUtils.getContactDepartment(pLeadValues);
     ContactValues["CONTACTROLE"] = ContactInfoUtils.getContactRole(pLeadValues);
     ContactValues["CONTACTPOSITION"] = ContactInfoUtils.getContactPosition(pLeadValues);
-    ContactValues["CONTACTPOSITION"] = ContactInfoUtils.getContactPosition(pLeadValues);
     
     if (pOrgId == "")//private
         ContactValues["ORGANISATION_ID"] = 0;
@@ -1024,17 +1035,7 @@ function ContactInfoUtils() {}
  */
 ContactInfoUtils.getContactDepartment = function(pLeadValues)
 {
-    if (pLeadValues["DEPARTMENT"] != undefined && pLeadValues["DEPARTMENT"] != "")
-    {
-        var department = KeywordUtils.getEntryNamesByContainer("ContactDepartment");
-    
-        for (let i = 0; i < department.length; i++)
-        {
-            if (pLeadValues["DEPARTMENT"].trim() == department[i].trim())
-                return department[i];
-        }
-    }
-    return "";
+    return ContactInfoUtils.getEntryNameByContainerAndFieldValue("ContactDepartment", pLeadValues["DEPARTMENT"]);
 };
 
 /**
@@ -1046,17 +1047,7 @@ ContactInfoUtils.getContactDepartment = function(pLeadValues)
  */
 ContactInfoUtils.getContactPosition = function(pLeadValues)
 {   
-    if (pLeadValues["CONTACTPOSITION"] != undefined && pLeadValues["CONTACTPOSITION"] != "")
-    {
-        var position = KeywordUtils.getEntryNamesByContainer("ContactPosition");
-
-        for (let i = 0; i < position.length; i++)
-        {
-            if (pLeadValues["CONTACTPOSITION"].trim() == position[i].trim())
-                return position[i];
-        }
-    }
-    return "";
+    return ContactInfoUtils.getEntryNameByContainerAndFieldValue("ContactPosition", pLeadValues["CONTACTPOSITION"]);
 };
 
 /**
@@ -1068,17 +1059,7 @@ ContactInfoUtils.getContactPosition = function(pLeadValues)
  */
 ContactInfoUtils.getContactRole = function(pLeadValues)
 {
-    if (pLeadValues["CONTACTROLE"] != undefined && pLeadValues["CONTACTROLE"] != "")
-    {
-        var role = KeywordUtils.getEntryNamesByContainer("ContactContactrole");
-  
-        for (let i = 0; i < role.length; i++)
-        {
-            if (pLeadValues["CONTACTROLE"].trim() == role[i].trim())
-                return role[i];
-        }
-    }
-    return "";
+    return ContactInfoUtils.getEntryNameByContainerAndFieldValue("ContactContactrole", pLeadValues["CONTACTROLE"]);
 };
 
 /**
@@ -1090,14 +1071,27 @@ ContactInfoUtils.getContactRole = function(pLeadValues)
  */
 ContactInfoUtils.getGender = function(pLeadValues)
 {
-    if (pLeadValues["GENDER"] != undefined && pLeadValues["GENDER"] != "")
+    return ContactInfoUtils.getEntryNameByContainerAndFieldValue("PersonGender", pLeadValues["GENDER"]);
+};
+
+/**
+ * Gets the keyword value if it is set and it is a correct value
+ * 
+ * @param {Object} pContainerName the name of the KeywordContainer;
+ * @param {Object} pFieldValue the value of the field for the keyword;
+ * 
+ * @return {String} the keywordvalue
+ */
+ContactInfoUtils.getEntryNameByContainerAndFieldValue = function(pContainerName, pFieldValue)
+{
+    if (pFieldValue != undefined && pFieldValue != "")
     {
-        var gender = KeywordUtils.getEntryNamesByContainer("PersonGender");
+        let keyword = KeywordUtils.getEntryNamesAndIdsByContainer(pContainerName);
 
-        for (let i = 0; i < gender.length; i++)
+        for (let i = 0; i < keyword.length; i++)
         {
-            if (pLeadValues["GENDER"].trim() == gender[i].trim())
-                return gender[i];
+            if (pFieldValue.trim() == keyword[i][0].trim() || pFieldValue.trim() == keyword[i][1].trim())
+                return keyword[i][1];
         }
     }
     return "";
diff --git a/process/importLead_serverProcess/process.js b/process/importLead_serverProcess/process.js
index 726b33579a..a24b084a93 100644
--- a/process/importLead_serverProcess/process.js
+++ b/process/importLead_serverProcess/process.js
@@ -68,6 +68,9 @@ var posOrginfo = getFieldPos(ImportFieldDef, "INFO");
 // Data without headline
 var dsanz = 1;
 
+// set the mappings
+LeadImportUtils.mapping = LeadImportUtils.getMapping(importdefid);
+
 
 try
 {
@@ -125,6 +128,15 @@ try
         //check the COUNTRY
         impvalues[countrypos] = LeadImportUtils.checkCountry(impvalues[countrypos]);
         
+        if (!(getFieldPos(ImportFieldDef, "ISOLANGUAGE").length ==  0)){
+            //get the position of the ISOLANGUAGE
+            var isolanguepos = getFieldPos (FieldDef, "ISOLANGUAGE")[0];
+        
+            //mapp and check the ISOLANGUAGE
+            impvalues[isolanguepos] = LeadImportUtils.getMappedOutputvalue("ISOLANGUAGE", impvalues[isolanguepos]);
+            impvalues[isolanguepos] = LeadImportUtils.checkISOLanguage(impvalues[isolanguepos]);
+        }
+        
         try//import data
         {
             var dupCheck = LeadImportUtils.importData(DataFields, DataTypes, FieldDef, impvalues, importdefid, AttrObject, source, user, currDate);
-- 
GitLab


From 5dbc08aaeb406ec416eeee7f076085c695981d88 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 06:28:33 +0000
Subject: [PATCH 140/251] =?UTF-8?q?#1065815#1066095-FixEmployeeRole=20Fix?=
 =?UTF-8?q?=20Fehler=20beim=20=C3=B6ffnen=20der=20Preview?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../excluderoles_param/valueProcess.js         |  9 ++++++++-
 .../recordcontainers/jdito/contentProcess.js   |  8 +++++++-
 process/Employee_lib/process.js                | 18 ++++++++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js b/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
index bbf5094fbc..ec9b6a85be 100644
--- a/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
+++ b/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
@@ -1,10 +1,17 @@
+import("Employee_lib");
 import("system.neon");
 import("system.tools");
 import("system.vars");
 import("system.result");
 
 var userTitle = vars.exists("$param.UserTitle_param") && vars.get("$param.UserTitle_param");
-var excludeRolesArray = ["INTERNAL_EVERYONE", "INTERNAL_GROUPWARE", "INTERNAL_SNMP", "INTERNAL_DESIGNER", "INTERNAL_TECHNICAL"];
+var excludeRolesArray = EmployeeRole.getExcludeRoles();
+
+for each (let role in tools.getAllRoles()) {
+    if (!role[4]) {
+        excludeRolesArray.push(role[3]);
+    }
+}
 
 if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW && userTitle)
     excludeRolesArray = excludeRolesArray.concat(tools.getRoles(userTitle));
diff --git a/entity/EmployeeRole_entity/recordcontainers/jdito/contentProcess.js b/entity/EmployeeRole_entity/recordcontainers/jdito/contentProcess.js
index 4c099db5f3..dd75cc33f8 100644
--- a/entity/EmployeeRole_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/EmployeeRole_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("Employee_lib");
 import("Util_lib");
 import("system.result");
 import("system.vars");
@@ -6,6 +7,8 @@ import("system.tools");
 var roles = [];
 var userTitle = vars.exists("$param.UserTitle_param") && vars.get("$param.UserTitle_param");
 var allRoles = tools.getAllRoles();
+let exclude = EmployeeRole.getExcludeRoles();
+
 
 if (userTitle && tools.existUsers(userTitle))
 {
@@ -14,11 +17,14 @@ if (userTitle && tools.existUsers(userTitle))
     {
         if (!this[role] && role != "INTERNAL_EVERYONE")
         {
+            let context = "Role"
             var roleTitle = role;
             if (role in allRoles)
                 roleTitle = allRoles[role][0];
+            if (exclude.indexOf("role") > -1)
+                context = "";
             
-            roles.push([role, role, roleTitle, "Role"]);
+            roles.push([role, role, roleTitle, context]);
             this[role] = true;
         }  
     }, existsObj);
diff --git a/process/Employee_lib/process.js b/process/Employee_lib/process.js
index 11a783e252..2c7e08724a 100644
--- a/process/Employee_lib/process.js
+++ b/process/Employee_lib/process.js
@@ -166,4 +166,22 @@ EmployeeUtils.getUsersDepartment = function(pContactId, pDepartmentAsDisplayable
     }
     
     return department;
+}
+
+/**
+ * Provides functions for employeesrole
+ * 
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function EmployeeRole () {}
+
+/**
+ * Provides the excludeed Roles of the Employee
+ * @return Array the Roles
+ */
+EmployeeRole.getExcludeRoles = function () 
+{
+    return ["INTERNAL_EVERYONE", "INTERNAL_GROUPWARE", "INTERNAL_SNMP", "INTERNAL_DESIGNER", "INTERNAL_TECHNICAL"];
 }
\ No newline at end of file
-- 
GitLab


From 80291bf91cb597c83c7fa9a7a4783860e8777809 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 10:12:02 +0200
Subject: [PATCH 141/251] #1066477-KeywordsLeadimport Fix Save Key

---
 process/Leadimport_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 426169387e..fcc56c0818 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -1091,7 +1091,7 @@ ContactInfoUtils.getEntryNameByContainerAndFieldValue = function(pContainerName,
         for (let i = 0; i < keyword.length; i++)
         {
             if (pFieldValue.trim() == keyword[i][0].trim() || pFieldValue.trim() == keyword[i][1].trim())
-                return keyword[i][1];
+                return keyword[i][0];
         }
     }
     return "";
-- 
GitLab


From 8a39301fcd2192be5891da323383688c9613ae32 Mon Sep 17 00:00:00 2001
From: Sophia Leierseder <s.leierseder@adito.de>
Date: Fri, 2 Oct 2020 10:21:20 +0200
Subject: [PATCH 142/251] Demodata

---
 .../Data_alias/basic/_demoData/changelog.xml  |   20 +-
 .../generatedData/ab_attributerelation.xml    |  616 ++---
 .../_demoData/generatedData/ab_loghistory.xml | 2258 ++++++++++++-----
 .../generatedData/ab_objectrelation.xml       |   54 +-
 .../generatedData/ab_objectrelationtype.xml   |  104 +-
 .../_demoData/generatedData/activity.xml      |  979 +++----
 .../83aed38de7ea30e68b0ea8c99f40342c.txt      |   10 -
 .../_demoData/generatedData/activitylink.xml  | 1272 +++++-----
 .../basic/_demoData/generatedData/address.xml |  535 ++--
 .../_demoData/generatedData/bulkmail.xml      |   22 +-
 .../generatedData/bulkmailrecipient.xml       |  112 +-
 .../_demoData/generatedData/campaign.xml      |   38 +-
 .../_demoData/generatedData/campaigncost.xml  |   38 +-
 .../generatedData/campaignparticipant.xml     |  266 +-
 .../generatedData/campaignparticipantlog.xml  |   36 +-
 .../_demoData/generatedData/campaignstep.xml  |  176 +-
 .../generatedData/classification.xml          | 2237 ++++++++--------
 .../generatedData/classificationgrading.xml   |  121 +-
 .../generatedData/classificationgroup.xml     |   14 +-
 .../generatedData/classificationscore.xml     |  728 +++---
 .../generatedData/classificationstorage.xml   |  206 +-
 .../generatedData/classificationtype.xml      |  133 +-
 .../generatedData/commrestriction.xml         |    6 +-
 .../_demoData/generatedData/communication.xml |  762 +++---
 .../basic/_demoData/generatedData/contact.xml |  368 +--
 .../_demoData/generatedData/contract.xml      |  104 +-
 .../generatedData/descriptiontranslation.xml  |   14 +-
 .../_demoData/generatedData/district.xml      |   51 +
 .../generatedData/districtresponsible.xml     |   34 +
 .../generatedData/documenttemplate.xml        |  208 +-
 .../generatedData/documenttemplatelink.xml    |   10 +-
 .../documenttemplateplaceofuse.xml            |  202 +-
 .../basic/_demoData/generatedData/dsgvo.xml   | 1488 +++++------
 .../_demoData/generatedData/dsgvoinfo.xml     |    6 +-
 .../generatedData/duplicatescanner.xml        |   30 +
 .../generatedData/exporttemplate.xml          |   67 +-
 .../generatedData/exporttemplatefield.xml     |  193 +-
 .../exporttemplateplaceofuse.xml              |   31 +-
 .../_demoData/generatedData/forecast.xml      |   97 +-
 .../generatedData/letterrecipient.xml         |   76 +-
 .../_demoData/generatedData/objectmember.xml  |   70 +-
 .../basic/_demoData/generatedData/offer.xml   |  375 +--
 .../_demoData/generatedData/offeritem.xml     |  506 ++--
 .../_demoData/generatedData/organisation.xml  |  228 +-
 .../basic/_demoData/generatedData/person.xml  |  194 +-
 .../basic/_demoData/generatedData/product.xml |  246 +-
 .../_demoData/generatedData/productprice.xml  |  190 +-
 .../_demoData/generatedData/salesorder.xml    |  525 ++--
 .../generatedData/salesorderitem.xml          |  511 ++--
 .../_demoData/generatedData/salesproject.xml  |   64 +-
 .../generatedData/salesproject_milestone.xml  |  136 +-
 .../generatedData/salesproject_touchpoint.xml |   10 +-
 .../_demoData/generatedData/salutation.xml    |  250 +-
 .../_demoData/generatedData/serialletter.xml  |   14 +-
 .../basic/_demoData/generatedData/task.xml    |  256 +-
 .../_demoData/generatedData/tasklink.xml      |   18 +-
 .../basic/_demoData/generatedData/ticket.xml  |    6 +-
 .../_demoData/generatedData/visitplan.xml     |   99 -
 .../generatedData/visitrecommendation.xml     |   13 +
 .../basic/_demoData/changelog.xml             |    2 +-
 .../_demoData/generatedData/ASYS_BINARIES.xml |  166 +-
 ...4aa5c => 01acc8b4c71e3e221cb5960f566991b5} |    0
 ...75768 => 0c4a6e963ff9cbcc1a89de3c3c172333} |    0
 ...8d1a3 => 1927df681b9076243156a34b466ba04d} |    0
 ...8570d => 1b3576d77942d79cdfb6c96a6a834f6b} |    0
 ...6bed8 => 302b5fa29e39c8a02a8c1448ff3910b3} |    0
 ...e797b => 3cf5ccf77878aeb1fe1d8ada5e67deff} |    0
 ...c8f83 => 4a3bfd07a9b138ba352c8705a88fe306} |    0
 ...6a36f => 4f8d2fbe1fa680acfddecbf6a2d7eb1b} |    0
 ...2e28d => 5c3b9bf8852fce3729aa0556a4a780e1} |    0
 ...eb363 => 64b7d469d3c0b79da072d821de5f31da} |    0
 ...247c8 => 669cd65bbfb0b83a95c1a4110ff5d7f4} |    0
 ...10dec => 689020ca7b4c5c70c92f0506e869c8e6} |    0
 ...46fce => 72e03deaab4283f1f0f8ac0dcbec5d9f} |    0
 ...a4625 => 77030fb819d7bed57f5fc12e981b287b} |    0
 ...95040 => 78aad2436b5dbd1a878f9e4f9e29fbf1} |    0
 ...626d9 => 81f883491d9a080a6e51ab8c5d2c7e8d} |    0
 ...3f7f6 => 9a76ec5d3fcd843340434d26b6b249ad} |    0
 ...80539 => 9c4bb8163207a504d9bd902b211d6919} |    0
 ...85afc => a9b8f41f0a4bedb7d6a38d5d52f85b1b} |    0
 ...67998 => abdb7b1c9af8d02a13428625b2c4b7c4} |    0
 ...aa718 => ad90364f7929e36777304d76c8a1ff6e} |    0
 ...70ae3 => b15fb7570d77e81948aac92c347638bf} |    0
 ...3c500 => bc8f1f5b42dad335e916b1ceb4ce1ff4} |    0
 ...a1139 => c0d5b740056d6825c8d4eab32a4e2e5a} |    0
 ...99741 => c24edfbfc63866dd659e07ef03f45988} |    0
 ...ee60e => c33c633bdc271e837d3a979a9d5fff69} |    0
 ...13b95 => c590cab1baa844ae40fcca7eae9f7120} |    0
 ...29456 => c9c8f90d0bee877f5d5b32a2b7d8ced3} |    0
 ...c63f5 => cc0d984337d631cfa16c588b449f21b8} |    0
 ...ffb0d => d6e22dc7b559e3350c8dd9022fbefdc2} |    0
 ...db27b => e22d050388d09c6a9cdeb6cef75e48ff} |    0
 ...ef0ee => e8cc6344b63e91066ff9741cee273ce7} |    0
 ...45918 => f0e5ee0a296504b006a4333e1c9b24a9} |    0
 ...6258b => f9c9eae8183b9c9340f03876b39a3362} |    0
 ...355fa => fc4aa67f3f465efd278d8471a9afc970} |    0
 .../_demoData/generatedData/ASYS_RECORD.xml   |   35 +
 .../generatedData/ASYS_RECORDGROUP.xml        |   23 +
 .../_demoData/generatedData/changelog.xml     |    6 +
 .../process.js                                |   14 +-
 100 files changed, 9586 insertions(+), 8093 deletions(-)
 delete mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/activity/INFO/clobFiles/83aed38de7ea30e68b0ea8c99f40342c.txt
 create mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/district.xml
 create mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/districtresponsible.xml
 create mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/duplicatescanner.xml
 delete mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/visitplan.xml
 create mode 100644 .liquibase/Data_alias/basic/_demoData/generatedData/visitrecommendation.xml
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{f15c1c2c291ae6bec4d28ebea7a4aa5c => 01acc8b4c71e3e221cb5960f566991b5} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{b54d7d8f6d6d85919922c5f455175768 => 0c4a6e963ff9cbcc1a89de3c3c172333} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{0fdd48520da0f1bf766ccbed5b18d1a3 => 1927df681b9076243156a34b466ba04d} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{dac4a52765d68a9819743389fc28570d => 1b3576d77942d79cdfb6c96a6a834f6b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{befbbfd00865383c94b176d07916bed8 => 302b5fa29e39c8a02a8c1448ff3910b3} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c601e2920780f7bd5c3aefa957fe797b => 3cf5ccf77878aeb1fe1d8ada5e67deff} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{3583279ca857c825b06e0dbb4d7c8f83 => 4a3bfd07a9b138ba352c8705a88fe306} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{038fe941b2e05dd022dafd5afb16a36f => 4f8d2fbe1fa680acfddecbf6a2d7eb1b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{264a8e6299721333e1848d191f32e28d => 5c3b9bf8852fce3729aa0556a4a780e1} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{df04f9c4aa2a2fcf5de3b26a0feeb363 => 64b7d469d3c0b79da072d821de5f31da} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{6d181519b2b647cd8ea8153c0fc247c8 => 669cd65bbfb0b83a95c1a4110ff5d7f4} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{1021d7724f17d82704eb923c84810dec => 689020ca7b4c5c70c92f0506e869c8e6} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{b8b87463c86657db7b5f9a6e73246fce => 72e03deaab4283f1f0f8ac0dcbec5d9f} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{772bc8c9ae1cf4a351e6f6eedaca4625 => 77030fb819d7bed57f5fc12e981b287b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{bd2dcae135451c4a4eb4bc5089f95040 => 78aad2436b5dbd1a878f9e4f9e29fbf1} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{0e73f3e616a33bb50d1d5fd8012626d9 => 81f883491d9a080a6e51ab8c5d2c7e8d} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{4973a8057eff30d8a70136d7d793f7f6 => 9a76ec5d3fcd843340434d26b6b249ad} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{dfbae82df49874138432d9982fa80539 => 9c4bb8163207a504d9bd902b211d6919} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c0d180d20ec3400cab09c6329bf85afc => a9b8f41f0a4bedb7d6a38d5d52f85b1b} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{cd08b8bc6c847fecd18389e399c67998 => abdb7b1c9af8d02a13428625b2c4b7c4} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{f1925e608ac7b3253ce32b99325aa718 => ad90364f7929e36777304d76c8a1ff6e} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{defcaf6472af3cee29d57e06d4970ae3 => b15fb7570d77e81948aac92c347638bf} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{1fe055799e157edd6a577a9d16d3c500 => bc8f1f5b42dad335e916b1ceb4ce1ff4} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{0830deea812519dfedc720509c9a1139 => c0d5b740056d6825c8d4eab32a4e2e5a} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{533665cefb7cdc06884080d3e6f99741 => c24edfbfc63866dd659e07ef03f45988} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{d57a5f33f07e60b35376f258eccee60e => c33c633bdc271e837d3a979a9d5fff69} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{54aef478023d8b16e71ace2ff3013b95 => c590cab1baa844ae40fcca7eae9f7120} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{289ef290ee03c4662405d05f6ec29456 => c9c8f90d0bee877f5d5b32a2b7d8ced3} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{e63ee9d29a5618a0a244609db68c63f5 => cc0d984337d631cfa16c588b449f21b8} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{c2bf20acce9760f277d7fa4bcf0ffb0d => d6e22dc7b559e3350c8dd9022fbefdc2} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{723094dcff304d74986afc60137db27b => e22d050388d09c6a9cdeb6cef75e48ff} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{055e73d3a993df828f5c18d3ffbef0ee => e8cc6344b63e91066ff9741cee273ce7} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{a25a4de8cfd0e2ce8b00280f0d245918 => f0e5ee0a296504b006a4333e1c9b24a9} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{7c2bbd5f3f359660da1689c4f466258b => f9c9eae8183b9c9340f03876b39a3362} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/{aa76f280dc7eda00f07cb019f24355fa => fc4aa67f3f465efd278d8471a9afc970} (100%)
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORD.xml
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORDGROUP.xml
 create mode 100644 .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/changelog.xml

diff --git a/.liquibase/Data_alias/basic/_demoData/changelog.xml b/.liquibase/Data_alias/basic/_demoData/changelog.xml
index 22fe51ac97..f6d11f67ac 100644
--- a/.liquibase/Data_alias/basic/_demoData/changelog.xml
+++ b/.liquibase/Data_alias/basic/_demoData/changelog.xml
@@ -15,17 +15,27 @@
   <include file="generatedData/campaignparticipantlog.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/campaignstep.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/classification.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/classificationgrading.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/classificationgroup.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/classificationscore.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/classificationstorage.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/classificationtype.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/commrestriction.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/communication.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/contact.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/contract.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/descriptiontranslation.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/district.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/districtresponsible.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/documenttemplate.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/documenttemplatelink.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/documenttemplateplaceofuse.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/dsgvo.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/dsgvoinfo.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/duplicatescanner.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/exporttemplate.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/exporttemplatefield.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/exporttemplateplaceofuse.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/forecast.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/letterrecipient.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/objectmember.xml" relativeToChangelogFile="true"/>
@@ -45,13 +55,5 @@
   <include file="generatedData/task.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/tasklink.xml" relativeToChangelogFile="true"/>
   <include file="generatedData/ticket.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/duplicates/duplicatescanner.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/exporttemplate.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/exporttemplatefield.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/exporttemplateplaceofuse.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/documenttemplateplaceofuse.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/visitplan.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/classificationgrading.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/classificationgroup.xml" relativeToChangelogFile="true"/>
-  <include file="generatedData/classificationstorage.xml" relativeToChangelogFile="true"/>
+  <include file="generatedData/visitrecommendation.xml" relativeToChangelogFile="true"/>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_attributerelation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_attributerelation.xml
index 1a2d9eafc5..68c4a24099 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_attributerelation.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_attributerelation.xml
@@ -1,905 +1,923 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="09cabd06-9e28-447f-ab83-a699ee6f6ebe">
+  <changeSet author="autogenerated" id="7e40f0c3-8059-4ea4-983e-4c5023d74ca6">
     <delete tableName="ab_attributerelation"/>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="0563ec4f-6f85-469d-89a1-5fc807f4dc9f"/>
       <column name="AB_ATTRIBUTE_ID" value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:45:34"/>
       <column name="ID_VALUE" value="DELIVERCIF"/>
-      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="05b3c80a-1d1f-46f8-bce5-164a3606b8ee"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:52:22"/>
       <column name="ID_VALUE" value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="086ff454-e407-433a-9124-496de7fef1cb"/>
       <column name="AB_ATTRIBUTE_ID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:45:09"/>
       <column name="ID_VALUE" value="PRICELISTSPECIAL"/>
-      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="0a1aabd7-4faf-4a82-9a85-3351add5b357"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:10"/>
       <column name="ID_VALUE" value="acafca42-8ef4-4c21-abe8-1c2ca358a5aa"/>
-      <column name="OBJECT_ROWID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="12a0bb2a-9b6c-4282-9209-2dc90d726fc2"/>
       <column name="AB_ATTRIBUTE_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:47:54"/>
       <column name="ID_VALUE" value="292825e8-fa96-4b7b-8dab-71955ae14571"/>
-      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="AB_ATTRIBUTERELATIONID" value="1378d5a4-93d1-4d7f-b58f-8278200a17c2"/>
       <column name="AB_ATTRIBUTE_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:56:25"/>
       <column name="ID_VALUE" value="4d4ef830-68e6-4228-9e4f-13614d841328"/>
-      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="1505bacf-c29a-48a7-8da5-5e969252309f"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:51:07"/>
       <column name="ID_VALUE" value="SALPROJWEAKLIQUIDITY"/>
-      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="1f1a17c5-c800-4501-9174-58573c00192a"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:35:13"/>
       <column name="ID_VALUE" value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="2261ef33-50af-445a-bc19-27367cc6ff7a"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:44:08"/>
       <column name="ID_VALUE" value="SALPROJWEAKMARKET"/>
-      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Activity"/>
       <column name="AB_ATTRIBUTERELATIONID" value="2540fef8-2f98-4bc9-8f38-4802a7c41263"/>
       <column name="AB_ATTRIBUTE_ID" value="0c86b9ad-1635-46b4-8ac7-3d9b00bc2b01"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:53:44"/>
-      <column name="OBJECT_ROWID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="OBJECT_TYPE" value="Activity"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:53:44"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="255571a4-2fda-49ec-baed-ea7b374895f1"/>
       <column name="AB_ATTRIBUTE_ID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:49:39"/>
       <column name="ID_VALUE" value="PRICELISTSPECIAL"/>
-      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="25a53e28-d8a1-43d3-9af0-b34ce9c0bc06"/>
       <column name="AB_ATTRIBUTE_ID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:52:25"/>
       <column name="ID_VALUE" value="PRICELISTSPECIAL"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="25dac52d-de7e-47e1-b60c-22d252dae4c2"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:47:46"/>
       <column name="ID_VALUE" value="PAYTERM7"/>
-      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="2d80654e-3bd5-46bb-af0b-f18f812d11e0"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:47:37"/>
       <column name="ID_VALUE" value="SALPROJWEAKMARKET"/>
-      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="2e456151-e59d-4d37-85cc-6e4b4054c8fe"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
       <column name="ID_VALUE" value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/>
-      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3253baa7-06ea-4458-b7c1-36907321d025"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="375957e1-542a-43b8-826a-d068f2a06864"/>
       <column name="AB_ATTRIBUTE_ID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
       <column name="ID_VALUE" value="48da5029-b984-4809-8227-fb430bb78920"/>
-      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3a32b8d5-1770-49cd-ae41-5b02f792ac6a"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:46:58"/>
       <column name="ID_VALUE" value="26385e16-6b2f-428c-9c28-1bfa9c2ccf6f"/>
-      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3acc3d04-5212-4510-b88c-5885db940fec"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3be00926-6687-4378-837e-9a337cc4a38d"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3e119bed-4330-4519-bf98-73b7edc8a404"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:18:11"/>
       <column name="ID_VALUE" value="acafca42-8ef4-4c21-abe8-1c2ca358a5aa"/>
-      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="3e91603c-813c-43f9-964f-90e566cbc042"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="AB_ATTRIBUTERELATIONID" value="407dc1e9-fdb0-4064-88b8-f3dba6e38117"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="DATE_NEW" valueDate="2019-11-25T09:22:44"/>
       <column name="ID_VALUE" value="ed4c3079-51b0-4bb5-b228-55de4309d5ab"/>
-      <column name="OBJECT_ROWID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="41760794-1b3e-418d-9dd0-233ddbdfedce"/>
       <column name="AB_ATTRIBUTE_ID" value="a4c2bcc5-5a3d-4a70-b936-9a330329c63a"/>
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="INT_VALUE" valueNumeric="0"/>
-      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
+      <column name="INT_VALUE" valueNumeric="0"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="4475ef06-83ab-4dff-91e1-be7053e004fa"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:08"/>
       <column name="ID_VALUE" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="44bd5ab6-0b4f-4655-a276-ed172240643b"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:43:59"/>
       <column name="ID_VALUE" value="PAYTERM30"/>
-      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="4d65a707-7dec-44c1-9a06-3dbb3204059c"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
       <column name="ID_VALUE" value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="4de531e4-4e91-4362-b701-a76282e7b976"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="4ecfff5d-221a-4cf2-9498-fd24a11e4055"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="509845c5-6b4a-4918-923d-75b1aef3a1f4"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:26:46"/>
       <column name="ID_VALUE" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/>
-      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="52b61d0c-3cbf-4e98-a126-786540c808c9"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="550ab6c3-7678-4196-b84a-ff56635755de"/>
       <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:52:29"/>
       <column name="ID_VALUE" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="5878efc7-79cc-417d-920c-b78052e0230d"/>
       <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
       <column name="ID_VALUE" value="be3b5fe2-2146-4eab-80a4-3c1cf4d6156a"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="593d0626-9049-43ca-b7bd-eb6c7327beed"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:51:53"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="5ac66b09-46b0-4c4b-b72d-cae853c5ccc4"/>
       <column name="AB_ATTRIBUTE_ID" value="af312508-8a9b-4b8f-88f3-6b98005c749e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
       <column name="ID_VALUE" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="5b459ece-8d57-4b7c-bf37-574f46084508"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:32:43"/>
       <column name="ID_VALUE" value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="5d83b2c1-92b6-478d-a5b1-fdda3d35592d"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:51:44"/>
       <column name="ID_VALUE" value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/>
-      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="605951b3-5954-4ab8-ad13-8359f68d2287"/>
       <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:35:05"/>
       <column name="ID_VALUE" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="67f36d84-1997-4801-a4f6-94c9b8318e95"/>
       <column name="AB_ATTRIBUTE_ID" value="558419b2-6113-4060-b88d-cc6324754765"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:47:08"/>
       <column name="ID_VALUE" value="SALPROJSTPRICEPOL"/>
-      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="68b689b8-f9ff-40d1-b936-629985423ebb"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="6907f00d-011d-4592-8f0e-26e52449658f"/>
       <column name="AB_ATTRIBUTE_ID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:48:46"/>
       <column name="ID_VALUE" value="PRICELISTDEFAULT"/>
-      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="69cb66c6-1d04-4029-8a20-0f6452bc4bf1"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="6d919048-7873-449a-9378-8f72bddee5de"/>
       <column name="AB_ATTRIBUTE_ID" value="af312508-8a9b-4b8f-88f3-6b98005c749e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
       <column name="ID_VALUE" value="c8244502-73be-4ef7-9ef7-2b5ae95d3718"/>
-      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="6e619f34-361d-48d7-868a-572848ab4463"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="6e8b96f9-de86-4dc1-b0c9-d5b99867d29c"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:49:10"/>
       <column name="ID_VALUE" value="PAYTERMDISCOUNT"/>
-      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="72cb6a41-def0-4a96-b8c1-56df885cf151"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
       <column name="ID_VALUE" value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/>
-      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="76967a63-8322-484b-b603-d3cb5ce27d6d"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
       <column name="ID_VALUE" value="SALPROJPOLLOW"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7a291363-9a75-4dd5-aa64-34a1801aeb92"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
       <column name="ID_VALUE" value="PAYTERM30"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7a7736db-8b68-4865-a212-bd603af51370"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
       <column name="ID_VALUE" value="SALPROJPOLLOW"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7a7e223f-a1f9-4503-b6e9-95e4f49c75c1"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7abc6537-b254-4a36-8315-2e44a5b10fad"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:44:47"/>
       <column name="ID_VALUE" value="SALPROJPOLABO"/>
-      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7abee4a3-fd20-4153-adef-ffa3dc8a4ab4"/>
       <column name="AB_ATTRIBUTE_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:48:25"/>
       <column name="ID_VALUE" value="9e20d257-e2a7-4ef7-9253-1d8ed971b7b9"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7b38959d-d0b7-434a-9316-58d4894982d2"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:52:18"/>
       <column name="ID_VALUE" value="SALPROJPOLABO"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7e3d2c81-a9dd-4e82-a3e6-b26835c8ac46"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="7f0bccf2-bf10-4a64-8ae7-236bebc2505f"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:48:18"/>
       <column name="ID_VALUE" value="PAYTERM30"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="81dc88e3-3540-4675-a6d8-bca92cd91f84"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:56:16"/>
       <column name="ID_VALUE" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/>
-      <column name="OBJECT_ROWID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="84c93ae0-1821-40da-9eee-d180ce23cad5"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
       <column name="ID_VALUE" value="17746b46-2702-447a-b749-a92bfdf4bb38"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="851b8378-b20d-49ff-907d-30e4587a83c9"/>
       <column name="AB_ATTRIBUTE_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
       <column name="ID_VALUE" value="6d0cce07-4767-477b-af51-e9782ebdbe25"/>
-      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="88420b13-3678-4743-bcf2-fa3c0b5166c9"/>
       <column name="AB_ATTRIBUTE_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
       <column name="ID_VALUE" value="72bcad07-6f26-48c0-84b0-1e6ab46d88a9"/>
-      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="AB_ATTRIBUTERELATIONID" value="8c3a841e-dbb8-45eb-a137-a189c135fe2b"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="DATE_NEW" valueDate="2019-11-25T01:27:33"/>
       <column name="ID_VALUE" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="8e474a2c-6adc-4f1d-88d8-217b0ddd592b"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:36:47"/>
       <column name="ID_VALUE" value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/>
-      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+    </insert>
+    <insert tableName="ab_attributerelation">
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="AB_ATTRIBUTERELATIONID" value="90ddd9eb-bf78-4584-9592-0612e414c09d"/>
+      <column name="AB_ATTRIBUTE_ID" value="547b8b9d-88ba-4590-9e01-34d2a58116cc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:45:41"/>
+      <column name="ID_VALUE" value="22722783-aa87-418f-9686-9b97c0639cae"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="924e8914-6275-45d4-a36a-94f3b70a35b4"/>
       <column name="AB_ATTRIBUTE_ID" value="558419b2-6113-4060-b88d-cc6324754765"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:46:41"/>
       <column name="ID_VALUE" value="SALPROJSTPERSAPP"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="AB_ATTRIBUTERELATIONID" value="954bb22e-e098-48e3-a12a-d464519bdd4c"/>
       <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:32:53"/>
       <column name="ID_VALUE" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="95513181-69ac-4775-860a-42730e370e38"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:50:03"/>
       <column name="ID_VALUE" value="e4a60941-513f-4e75-a787-f00070ecb00a"/>
-      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="956d65fa-6c89-475b-9c85-3ce9265b4273"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:26:46"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="97429450-9cb5-4f8a-bd0f-c6c63c9afee9"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:48:40"/>
       <column name="ID_VALUE" value="SALPROJWEAKMARKET"/>
-      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="9953ea99-685d-4fbb-afe7-eeeca76fb758"/>
       <column name="AB_ATTRIBUTE_ID" value="1881ffcd-bbf1-443c-b379-a08f7bb92b88"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
       <column name="ID_VALUE" value="6d0cce07-4767-477b-af51-e9782ebdbe25"/>
-      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="9f7d0b52-0f03-4eb0-b0b2-e3751862a3a1"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
       <column name="ID_VALUE" value="bb0c6356-33be-4e7c-a409-9ef5145f7aae"/>
-      <column name="OBJECT_ROWID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="a433931c-412c-4a42-9a86-e5ca1e671a04"/>
       <column name="AB_ATTRIBUTE_ID" value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:51:25"/>
       <column name="ID_VALUE" value="DELIVEREX"/>
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="a59304f1-2019-4191-a897-801747adb0e5"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:01:27"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="af83222e-56e3-4fc8-ab0b-d936227dcde0"/>
       <column name="AB_ATTRIBUTE_ID" value="0b6d18e3-f6c8-488f-80e0-267364e444da"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
       <column name="ID_VALUE" value="0385b6e3-00cc-4018-847f-152364c3c11e"/>
-      <column name="OBJECT_ROWID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="b2bb8ab7-0e64-49fc-8e18-372ec0a03822"/>
       <column name="AB_ATTRIBUTE_ID" value="558419b2-6113-4060-b88d-cc6324754765"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:49:54"/>
       <column name="ID_VALUE" value="SALPROJSTPERSAPP"/>
-      <column name="OBJECT_ROWID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+    </insert>
+    <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="AB_ATTRIBUTERELATIONID" value="b3354836-6570-4162-9408-c118b1834a4e"/>
+      <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:49:24"/>
+      <column name="ID_VALUE" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Ticket"/>
       <column name="AB_ATTRIBUTERELATIONID" value="b39a7a7a-b33e-4894-a173-9f77ebb8a763"/>
       <column name="AB_ATTRIBUTE_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
       <column name="ID_VALUE" value="72bcad07-6f26-48c0-84b0-1e6ab46d88a9"/>
-      <column name="OBJECT_ROWID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
-      <column name="OBJECT_TYPE" value="Ticket"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="b45cc44c-77d2-4ba4-ae85-8b2046301a95"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:40:12"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="b482cf64-0b8c-49a3-8894-b50635bc2db2"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="b9712ac0-cf76-47c1-b059-9d7498b6fa5c"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:40:12"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="c0a7430e-6393-4d1a-9954-b67e9d6cd73d"/>
       <column name="AB_ATTRIBUTE_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:45:25"/>
       <column name="ID_VALUE" value="e7e05c6e-6108-44bd-824a-c076dfa5ae93"/>
-      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="c7f04b7a-de66-4398-8810-2592d5ca8674"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:46:05"/>
       <column name="ID_VALUE" value="e4a60941-513f-4e75-a787-f00070ecb00a"/>
-      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="c87cf142-382a-426a-a4d6-07b71b6d41ed"/>
       <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:50:59"/>
       <column name="ID_VALUE" value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/>
-      <column name="OBJECT_ROWID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="cdab4a76-c6e6-4ffd-bae6-750128b6ed5d"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:18:12"/>
       <column name="ID_VALUE" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/>
-      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="ce75da6e-b946-4a8c-a9dc-fb76cc20f0a1"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:46:30"/>
       <column name="ID_VALUE" value="PAYTERM30"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="d4974b69-d5b9-4e4e-9f39-de34622765b1"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:01:27"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="d4a3c8a0-2050-4147-abad-43a1f35ccbf0"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="d5cb44f7-6500-47ca-9dac-784b07d0b5f5"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:48:10"/>
       <column name="ID_VALUE" value="SALPROJWEAKLIQUIDITY"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="df4e0db2-dbcb-46c2-b3ec-b7689ff2f3ba"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:10"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="e1beb5a9-acfa-4b7b-bc6d-735b1a669e10"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:28:14"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="e303b295-01ae-4dd4-bad1-35a70c6dc90f"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:12"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="e7ebccea-0850-4525-908c-040681de1bf4"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="edddb76a-348d-497b-9665-21acbe0bed0b"/>
       <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:44:55"/>
       <column name="ID_VALUE" value="SALPROJWEAKMARKET"/>
-      <column name="OBJECT_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="ee0027e1-8fa2-4550-96f7-59c32461e2b0"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:12"/>
       <column name="ID_VALUE" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/>
-      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="ef53917b-ae76-4903-a68a-ab0feb743288"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f1f8c53a-46e9-40a9-8be2-8f0775cafa64"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:49:31"/>
       <column name="ID_VALUE" value="SALPROJPOLLOW"/>
-      <column name="OBJECT_ROWID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f3e49333-515d-4060-869a-888dee879b8f"/>
       <column name="AB_ATTRIBUTE_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:56:25"/>
       <column name="ID_VALUE" value="a3972e57-d081-463a-a33c-5d4d3af6d8f2"/>
-      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f5a05824-270c-4556-a992-e5af9491b734"/>
       <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:19"/>
       <column name="ID_VALUE" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/>
-      <column name="OBJECT_ROWID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f69ac4cd-7d18-47b4-994f-4fda20f2bc9f"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:56:16"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f7824359-7f2c-4942-b959-465bf776ef7e"/>
       <column name="AB_ATTRIBUTE_ID" value="558419b2-6113-4060-b88d-cc6324754765"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:40:12"/>
       <column name="ID_VALUE" value="SALPROJSTPRICEPOL"/>
-      <column name="OBJECT_ROWID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f7a60ce6-39c5-43b6-a14d-24b838f541b9"/>
       <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:49:02"/>
       <column name="ID_VALUE" value="SALPROJPOLLOW"/>
-      <column name="OBJECT_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="f9404e0f-48cc-4a2b-a4f7-d260fe4f6e07"/>
       <column name="AB_ATTRIBUTE_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:52:10"/>
       <column name="ID_VALUE" value="292825e8-fa96-4b7b-8dab-71955ae14571"/>
-      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="fedc492c-cc5d-48cb-a7ee-0cef061facec"/>
       <column name="AB_ATTRIBUTE_ID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:45:57"/>
       <column name="ID_VALUE" value="PAYTERM30"/>
-      <column name="OBJECT_ROWID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ab_attributerelation">
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="AB_ATTRIBUTERELATIONID" value="fffb23a5-20a8-40d9-b05f-b2bb822f2db1"/>
       <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
       <column name="ID_VALUE" value="79378933-9f74-4391-b876-4528b582661f"/>
-      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
index 65cea7ecab..553a0753b0 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
@@ -1,1548 +1,2648 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="a6134fe0-cbd5-4836-820a-59636ae15a58">
+  <changeSet author="autogenerated" id="dc70b18d-4875-42b1-ab34-9c37d7048750">
     <delete tableName="ab_loghistory"/>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-02T01:58:02"/>
-      <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;11.09.2018&quot;,&#10;Belegnummer: &quot;1015&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;11.09.2018&quot;,&#10;Belegnummer: &quot;1015&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="DATE_NEW" valueDate="2019-09-02T01:58:02"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-02T01:58:03"/>
-      <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="DATE_NEW" valueDate="2019-09-02T01:58:03"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Hier liegt die Kampagne für die Hannovermesse&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Bitte pr&amp;uuml;fen ob alle Angaben passen und wir das so best&amp;auml;tigen k&amp;ouml;nnen.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Hier liegt die Kampagne für die Hannovermesse&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Bitte pr&amp;uuml;fen ob alle Angaben passen und wir das so best&amp;auml;tigen k&amp;ouml;nnen.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;22924044-c41d-4130-b9c2-de51e3c9e928&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;22924044-c41d-4130-b9c2-de51e3c9e928&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="4d12c3fe-358a-440b-9008-33c58b235502"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4d12c3fe-358a-440b-9008-33c58b235502"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Kickoff Meeting am 1. Oktober&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Alle Teilnehmer werden zum Termin anwesend sein, werden den Ablauf und das Standpersonal besprechen.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Kickoff Meeting am 1. Oktober&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Alle Teilnehmer werden zum Termin anwesend sein, werden den Ablauf und das Standpersonal besprechen.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;38a20ed1-f75e-439d-957a-53cbb815a9fe&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;38a20ed1-f75e-439d-957a-53cbb815a9fe&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="557a8ef1-209f-4d0b-9ca9-b779ccf6ce8c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="557a8ef1-209f-4d0b-9ca9-b779ccf6ce8c"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Wichtige Teilnehmer einladen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;bitte ladet alle eure A Kontakte ein f&amp;uuml;r das Event.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Euer Markteting;&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Wichtige Teilnehmer einladen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;bitte ladet alle eure A Kontakte ein f&amp;uuml;r das Event.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Euer Markteting;&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="bd8df5fe-5aec-4f85-a12b-36a1225955da"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="bd8df5fe-5aec-4f85-a12b-36a1225955da"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Einladungen gehen 18.09 raus&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Erinnerung das heute die Einladungen versandt werden!&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Einladungen gehen 18.09 raus&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Erinnerung das heute die Einladungen versandt werden!&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="62db9cd0-b240-4009-822e-a40cb81b671f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62db9cd0-b240-4009-822e-a40cb81b671f"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:17:53"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Erinnerung das am 18.09 die Einladungen versandt werden!&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Erinnerung das am 18.09 die Einladungen versandt werden!&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:17:53"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;27.08.2019&quot;,&#10;Betreff: &quot;Erste Planung für die Kampagne gelaufen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;wir sind sehr froh euch mitteilen zu d&amp;uuml;rfen das wir die ersten Vorbereitungen f&amp;uuml;r die Messe geplant haben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weitere Infos werden euch zum passenden Zeitpunkt zugespielt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Das Marketing&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;27.08.2019&quot;,&#10;Betreff: &quot;Erste Planung für die Kampagne gelaufen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;wir sind sehr froh euch mitteilen zu d&amp;uuml;rfen das wir die ersten Vorbereitungen f&amp;uuml;r die Messe geplant haben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weitere Infos werden euch zum passenden Zeitpunkt zugespielt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Das Marketing&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="3d6a37b4-33bb-4641-a62a-daed1216f43a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="3d6a37b4-33bb-4641-a62a-daed1216f43a"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:23:40"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="25a8fe8a-f75e-4696-970b-660b11540967"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="25a8fe8a-f75e-4696-970b-660b11540967"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:23:40"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:23:56"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="e763809c-f612-4879-be39-6c3f08339093"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e763809c-f612-4879-be39-6c3f08339093"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:23:56"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-04T09:24:17"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="8d91fe31-c2de-433a-b8ab-691a8970f7e6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8d91fe31-c2de-433a-b8ab-691a8970f7e6"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:24:17"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Harold Smith | meine Firma&quot;,&#10;Beginn: &quot;05.09.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Die Funktionalitäten des Tools erfüllen nicht die geforderten Funktionalitäten.&#10;Im Detail:  Die Zeiterfassung kann nicht zu Tickets erfasst werden.&#10;&quot;,&#10;Fällig: &quot;12.09.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Projektplanung fehlerhaft&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Harold Smith | meine Firma&quot;,&#10;Beginn: &quot;05.09.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Die Funktionalitäten des Tools erfüllen nicht die geforderten Funktionalitäten.&#10;Im Detail:  Die Zeiterfassung kann nicht zu Tickets erfasst werden.&#10;&quot;,&#10;Fällig: &quot;12.09.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Projektplanung fehlerhaft&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="998d95e6-3d3b-448b-a634-5516c0e392a5"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="998d95e6-3d3b-448b-a634-5516c0e392a5"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Anwenderfehler&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Anwenderfehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Billable: &quot;Nein&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Billable: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
+      <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-12T02:39:44"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;Decker&quot; auf &quot;Decken&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;Decker&quot; auf &quot;Decken&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
+      <column name="DATE_NEW" valueDate="2019-11-12T02:39:44"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-12T02:40:10"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;Mosby&quot; auf &quot;Mausbeier&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;Mosby&quot; auf &quot;Mausbeier&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
+      <column name="DATE_NEW" valueDate="2019-11-12T02:40:10"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-12T02:40:30"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;Scherbatsky&quot; auf &quot;Scherbatstein&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;Scherbatsky&quot; auf &quot;Scherbatstein&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
+      <column name="DATE_NEW" valueDate="2019-11-12T02:40:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-12T02:41:05"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;von Matterhorn&quot; auf &quot;von Alpenhorn&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;von Matterhorn&quot; auf &quot;von Alpenhorn&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
+      <column name="DATE_NEW" valueDate="2019-11-12T02:41:05"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-12T02:50:52"/>
-      <column name="DESCRIPTION" valueClobFile="ab_loghistory/DESCRIPTION/clobFiles/6797689c3c12b094b0147a099343a309.txt"/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" valueClobFile="ab_loghistory/DESCRIPTION/clobFiles/6797689c3c12b094b0147a099343a309.txt"/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
+      <column name="DATE_NEW" valueDate="2019-11-12T02:50:52"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;13.11.2019&quot;,&#10;Betreff: &quot;Neuer Kontaktpunkt zum Produkt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;13.11.2019&quot;,&#10;Betreff: &quot;Neuer Kontaktpunkt zum Produkt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="f1b02cad-2a68-45fb-9313-1983b83bb310"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f1b02cad-2a68-45fb-9313-1983b83bb310"/>
+      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T07:56:20"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Anrede: Herr&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:Markus&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachname:Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail:maltinger@industrial-steel.de&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;unsere Firma hat Interesse an ihren Produkten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bitte kontaktieren sie mich f&amp;uuml;r weitere Besprechungen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Anrede: Herr&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:Markus&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachname:Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail:maltinger@industrial-steel.de&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;unsere Firma hat Interesse an ihren Produkten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bitte kontaktieren sie mich f&amp;uuml;r weitere Besprechungen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T07:56:20"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T07:57:27"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hatte ersten Kontakt mit dem Projektzust&amp;auml;ndigen Tim Admin gehabt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktinformationen werden versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hatte ersten Kontakt mit dem Projektzust&amp;auml;ndigen Tim Admin gehabt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktinformationen werden versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T07:57:27"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:02:47"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="a9b38151-dc23-4e47-9574-dc99eea2e7d4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a9b38151-dc23-4e47-9574-dc99eea2e7d4"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:02:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:02:58"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="a9b38151-dc23-4e47-9574-dc99eea2e7d4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a9b38151-dc23-4e47-9574-dc99eea2e7d4"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:02:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:03:11"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="6e0b4cc4-6784-4952-8bf9-c3d644c6a38c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="6e0b4cc4-6784-4952-8bf9-c3d644c6a38c"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:03:11"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:04:31"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kurzes Gespr&amp;auml;ch gef&amp;uuml;hrt mit Herr Altinger.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten seine R&amp;uuml;ckfragen zu unserem Produkt erstmal kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kurzes Gespr&amp;auml;ch gef&amp;uuml;hrt mit Herr Altinger.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten seine R&amp;uuml;ckfragen zu unserem Produkt erstmal kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:04:31"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:05:11"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;e3be48af-e679-4b3a-972f-ad17239e3bb4&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;e3be48af-e679-4b3a-972f-ad17239e3bb4&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="4c9fc29d-261b-4165-9109-94bfabd71544"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4c9fc29d-261b-4165-9109-94bfabd71544"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:05:11"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:05:24"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch vereinbart, erhalten Sie im Anhang die gew&amp;uuml;nschten Informationen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch vereinbart, erhalten Sie im Anhang die gew&amp;uuml;nschten Informationen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:05:24"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:05:54"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:05:54"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:06:04"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:06:04"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:06:13"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:06:13"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:08:53"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:08:53"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:10:47"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:10:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:11:25"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;ONLINE-MEETING                      &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;ONLINE-MEETING                      &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:11:25"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:11:41"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:11:41"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:12:36"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde hatte die erste Produktpr&amp;auml;sentation zu unseren Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&#10;&lt;p&gt;Vor allem das rafinierte Design und die Preisstruktur unseres Unternehmens waren positive Aspekte aus Kundensicht.&lt;/p&gt;&#10;&#10;&lt;p&gt;Werde die n&amp;auml;chsten Schritte anhand der Pr&amp;auml;sentation ableiten.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde hatte die erste Produktpr&amp;auml;sentation zu unseren Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&#10;&lt;p&gt;Vor allem das rafinierte Design und die Preisstruktur unseres Unternehmens waren positive Aspekte aus Kundensicht.&lt;/p&gt;&#10;&#10;&lt;p&gt;Werde die n&amp;auml;chsten Schritte anhand der Pr&amp;auml;sentation ableiten.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:12:36"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:13:21"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Automatischer Import:&lt;/p&gt;&#10;&#10;&lt;p&gt;Infobrosch&amp;uuml;re zu Produkt A runtergeladen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Automatischer Import:&lt;/p&gt;&#10;&#10;&lt;p&gt;Infobrosch&amp;uuml;re zu Produkt A runtergeladen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:13:21"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:21:44"/>
-      <column name="DESCRIPTION" value="Datum: von &quot;14.06.2019&quot; auf &quot;10.10.2017&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Datum: von &quot;14.06.2019&quot; auf &quot;10.10.2017&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:21:44"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:27:42"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:27:42"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:27:50"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:27:50"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:28:29"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:28:29"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:28:51"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:28:51"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:29:45"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Admin,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie bereits telefonisch angek&amp;uuml;ndigt, bitten wir um ein Angebot f&amp;uuml;r die Produkte A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Industrial Steel AG&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Admin,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie bereits telefonisch angek&amp;uuml;ndigt, bitten wir um ein Angebot f&amp;uuml;r die Produkte A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Industrial Steel AG&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:29:45"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:30:17"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:30:17"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:30:51"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. Altinger hat ein Angebot f&amp;uuml;r die Produkte A und B angefordert.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Zu dem Angebot haben wir noch einige Fragen gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. Altinger hat ein Angebot f&amp;uuml;r die Produkte A und B angefordert.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Zu dem Angebot haben wir noch einige Fragen gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:30:51"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:31:46"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:31:46"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:32:09"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:32:09"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:32:30"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:32:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:32:42"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:32:42"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:33:11"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:33:11"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:33:43"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:33:43"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:33:58"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:33:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:34:33"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;So wie besprochen mit den korrigierten Produktpreisen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;So wie besprochen mit den korrigierten Produktpreisen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:34:33"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:34:56"/>
-      <column name="DESCRIPTION" value="Betreff: von &quot;Neuer Kontaktpunkt zum Produkt&quot; auf &quot;Neuer Kontaktpunkt zum Produkt C&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betreff: von &quot;Neuer Kontaktpunkt zum Produkt&quot; auf &quot;Neuer Kontaktpunkt zum Produkt C&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:34:56"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:35:08"/>
-      <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:35:08"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:37:04"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;45635aca-7971-43df-a683-c80c86cb58cc&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;45635aca-7971-43df-a683-c80c86cb58cc&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="04eabfbc-b143-4eba-ab09-2bb6341bb194"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="04eabfbc-b143-4eba-ab09-2bb6341bb194"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:37:04"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:37:32"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;6e667085-bb97-4039-8dfe-2230002985e0&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;6e667085-bb97-4039-8dfe-2230002985e0&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="b0df24a5-a162-40aa-b240-04c03845f896"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b0df24a5-a162-40aa-b240-04c03845f896"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:37:32"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:38:27"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktinformationen zu produkt C versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktinformationen zu produkt C versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:38:27"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:39:33"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:39:33"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:39:45"/>
-      <column name="DESCRIPTION" value="Betreff: von &quot;Produkt gekauft&quot; auf &quot;Produkt gemietet.&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betreff: von &quot;Produkt gekauft&quot; auf &quot;Produkt gemietet.&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:39:45"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:40:25"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;Solano&quot; auf &quot;Solana&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;Solano&quot; auf &quot;Solana&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:40:25"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:40:55"/>
-      <column name="DESCRIPTION" value="Nachname: von &quot;Ericson&quot; auf &quot;Ericsan&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Nachname: von &quot;Ericson&quot; auf &quot;Ericsan&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:40:55"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:43:08"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;gerne lassen ich Ihnen ein paar unserer Referenzen aus Ihrer Branche zukommen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sollten Sie Interesse an einem Referenzgespr&amp;auml;ch haben, k&amp;ouml;nnen Sie mir gerne Bescheid geben. Ich werde dann die Abstimmung mit einem passenden Kunden f&amp;uuml;r Sie in die Wege leiten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Herzliche Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;gerne lassen ich Ihnen ein paar unserer Referenzen aus Ihrer Branche zukommen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sollten Sie Interesse an einem Referenzgespr&amp;auml;ch haben, k&amp;ouml;nnen Sie mir gerne Bescheid geben. Ich werde dann die Abstimmung mit einem passenden Kunden f&amp;uuml;r Sie in die Wege leiten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Herzliche Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:43:08"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:43:21"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:43:21"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:43:34"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:43:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:43:44"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:43:44"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:43:58"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:43:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:44:11"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:44:11"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:44:24"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:44:24"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:44:30"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:44:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:44:38"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:44:38"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:44:58"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. von Alpenhorn hatte die erfreuliche Nachricht, dass sie sich f&amp;uuml;r unser Produkt entschieden haben;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Vertrag kann nun fertig gemacht und zugesandt werden&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. von Alpenhorn hatte die erfreuliche Nachricht, dass sie sich f&amp;uuml;r unser Produkt entschieden haben;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Vertrag kann nun fertig gemacht und zugesandt werden&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:44:58"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag an den neuen Kunden versandt&quot;,&#10;Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Spezifikationen wurden so mit dem Kunden besprochen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Er erh&amp;auml;lt in den ersten zwei Jahren 10 % Nachlass.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag an den neuen Kunden versandt&quot;,&#10;Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Spezifikationen wurden so mit dem Kunden besprochen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Er erh&amp;auml;lt in den ersten zwei Jahren 10 % Nachlass.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;b2c211a7-6dcf-450b-b420-9f04d790de7a&quot;,&#10;Art: &quot;Contract&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;b2c211a7-6dcf-450b-b420-9f04d790de7a&quot;,&#10;Art: &quot;Contract&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="b65b384e-dfd6-4633-8a0b-f9382a03a495"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b65b384e-dfd6-4633-8a0b-f9382a03a495"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;f7b8f0c3-7702-4466-b502-d21fa4fa0010&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;f7b8f0c3-7702-4466-b502-d21fa4fa0010&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="26f94d20-7f3a-4b3e-9655-fcf3e971ce1d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="26f94d20-7f3a-4b3e-9655-fcf3e971ce1d"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:50:49"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:50:49"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:51:09"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:51:09"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:51:30"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:51:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:51:37"/>
-      <column name="DESCRIPTION" value="Betreff: von &quot;Gespräch mit Frau Decker&quot; auf &quot;Gespräch mit Frau Decken&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betreff: von &quot;Gespräch mit Frau Decker&quot; auf &quot;Gespräch mit Frau Decken&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:51:37"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:51:59"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:51:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:52:54"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;62486e9e-52c6-476f-b1e3-5d62e3f6384e&quot;,&#10;Objekt: &quot;19c6bf30-cd8b-40df-980c-ce71c92c194c&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;62486e9e-52c6-476f-b1e3-5d62e3f6384e&quot;,&#10;Objekt: &quot;19c6bf30-cd8b-40df-980c-ce71c92c194c&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="3deeae10-5bcf-4474-bacb-571d49e88860"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="3deeae10-5bcf-4474-bacb-571d49e88860"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:52:54"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:53:17"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:53:17"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:53:32"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Herr Morgenstern hat differenziert von Frau Decken&amp;nbsp;nochmal Fragen zu Produkt 1 und 3.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Herr Morgenstern hat differenziert von Frau Decken&amp;nbsp;nochmal Fragen zu Produkt 1 und 3.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:53:32"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:53:48"/>
-      <column name="DESCRIPTION" value="Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:53:48"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:54:17"/>
-      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:54:17"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:54:30"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;i                                   &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;i                                   &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:54:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:55:02"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:55:02"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:55:20"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:55:20"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:55:41"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:55:41"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:55:59"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:55:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:56:15"/>
-      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:56:15"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;12.08.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag versandt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Rahmenvertrag wurde an die Legal Abteilung des Kunden versandt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Warte auf R&amp;uuml;ckmeldung.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;12.08.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag versandt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Rahmenvertrag wurde an die Legal Abteilung des Kunden versandt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Warte auf R&amp;uuml;ckmeldung.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;6a92df58-2b98-40da-ba6a-d0ddb1fde234&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;6a92df58-2b98-40da-ba6a-d0ddb1fde234&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="fedb7c1b-0a41-4dba-8abb-2e4af7b4ee2d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fedb7c1b-0a41-4dba-8abb-2e4af7b4ee2d"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T08:57:28"/>
-      <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:57:28"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T09:00:14"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;29271db0-4253-46c9-b7c2-5e25376b9d19&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;29271db0-4253-46c9-b7c2-5e25376b9d19&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="d1a33dfd-92c8-4d66-bd21-8a81fbddba06"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d1a33dfd-92c8-4d66-bd21-8a81fbddba06"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T09:00:14"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
-      <column name="DESCRIPTION" value="Anforderer: &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Herbert Obermeier | meine Firma&quot;,&#10;Beginn: &quot;15.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Verpackung der Ware hat bei Zustellung äußerliche Beschädigungen aufgewiesen. An den gleichen Stellen ist die Ware ebenfalls beshädigt.&quot;,&#10;Fällig: &quot;22.11.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Beschädigte Ware&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Anforderer: &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Herbert Obermeier | meine Firma&quot;,&#10;Beginn: &quot;15.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Verpackung der Ware hat bei Zustellung äußerliche Beschädigungen aufgewiesen. An den gleichen Stellen ist die Ware ebenfalls beshädigt.&quot;,&#10;Fällig: &quot;22.11.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Beschädigte Ware&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="46164eac-62d1-4dbb-a252-93ac49429855"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="46164eac-62d1-4dbb-a252-93ac49429855"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
-      <column name="DESCRIPTION" value="Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Task Id: &quot;46164eac-62d1-4dbb-a252-93ac49429855&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Task Id: &quot;46164eac-62d1-4dbb-a252-93ac49429855&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="TASKLINK"/>
-      <column name="TABLENAMEID" value="eca5c8cb-bd10-4425-b4bc-a2e50f2518b9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="eca5c8cb-bd10-4425-b4bc-a2e50f2518b9"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
-      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Lieferprobleme&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Lieferprobleme&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Anforderungen Bilderdokumentation&quot;,&#10;Parent Id: &quot;634ad7a8-9c68-4ea4-8385-f5bb37224482&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;PHONE                               &quot;,&#10;Richtung: &quot;o                                   &quot;,&#10;Parent context: &quot;SupportTicket&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Anforderungen Bilderdokumentation&quot;,&#10;Parent Id: &quot;634ad7a8-9c68-4ea4-8385-f5bb37224482&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;PHONE                               &quot;,&#10;Richtung: &quot;o                                   &quot;,&#10;Parent context: &quot;SupportTicket&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;b8067a42-d059-4d86-88b0-485a194faa36&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;b8067a42-d059-4d86-88b0-485a194faa36&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="60c58962-9b76-4d22-855d-b0cf9ef388dc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="60c58962-9b76-4d22-855d-b0cf9ef388dc"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T11:12:57"/>
-      <column name="DESCRIPTION" value="Name: &quot;Erstkontakt ADITO&quot;,&#10;Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: &quot;Email Vorlage Erstkontakt&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Name: &quot;Erstkontakt ADITO&quot;,&#10;Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: &quot;Email Vorlage Erstkontakt&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="TABLENAMEID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:12:57"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
-      <column name="DESCRIPTION" value="Bezeichnung: &quot;Ersatzteil 3&quot;,&#10;Menge: &quot;50&quot;,&#10;Einheit: &quot;Stück&quot;,&#10;UmsSt. in %: &quot;19.00&quot;,&#10;Einzelpreis: &quot;1060.00&quot;,&#10;Position: &quot;1&quot;,&#10;Warengruppe: &quot;Ersatzteile&quot;,&#10;Artikel: &quot;6e52e636-284d-454b-978c-8f58844c5c5b&quot;,&#10;Optional: &quot;Nein&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
-      <column name="SOURCE_TABLENAMEID" value="3d9a18ac-2182-4cd5-a2c4-140674466821"/>
+      <column name="DESCRIPTION" value="Bezeichnung: &quot;Ersatzteil 3&quot;,&#10;Menge: &quot;50&quot;,&#10;Einheit: &quot;Stück&quot;,&#10;UmsSt. in %: &quot;19.00&quot;,&#10;Einzelpreis: &quot;1060.00&quot;,&#10;Position: &quot;1&quot;,&#10;Warengruppe: &quot;Ersatzteile&quot;,&#10;Artikel: &quot;6e52e636-284d-454b-978c-8f58844c5c5b&quot;,&#10;Optional: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="SOURCE_TABLENAMEID" value="3d9a18ac-2182-4cd5-a2c4-140674466821"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
-      <column name="DESCRIPTION" value="Betrag netto: von &quot;0.00&quot; auf &quot;53000&quot;,&#10;UmsSt.: von &quot;0.00&quot; auf &quot;10070&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;0.00&quot; auf &quot;53000&quot;,&#10;UmsSt.: von &quot;0.00&quot; auf &quot;10070&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
-      <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;15.11.2019&quot;,&#10;Belegnummer: &quot;1016&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;15.11.2019&quot;,&#10;Belegnummer: &quot;1016&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
-      <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
-      <column name="TABLENAMEID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
-      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;fällig&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;fällig&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="9770d2f3-409c-4fab-a3df-4fd3dcd14693"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9770d2f3-409c-4fab-a3df-4fd3dcd14693"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="d0e0ddd2-1b8f-4e1f-aa47-47a72086245e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d0e0ddd2-1b8f-4e1f-aa47-47a72086245e"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
-      <column name="DESCRIPTION" value="Phase: von &quot;MQC&quot; auf &quot;SQO&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Phase: von &quot;MQC&quot; auf &quot;SQO&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
-      <column name="TABLENAMEID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Date start: &quot;15.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Date start: &quot;15.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="d51e2f85-5767-4cfb-9252-b314813152ed"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d51e2f85-5767-4cfb-9252-b314813152ed"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
-      <column name="DESCRIPTION" value="Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
-      <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; eingefügt."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="54e015f0-e626-484e-9c55-931d3210d1e9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="54e015f0-e626-484e-9c55-931d3210d1e9"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T09:22:44"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gering&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gering&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:22:44"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
-      <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; gelöscht."/>
       <column name="TABLENAME" value="PERSON"/>
-      <column name="TABLENAMEID" value="54e015f0-e626-484e-9c55-931d3210d1e9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="54e015f0-e626-484e-9c55-931d3210d1e9"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
-      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot; gelöscht."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T10:00:18"/>
-      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;25.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Controlling Termin Vorbereiten&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;25.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Controlling Termin Vorbereiten&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="eadbfbc2-3664-49c8-bda1-b6f8e15e5f21"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="eadbfbc2-3664-49c8-bda1-b6f8e15e5f21"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T10:00:18"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T10:01:00"/>
-      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;26.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Rückruf Herr. Feldner&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;26.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Rückruf Herr. Feldner&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T10:01:00"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T01:27:33"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:27:33"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
-      <column name="DESCRIPTION" value="Firma: &quot;Firmengruppe Matthias Bogen&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Firma: &quot;Firmengruppe Matthias Bogen&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
-      <column name="DESCRIPTION" value="Ort: &quot;Geisenhausen&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Konrad&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84144&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
-      <column name="SOURCE_TABLENAMEID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
+      <column name="DESCRIPTION" value="Ort: &quot;Geisenhausen&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Konrad&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84144&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="SOURCE_TABLENAMEID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
-      <column name="DESCRIPTION" value="Kommunikation Mobil: &quot;+49 176 48525800&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Kommunikation Mobil: &quot;+49 176 48525800&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:18:11"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Handel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Handel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:18:11"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:18:12"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:18:12"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:20:19"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:20:19"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Service&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Service&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:25:12"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:25:12"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:25:13"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:25:13"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:26:46"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:26:46"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:26:47"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:26:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:27:08"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:27:08"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:28:14"/>
-      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:28:14"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:29:30"/>
-      <column name="DESCRIPTION" value="Name: &quot;Serienmail - Newsletter&quot;,&#10;Betreff: &quot;Newsletter 2020&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Name: &quot;Serienmail - Newsletter&quot;,&#10;Betreff: &quot;Newsletter 2020&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="TABLENAMEID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:29:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:30:20"/>
-      <column name="DESCRIPTION" value="Name: &quot;Produktinformationen&quot;,&#10;Betreff: &quot;Produktinformationen &quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Name: &quot;Produktinformationen&quot;,&#10;Betreff: &quot;Produktinformationen &quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="TABLENAMEID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:30:20"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:31:13"/>
-      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Weihnachtskarte&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Weihnachtskarte&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
-      <column name="TABLENAMEID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:31:13"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:31:56"/>
-      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Einladung Kundentag&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Einladung Kundentag&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
-      <column name="TABLENAMEID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:31:56"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:32:35"/>
-      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;VIP Kundeneinladungen&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;VIP Kundeneinladungen&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
-      <column name="TABLENAMEID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:32:35"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:38:18"/>
-      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt meineFirma&quot;,&#10;Betreff: von &quot;Newsletter 2020&quot; auf &quot;Erstkontakt meineFirma&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt meineFirma&quot;,&#10;Betreff: von &quot;Newsletter 2020&quot; auf &quot;Erstkontakt meineFirma&quot; geändert."/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="TABLENAMEID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:38:18"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T06:39:20"/>
-      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: von &quot;Produktinformationen &quot; auf &quot;Email Vorlage Erstkontakt&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: von &quot;Produktinformationen &quot; auf &quot;Email Vorlage Erstkontakt&quot; geändert."/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="TABLENAMEID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T06:39:20"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:17:08"/>
-      <column name="DESCRIPTION" value="Object 1 row Id: &quot;13e60843-5d6d-45ee-88c7-46db41874138&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;3cee0474-504f-43cc-844a-715f1a0db271&quot;,&#10;Object relation type 2: &quot;fa879afd-b2c5-4eee-9799-d63c6764b348&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Object 1 row Id: &quot;13e60843-5d6d-45ee-88c7-46db41874138&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;3cee0474-504f-43cc-844a-715f1a0db271&quot;,&#10;Object relation type 2: &quot;fa879afd-b2c5-4eee-9799-d63c6764b348&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
-      <column name="TABLENAMEID" value="e94240b7-4492-43f8-8913-cd7ff6ea2892"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e94240b7-4492-43f8-8913-cd7ff6ea2892"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:17:08"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:17:20"/>
-      <column name="DESCRIPTION" value="Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
-      <column name="TABLENAMEID" value="8c09b724-5ff0-4869-add8-803097cd94aa"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8c09b724-5ff0-4869-add8-803097cd94aa"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:17:20"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:17:47"/>
-      <column name="DESCRIPTION" value="Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
-      <column name="TABLENAMEID" value="8c09b724-5ff0-4869-add8-803097cd94aa"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8c09b724-5ff0-4869-add8-803097cd94aa"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:17:47"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:18:26"/>
-      <column name="DESCRIPTION" value="Object 1 row Id: &quot;62175b31-b432-4ec6-932f-8e69033884c6&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Object 1 row Id: &quot;62175b31-b432-4ec6-932f-8e69033884c6&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
-      <column name="TABLENAMEID" value="47802bb5-7785-43ba-a860-6b494e8ef593"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="47802bb5-7785-43ba-a860-6b494e8ef593"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:18:26"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:19:02"/>
-      <column name="DESCRIPTION" value="Object 1 row Id: &quot;97b66b3c-a9f5-4dc4-902e-850d69973d1d&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;c9b7ce6b-1100-46f6-8498-2da6ac24189e&quot;,&#10;Object relation type 2: &quot;259babbd-7827-44d4-b9ec-8245d27b5f70&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Object 1 row Id: &quot;97b66b3c-a9f5-4dc4-902e-850d69973d1d&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;c9b7ce6b-1100-46f6-8498-2da6ac24189e&quot;,&#10;Object relation type 2: &quot;259babbd-7827-44d4-b9ec-8245d27b5f70&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
-      <column name="TABLENAMEID" value="2bd8678c-e621-4e22-b203-2d5d967422c0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2bd8678c-e621-4e22-b203-2d5d967422c0"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:19:02"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:26:48"/>
-      <column name="DESCRIPTION" value="Funktion: &quot;Vertriebsleiter&quot;,&#10;Abteilung: &quot;Vertrieb&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Funktion: &quot;Vertriebsleiter&quot;,&#10;Abteilung: &quot;Vertrieb&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:26:48"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
-      <column name="DESCRIPTION" value="Firma: &quot;Skyscraper Bau GmbH&quot;,&#10;Funktion: &quot;Koordinator&quot;,&#10;Abteilung: &quot;Produktion&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Firma: &quot;Skyscraper Bau GmbH&quot;,&#10;Funktion: &quot;Koordinator&quot;,&#10;Abteilung: &quot;Produktion&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
-      <column name="DESCRIPTION" value="Ort: &quot;Landshut&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Innere Münchner Straße&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84028&quot;,&#10;Hausnummer: &quot;3&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
-      <column name="SOURCE_TABLENAMEID" value="98652f91-7775-4e96-bc90-034669fceeac"/>
+      <column name="DESCRIPTION" value="Ort: &quot;Landshut&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Innere Münchner Straße&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84028&quot;,&#10;Hausnummer: &quot;3&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
+      <column name="SOURCE_TABLENAMEID" value="98652f91-7775-4e96-bc90-034669fceeac"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T08:28:23"/>
-      <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsleiter&quot; auf &quot;Berater&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsleiter&quot; auf &quot;Berater&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:28:23"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="9770d2f3-409c-4fab-a3df-4fd3dcd14693"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9770d2f3-409c-4fab-a3df-4fd3dcd14693"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
-      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
-      <column name="TABLENAMEID" value="d0e0ddd2-1b8f-4e1f-aa47-47a72086245e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d0e0ddd2-1b8f-4e1f-aa47-47a72086245e"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
-      <column name="DESCRIPTION" value="Richtung: &quot;o                                   &quot;,&#10;Entry date: &quot;15.11.2019&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Betreff: &quot;fällig&quot; gelöscht."/>
       <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Richtung: &quot;o                                   &quot;,&#10;Entry date: &quot;15.11.2019&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Betreff: &quot;fällig&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITY"/>
-      <column name="TABLENAMEID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
-      <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;MQC&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;MQC&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
-      <column name="TABLENAMEID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
-      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:31"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;ef7f4726-4476-4f59-97c2-706dc1e0046f&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;ef7f4726-4476-4f59-97c2-706dc1e0046f&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="1f86a32a-7fa5-4a51-8bbe-4feee35c8e50"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="1f86a32a-7fa5-4a51-8bbe-4feee35c8e50"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:31"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
-      <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;SAL&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;SAL&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
-      <column name="TABLENAMEID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
-      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;d422ad81-717f-42b0-bd64-fc892744aac7&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;d422ad81-717f-42b0-bd64-fc892744aac7&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="e33c0567-8085-4a1e-a7f6-131353297ebf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e33c0567-8085-4a1e-a7f6-131353297ebf"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:45:12"/>
-      <column name="DESCRIPTION" value="Status: von &quot;neu&quot; auf &quot;in Bearbeitung&quot;,&#10;Fortschritt: von &quot;0%&quot; auf &quot;50%&quot;,&#10;Priorität: von &quot;niedrig&quot; auf &quot;hoch&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Status: von &quot;neu&quot; auf &quot;in Bearbeitung&quot;,&#10;Fortschritt: von &quot;0%&quot; auf &quot;50%&quot;,&#10;Priorität: von &quot;niedrig&quot; auf &quot;hoch&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:45:12"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:45:24"/>
-      <column name="DESCRIPTION" value="Status: von &quot;in Bearbeitung&quot; auf &quot;abgeschlossen&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Status: von &quot;in Bearbeitung&quot; auf &quot;abgeschlossen&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
-      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:45:24"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
-      <column name="DESCRIPTION" value="Phase: von &quot;Negotiation&quot; auf &quot;Angebot&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Phase: von &quot;Negotiation&quot; auf &quot;Angebot&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
-      <column name="TABLENAMEID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
-      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;7e2680f6-a438-45aa-956a-787363f85923&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;7e2680f6-a438-45aa-956a-787363f85923&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="8fb45194-7ced-475f-be58-7780c359dd0f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8fb45194-7ced-475f-be58-7780c359dd0f"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
-      <column name="DESCRIPTION" value="Projektnummer: &quot;1007&quot;,&#10;Roll Out: &quot;26.11.2020&quot;,&#10;Projekttitel: &quot;Projekt 123&quot;,&#10;Projektstart: &quot;26.11.2019&quot;,&#10;Firma: &quot;Glob Group&quot;,&#10;Phase: &quot;NQC&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Projektnummer: &quot;1007&quot;,&#10;Roll Out: &quot;26.11.2020&quot;,&#10;Projekttitel: &quot;Projekt 123&quot;,&#10;Projektstart: &quot;26.11.2019&quot;,&#10;Firma: &quot;Glob Group&quot;,&#10;Phase: &quot;NQC&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
-      <column name="TABLENAMEID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="97ac26df-2333-461c-958e-83fbc6f743ed"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="97ac26df-2333-461c-958e-83fbc6f743ed"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
-      <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
-      <column name="TABLENAMEID" value="ba8d15aa-3851-451b-9230-70eb7fb4ed6c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ba8d15aa-3851-451b-9230-70eb7fb4ed6c"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
-      <column name="DESCRIPTION" value="Eigenschaft Project type: &quot;Bestandskunde&quot; eingefügt."/>
       <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Project type: &quot;Bestandskunde&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
-      <column name="TABLENAMEID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T01:00:57"/>
-      <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsmitarbeiter&quot; auf &quot;Einkaufsleiter&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsmitarbeiter&quot; auf &quot;Einkaufsleiter&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="TABLENAMEID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T01:00:57"/>
     </insert>
     <insert tableName="ab_loghistory">
-      <column name="DATE_NEW" valueDate="2019-11-26T01:01:24"/>
-      <column name="DESCRIPTION" value="Funktion: von &quot;Einkaufsleiter&quot; auf &quot;Vertriebsleiter&quot; geändert."/>
       <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Funktion: von &quot;Einkaufsleiter&quot; auf &quot;Vertriebsleiter&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="TABLENAMEID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T01:01:24"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.11.2019&quot; auf &quot;15.09.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:19:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.11.2019&quot; auf &quot;16.09.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:20:13"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.11.2019&quot; auf &quot;11.09.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:21:09"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Campaign&quot;,&#10;Aktivitäten ID: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot; gelöscht."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8d91fe31-c2de-433a-b8ab-691a8970f7e6"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Campaign&quot;,&#10;Aktivitäten ID: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot; gelöscht."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62db9cd0-b240-4009-822e-a40cb81b671f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Betreff: &quot;Einladungen gehen 18.09 raus&quot;,&#10;Eingangsdatum: &quot;04.09.2019&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beschreibung: &quot;[BLOB]&#10;&quot;,&#10;Richtung: &quot;Intern&quot; gelöscht."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.09.2019&quot; auf &quot;08.07.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:22:38"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.08.2019&quot; auf &quot;10.06.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:23:05"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:23:24"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:24:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.05.2019&quot; auf &quot;06.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:24:27"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;17.04.2019&quot; auf &quot;08.04.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:24:40"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.04.2019&quot; auf &quot;06.04.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:25:06"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.04.2019&quot; auf &quot;02.04.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:25:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;29.03.2019&quot; auf &quot;27.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:25:29"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;29.03.2019&quot; auf &quot;26.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:25:39"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;28.03.2019&quot; auf &quot;24.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:25:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;26.03.2019&quot; auf &quot;24.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:00"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:09"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:17"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;20.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:26"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;21.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;20.03.2019&quot; auf &quot;18.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:45"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.03.2019&quot; auf &quot;11.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:26:55"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.03.2019&quot; auf &quot;11.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:03"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.03.2019&quot; auf &quot;10.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:11"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:27"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:37"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;05.03.2019&quot; auf &quot;03.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:46"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;01.03.2019&quot; auf &quot;28.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:27:57"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;25.02.2019&quot; auf &quot;24.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:28:11"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;19.02.2019&quot; auf &quot;18.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:28:22"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;18.02.2019&quot; auf &quot;17.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:28:33"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.02.2019&quot; auf &quot;07.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:28:41"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.02.2019&quot; auf &quot;03.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:28:52"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.02.2019&quot; auf &quot;03.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:01"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;28.01.2019&quot; auf &quot;27.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:10"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.01.2019&quot; auf &quot;21.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:23"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;18.01.2019&quot; auf &quot;17.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:32"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:29:52"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:01"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.08.2018&quot; auf &quot;09.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9f498736-c523-4c63-8c53-28e49324b52b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:15"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.08.2018&quot; auf &quot;09.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:26"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;09.08.2018&quot; auf &quot;08.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:37"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;06.08.2018&quot; auf &quot;06.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:46"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:30:56"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:31:06"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:31:46"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="94365b81-cddd-4f56-8379-7ba0a98840a4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:32:01"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;31.07.2018&quot; auf &quot;30.07.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:32:12"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.06.2018&quot; auf &quot;31.05.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="aa110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:32:26"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.02.2018&quot; auf &quot;21.02.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="de110a35-aaab-407e-9d60-7a65f028159b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:32:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.06.2018&quot; auf &quot;31.05.2019&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="de110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:32:56"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.04.2017&quot; auf &quot;12.04.2018&quot; geändert."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="de110a33-bcab-407e-9d60-7a65f028159b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:33:05"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;25.11.2019&quot; auf &quot;23.11.2020&quot;,&#10;Fällig: von &quot;02.12.2019&quot; auf &quot;02.12.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="eadbfbc2-3664-49c8-bda1-b6f8e15e5f21"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:34:03"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;22.05.2019&quot; auf &quot;20.05.2020&quot;,&#10;Fällig: von &quot;13.11.2019&quot; auf &quot;11.11.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d8f35764-2c56-45be-93c7-f1e0695e2417"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:34:27"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;22.05.2019&quot; auf &quot;20.05.2020&quot;,&#10;Fällig: von &quot;01.10.2019&quot; auf &quot;01.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="0d126a7e-4308-4857-9245-5a40f3e2b36e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:34:57"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot;,&#10;Fällig: von &quot;21.06.2019&quot; auf &quot;19.06.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="cf99cace-a6e1-46a6-ad83-c634e373f320"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:35:29"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot;,&#10;Fällig: von &quot;30.05.2019&quot; auf &quot;29.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="81a4d411-f317-4080-84b6-55ed91d26d34"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:36:52"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot;,&#10;Fällig: von &quot;30.05.2019&quot; auf &quot;28.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="96ec8b48-9fac-4216-bc98-a8323f0592f9"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:37:21"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;11.02.2019&quot; auf &quot;30.09.2020&quot;,&#10;Fällig: von &quot;29.05.2019&quot; auf &quot;30.09.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="67afcc4b-f71b-4da6-a8b3-e7947c411a2a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:37:50"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;22.05.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;29.05.2019&quot; auf &quot;12.11.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="f8fcdce1-da60-46d6-9ce3-3866e093730d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:38:21"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;17.05.2019&quot; auf &quot;14.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;28.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d6217dc5-5585-4919-a545-9cdc64a1ca58"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:38:40"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;17.05.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;30.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7d404da2-78bf-427b-8abb-4c7e953220ca"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:39:02"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;22.05.2019&quot; auf &quot;27.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;27.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2e50d2cd-9429-433c-8f6e-2e31a9e7908e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:39:39"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;17.05.2019&quot; auf &quot;26.10.2020&quot;,&#10;Fällig: von &quot;22.05.2019&quot; auf &quot;30.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="380c1ae1-c7d4-49b7-87e1-4fe2e16c4c52"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:40:05"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Birgit Leicht | meine Firma&quot;,&#10;Beginn: von &quot;08.05.2019&quot; auf &quot;22.12.2020&quot;,&#10;Fällig: von &quot;15.05.2019&quot; auf &quot;22.12.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="783f38b6-db71-42b5-9117-848553905c93"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:40:33"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;01.04.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;05.04.2019&quot; auf &quot;21.10.2020&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="81a4c8e7-4429-41e1-a534-f1be21e56b5e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:41:05"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Beginn: von &quot;20.01.2019&quot; auf &quot;20.01.2021&quot;,&#10;Fortschritt: von &quot;undefined&quot; auf &quot;0%&quot;,&#10;Fällig: von &quot;20.01.2019&quot; auf &quot;20.01.2021&quot; geändert."/>
+      <column name="TABLENAME" value="TASK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e9cb198d-c420-4192-9c29-b23682457d8e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:41:40"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Projektart: &quot;Interessent&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:51:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Wahrscheinlichkeit: von &quot;50 %&quot; auf &quot;25 %&quot;,&#10;Roll Out: von &quot;22.05.2020&quot; auf &quot;22.05.2022&quot;,&#10;Projektstart: von &quot;05.02.2016&quot; auf &quot;05.02.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T06:52:02"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Minimal count: von &quot;1&quot; auf &quot;undefined&quot; geändert."/>
+      <column name="TABLENAME" value="AB_ATTRIBUTEUSAGE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="06afbdb4-a9e1-493d-b45e-c14e114a9cc7"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:02:44"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Roll Out: von &quot;16.05.2020&quot; auf &quot;20.05.2021&quot;,&#10;Projektstart: von &quot;16.05.2019&quot; auf &quot;14.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:03:09"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;25.03.2019&quot; auf &quot;22.03.2021&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:20:28"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Datum: von &quot;22.03.2021&quot; auf &quot;16.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:20:55"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Verknüpfung: von &quot;Herr Markus Altinger | Industrial Steel AG&quot; auf &quot;Industrial Steel AG&quot;,&#10;Datum: von &quot;25.03.2019&quot; auf &quot;23.03.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:21:09"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:23:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;16.05.2019&quot; auf &quot;14.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:23:47"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Roll Out: von &quot;22.05.2020&quot; auf &quot;22.05.2022&quot;,&#10;Projektstart: von &quot;16.05.2017&quot; auf &quot;13.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:24:34"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Wahrscheinlichkeit: von &quot;undefined&quot; auf &quot;50 %&quot;,&#10;Roll Out: von &quot;26.11.2020&quot; auf &quot;26.11.2021&quot;,&#10;Projektstart: von &quot;26.11.2019&quot; auf &quot;24.11.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:25:53"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Roll Out: von &quot;17.05.2020&quot; auf &quot;17.05.2021&quot;,&#10;Projektstart: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:26:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;11.07.2017&quot; auf &quot;06.07.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:30:11"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;17.05.2019&quot; auf &quot;12.08.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:30:32"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;08.03.2019&quot; auf &quot;19.08.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:30:46"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Roll Out: von &quot;17.05.2020&quot; auf &quot;18.05.2022&quot;,&#10;Projektstart: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESPROJECT"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:31:18"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Datum: von &quot;14.08.2018&quot; auf &quot;10.09.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:32:45"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Datum: von &quot;22.02.2019&quot; auf &quot;20.05.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:33:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eigenschaft Besuchsplanung / Besuchsfrequenz: &quot;vierteljährlich&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:45:58"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: &quot;16.09.2020&quot;,&#10;Betreff: &quot;telefonischer Austausch&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beschreibung: &quot;Gespräch zum Wachstumspotential 2021&#10;&quot;,&#10;Kategorie: &quot;Telefon&quot;,&#10;Richtung: &quot;ausgehend&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="18ed06df-30b2-4d59-a4b4-a6e646f6f05a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Aktivitäten ID: &quot;18ed06df-30b2-4d59-a4b4-a6e646f6f05a&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="388760d2-b575-492f-b249-ab0d1b4cc5b4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Aktivitäten ID: &quot;18ed06df-30b2-4d59-a4b4-a6e646f6f05a&quot;,&#10;Objekt: &quot;dec94545-2487-46d5-978d-26ee0fcf0f5f&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="17ca6ad6-e2d4-47b0-a70f-b824e35298a2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Datum: von &quot;15.11.2019&quot; auf &quot;05.08.2020&quot;,&#10;Zahlungsziel: von &quot;22.11.2019&quot; auf &quot;12.08.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:55"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Industrial Steel AG&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1013-1&quot;,&#10;Datum: &quot;16.09.2020&quot;,&#10;Belegnummer: &quot;1017&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;23.09.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1002 | Erstprojekt&quot;,&#10;Zahlungsadresse: &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Nein&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:49:48"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;25000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;UmsSt. in %: &quot;19.00&quot;,&#10;Artikel: &quot;895f8caf-8c91-4ba8-9619-44ea6366cbbb&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;WG2 Produkt 5&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="692f2acd-08b6-45d1-bcdf-6f8e46999039"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:49:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;25000&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;4750&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:49:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;29750&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:50:00"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Versendet: von &quot;Nein&quot; auf &quot;Ja&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:50:05"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Eingangsdatum: &quot;02.09.2020&quot;,&#10;Betreff: &quot;Besuch zum umsatz&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Kategorie: &quot;Besuch&quot;,&#10;Richtung: &quot;eingehend&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITY"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="84954c14-f576-400b-8027-f9e66d345cc5"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Aktivitäten ID: &quot;84954c14-f576-400b-8027-f9e66d345cc5&quot;,&#10;Objekt: &quot;fc465f2f-803b-4a1f-b79d-7b466d7ecff4&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="02c0bb4d-8e91-4f7c-abf6-d99696d11e82"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Aktivitäten ID: &quot;84954c14-f576-400b-8027-f9e66d345cc5&quot;,&#10;Objekt: &quot;6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
+      <column name="TABLENAME" value="ACTIVITYLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="9d6feb2f-5a69-4bcd-887c-0a2b36c7dd3e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Skyscraper Bau GmbH&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1007-1&quot;,&#10;Datum: &quot;03.06.2020&quot;,&#10;Belegnummer: &quot;1018&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;10.06.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1003 | Skyscraper / Pilotprojekt&quot;,&#10;Zahlungsadresse: &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Ja&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;3500.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;895f8caf-8c91-4ba8-9619-44ea6366cbbb&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Turbolader&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="07ceecff-e3cc-4891-b820-3fb6b977a9cc"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;5000.00&quot;,&#10;Menge: &quot;5.00&quot;,&#10;Artikel: &quot;535cec1a-e81c-4833-aad6-1d2348dbc0fb&quot;,&#10;Position: &quot;2&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Klimaanlage 4-Zonen&quot;,&#10;Beschreibung: &quot;4 Zonen Klimaanlage für Mittelklasse Wagen&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="2f409cb9-4d85-4e39-8e78-4838cd9a9224"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;28500&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;28500&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:54:57"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="SOURCE_TABLENAME" value="ADDRESS"/>
+      <column name="DESCRIPTION" value="Adresse: von &quot;Königstraße&quot; auf &quot;Rathausmarkt&quot;,&#10;Postleitzahl : von &quot;22767 &quot; auf &quot;20095&quot;,&#10;Hausnummer: von &quot;4&quot; auf &quot;1&quot; geändert."/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="SOURCE_TABLENAMEID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:10:32"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="SOURCE_TABLENAME" value="ADDRESS"/>
+      <column name="DESCRIPTION" value="Stadt: von &quot;Stuttgart&quot; auf &quot;Norderstedt&quot;,&#10;Adresse: von &quot;Bolzstraße&quot; auf &quot;Rathausallee&quot;,&#10;Postleitzahl : von &quot;70173&quot; auf &quot;22846&quot;,&#10;Hausnummer: von &quot;64&quot; auf &quot;50&quot;,&#10;Staat: von &quot;Baden-Württemberg&quot; auf &quot;Schleswig-Holstein&quot; geändert."/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="SOURCE_TABLENAMEID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:11:37"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Status: von &quot;Offen&quot; auf &quot;Gewonnen&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:16"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Kopftext: &quot;gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Transatlantik Logistics GmbH&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1008-1&quot;,&#10;Datum: &quot;01.09.2020&quot;,&#10;Belegnummer: &quot;1019&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;08.09.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1004 | Transatlantik Initialprojekt&quot;,&#10;Zahlungsadresse: &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Ja&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;150000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;155ac430-ccfc-4814-95fc-189631779064&quot;,&#10;Rabatt: &quot;5.00&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Förderanlage&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="817d0b06-077d-4f71-b983-91cf218ff0f7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einheit: &quot;Kg&quot;,&#10;Einzelpreis: &quot;5000.00&quot;,&#10;Menge: &quot;10.00&quot;,&#10;Artikel: &quot;8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1&quot;,&#10;Position: &quot;2&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Stahlträger Standard&quot;,&#10;Beschreibung: &quot;Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m.&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="35c54c0a-760c-4a6b-a5f1-4d6beaec07ac"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;192500&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;192500&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:10:49"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Währung: &quot;EUR&quot;,&#10;Adresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Anschreiben: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Status: &quot;Offen&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Wahrscheinlichkeit: &quot;0%&quot;,&#10;Verknüpfung: &quot;Bucher Unternehmensgruppe&quot;,&#10;Angebotsnummer: &quot;1014&quot;,&#10;Datum: &quot;06.04.2020&quot; eingefügt."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:12:03"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;0.00&quot;,&#10;gesamte Mehrwertsteuer: von &quot;undefined&quot; auf &quot;0.00&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:12:03"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="OFFERITEM"/>
+      <column name="DESCRIPTION" value="Einzelpreis: &quot;145000&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Position: &quot;1&quot;,&#10;Item sortieren: &quot;1&quot;,&#10;Menge: &quot;1&quot;,&#10;Artikel: &quot;993f6294-f1fc-42d2-8786-1c13274fd133&quot; eingefügt."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="SOURCE_TABLENAMEID" value="76b2aed9-ef76-4682-8dcb-2f042257eedb"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:12:44"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;0.00&quot; auf &quot;145,000.00&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:12:44"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Bucher Unternehmensgruppe&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1014-1&quot;,&#10;Datum: &quot;12.08.2020&quot;,&#10;Belegnummer: &quot;1020&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;19.08.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1006 | Buchner Neuprojekt&quot;,&#10;Zahlungsadresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Nein&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
+      <column name="DESCRIPTION" value="Einzelpreis: &quot;145000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;993f6294-f1fc-42d2-8786-1c13274fd133&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot; eingefügt."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="SOURCE_TABLENAMEID" value="117e49f1-b6ac-4570-9042-ae9d69263cb5"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;145000&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;145000&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:13:45"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Versendet: von &quot;Nein&quot; auf &quot;Ja&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:13:51"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Datum: von &quot;01.09.2020&quot; auf &quot;11.08.2020&quot;,&#10;Zahlungsziel: von &quot;08.09.2020&quot; auf &quot;18.08.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:16:08"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Datum: von &quot;10.09.2020&quot; auf &quot;06.07.2020&quot; geändert."/>
+      <column name="TABLENAME" value="OFFER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:16:18"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="DESCRIPTION" value="Zahlungseingang: von &quot;16.09.2020&quot; auf &quot;27.08.2020&quot; geändert."/>
+      <column name="TABLENAME" value="SALESORDER"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:18:02"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="U"/>
+      <column name="SOURCE_TABLENAME" value="ADDRESS"/>
+      <column name="DESCRIPTION" value="Stadt: von &quot;München&quot; auf &quot;Geisenhausen&quot;,&#10;Adresse: von &quot;Wilhelm-Straße&quot; auf &quot;Konrad-Zuse-Straße&quot;,&#10;Postleitzahl : von &quot;80807&quot; auf &quot;84144&quot;,&#10;Gebiet: von &quot;undefined&quot; auf &quot;NB&quot;,&#10;Hausnummer: von &quot;2&quot; auf &quot;4&quot; geändert."/>
+      <column name="TABLENAME" value="CONTACT"/>
+      <column name="SOURCE_TABLENAMEID" value="14d03432-985b-4efe-a634-da71ae482907"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:39:36"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Art: &quot;Organisation&quot;,&#10;Objekt: &quot;null&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fbf92ce7-cb28-4e82-9fcd-43ad6711fd65"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:46:11"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Art: &quot;Person&quot;,&#10;Objekt: &quot;a8a5f214-8165-4627-bee2-bceb3578147e&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="57391d56-8424-416b-8e5d-9d6ef35f39c3"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:46:11"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Art: &quot;Organisation&quot;,&#10;Objekt: &quot;null&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="502e5bba-e03f-4df8-8f23-05bbd4d606f3"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:46:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="I"/>
+      <column name="DESCRIPTION" value="Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Art: &quot;Person&quot;,&#10;Objekt: &quot;7a34d9d0-04c7-478c-a8e2-f584fe625c45&quot; eingefügt."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b6258f1d-74b7-430d-83d2-62aa9aec222b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:46:14"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Person&quot;,&#10;Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Objekt: &quot;a8a5f214-8165-4627-bee2-bceb3578147e&quot; gelöscht."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="57391d56-8424-416b-8e5d-9d6ef35f39c3"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T11:58:01"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Organisation&quot;,&#10;Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Objekt: &quot;null&quot; gelöscht."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="fbf92ce7-cb28-4e82-9fcd-43ad6711fd65"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T11:58:01"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Person&quot;,&#10;Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Objekt: &quot;7a34d9d0-04c7-478c-a8e2-f584fe625c45&quot; gelöscht."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="b6258f1d-74b7-430d-83d2-62aa9aec222b"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T11:58:06"/>
+    </insert>
+    <insert tableName="ab_loghistory">
+      <column name="LOGTYPE" value="D"/>
+      <column name="DESCRIPTION" value="Art: &quot;Organisation&quot;,&#10;Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Objekt: &quot;null&quot; gelöscht."/>
+      <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="TABLENAMEID" value="502e5bba-e03f-4df8-8f23-05bbd4d606f3"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T11:58:06"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelation.xml
index 2daffba38d..cca5228e40 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelation.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelation.xml
@@ -1,97 +1,97 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="c0cb4360-4bf2-4b34-9618-c40d749aa06c">
+  <changeSet author="autogenerated" id="48d17037-2f36-49ea-87f3-0e048ae77786">
     <delete tableName="ab_objectrelation"/>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="AB_OBJECTRELATIONID" value="03c855e5-f236-4e39-b886-91832b3a53fb"/>
+      <column name="OBJECT2_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="OBJECT1_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="OBJECT2_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="b3b85332-1c86-4cd8-a3b9-34c49c51f01a"/>
       <column name="AB_OBJECTRELATIONID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="OBJECT2_ROWID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="c74ad02c-1db9-4f47-8691-aba349dbe316"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="b3b85332-1c86-4cd8-a3b9-34c49c51f01a"/>
       <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="OBJECT2_ROWID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="AB_OBJECTRELATIONID" value="2bd8678c-e621-4e22-b203-2d5d967422c0"/>
+      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="OBJECT1_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="AB_OBJECTRELATIONID" value="390cd4d2-8231-4dbc-ac9d-0ea7aecc6ef6"/>
+      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="OBJECT1_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="0795a3cd-295b-421b-aed1-decc09b05362"/>
       <column name="AB_OBJECTRELATIONID" value="47802bb5-7785-43ba-a860-6b494e8ef593"/>
+      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="0795a3cd-295b-421b-aed1-decc09b05362"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="0795a3cd-295b-421b-aed1-decc09b05362"/>
       <column name="OBJECT1_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
-      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="AB_OBJECTRELATIONID" value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9"/>
+      <column name="OBJECT2_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="OBJECT1_ROWID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
-      <column name="OBJECT2_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="e397b595-38ae-4365-908e-75ee388838eb"/>
       <column name="AB_OBJECTRELATIONID" value="5c545235-231f-4082-9e74-4ec4512eb98d"/>
+      <column name="OBJECT2_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="9d4739ba-33b0-4e87-b281-561e2cbdd277"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="e397b595-38ae-4365-908e-75ee388838eb"/>
       <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="OBJECT2_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="AB_OBJECTRELATIONID" value="63ecd05d-f2e5-4957-a496-96a87451a78f"/>
+      <column name="OBJECT2_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="OBJECT1_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT2_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
       <column name="AB_OBJECTRELATIONID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/>
+      <column name="OBJECT2_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
       <column name="OBJECT1_ROWID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="OBJECT2_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="AB_OBJECTRELATIONID" value="c8aa4abb-a274-43d6-a067-ee935c443bfb"/>
+      <column name="OBJECT2_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="OBJECT1_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="OBJECT2_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="AB_OBJECTRELATIONID" value="cfbbce3e-1c0d-4d05-9ccf-8232f7eaaf02"/>
+      <column name="OBJECT2_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
       <column name="OBJECT1_ROWID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
-      <column name="OBJECT2_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="AB_OBJECTRELATIONID" value="d4454686-8d4e-42d9-9df8-61f19c69ce93"/>
+      <column name="OBJECT2_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
       <column name="OBJECT1_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="OBJECT2_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
     </insert>
     <insert tableName="ab_objectrelation">
+      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="AB_OBJECTRELATIONID" value="e94240b7-4492-43f8-8913-cd7ff6ea2892"/>
+      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="AB_OBJECTRELATIONTYPE1" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
-      <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
       <column name="OBJECT1_ROWID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="OBJECT2_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelationtype.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelationtype.xml
index 0dc682a20f..2231334c01 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelationtype.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_objectrelationtype.xml
@@ -1,159 +1,159 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="0ddffe30-5446-4abb-b3c9-7bbab4be52fc">
+  <changeSet author="autogenerated" id="2e6f7a94-178b-42e8-9b3f-42433dfe7d07">
     <delete tableName="ab_objectrelationtype"/>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="0795a3cd-295b-421b-aed1-decc09b05362"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:USER"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="competitor"/>
       <column name="RELATION_TYPE" value="032ebe0a-7204-4eec-82a2-cb13b65850d7"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="competitor"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:USER_CHECK"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="acquainted with"/>
       <column name="RELATION_TYPE" value="84120fad-e7a2-4961-8c29-d00da41efe48"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="acquainted with"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="0a47c346-9b6f-4cdd-8c38-77800d7012f5"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:USERS"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="reports to"/>
       <column name="RELATION_TYPE" value="4df4160d-6efc-43b3-9b02-710ab3d0228c"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="reports to"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="1"/>
       <column name="ICON" value="VAADIN:OFFICE"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="subsidiary"/>
       <column name="RELATION_TYPE" value="a054875d-b9a2-499d-877b-ccec31358324"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="subsidiary"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="39e73949-c8d9-46a2-a0b5-18be95e7ba11"/>
+      <column name="OBJECT_TYPE" value="PrivatePerson"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:FAMILY"/>
-      <column name="OBJECT_TYPE" value="PrivatePerson"/>
-      <column name="RELATION_TITLE" value="grandparents of"/>
       <column name="RELATION_TYPE" value="f36c69c2-6d03-45ef-81a0-f9118ce3f4c6"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="grandparents of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:INSTITUTION"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="society"/>
       <column name="RELATION_TYPE" value="9f65f915-2767-40c4-9e7b-e818e915648f"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="society"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="3d2808bf-397b-4220-a563-36b066b5c9a9"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:INFO_CIRCLE"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="supports"/>
       <column name="RELATION_TYPE" value="5ab4d256-4220-4c28-88d6-1db01e2f4667"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="supports"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:HANDSHAKE"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="collaboration with"/>
       <column name="RELATION_TYPE" value="091d866f-67e8-4fd6-afdc-e40d0f2be224"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="collaboration with"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="9d4739ba-33b0-4e87-b281-561e2cbdd277"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:MEGAFONE"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="solicits"/>
       <column name="RELATION_TYPE" value="ddad6aa3-267b-4784-afbb-98242218fcf5"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="solicits"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="a2296f93-2371-4ab8-9f29-ef0795d1e9b2"/>
+      <column name="OBJECT_TYPE" value="PrivatePerson"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:FAMILY"/>
-      <column name="OBJECT_TYPE" value="PrivatePerson"/>
-      <column name="RELATION_TITLE" value="Grandchild of"/>
       <column name="RELATION_TYPE" value="f36c69c2-6d03-45ef-81a0-f9118ce3f4c6"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="Grandchild of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="a51e23c0-d44a-4e39-a79b-7a357fb79cc2"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:INFO_CIRCLE"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="supported by"/>
       <column name="RELATION_TYPE" value="5ab4d256-4220-4c28-88d6-1db01e2f4667"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="supported by"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="b3b85332-1c86-4cd8-a3b9-34c49c51f01a"/>
+      <column name="OBJECT_TYPE" value="PrivatePerson"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:FAMILY"/>
-      <column name="OBJECT_TYPE" value="PrivatePerson"/>
-      <column name="RELATION_TITLE" value="child of"/>
       <column name="RELATION_TYPE" value="52f3ec58-71d5-469f-85e4-37ef2eeeb3e0"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="child of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="b96a36ff-bc43-4159-a6e7-3d53cba67189"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:USERS"/>
-      <column name="OBJECT_TYPE" value="Person"/>
-      <column name="RELATION_TITLE" value="supervisor of"/>
       <column name="RELATION_TYPE" value="4df4160d-6efc-43b3-9b02-710ab3d0228c"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="supervisor of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="c74ad02c-1db9-4f47-8691-aba349dbe316"/>
+      <column name="OBJECT_TYPE" value="PrivatePerson"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:FAMILY"/>
-      <column name="OBJECT_TYPE" value="PrivatePerson"/>
-      <column name="RELATION_TITLE" value="parent of"/>
       <column name="RELATION_TYPE" value="52f3ec58-71d5-469f-85e4-37ef2eeeb3e0"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="parent of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="1"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="1"/>
       <column name="ICON" value="VAADIN:OFFICE"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="parent company"/>
       <column name="RELATION_TYPE" value="a054875d-b9a2-499d-877b-ccec31358324"/>
-      <column name="SIDE" valueNumeric="1"/>
+      <column name="RELATION_TITLE" value="parent company"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="e397b595-38ae-4365-908e-75ee388838eb"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:MEGAFONE"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="promotion target of"/>
       <column name="RELATION_TYPE" value="ddad6aa3-267b-4784-afbb-98242218fcf5"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="promotion target of"/>
     </insert>
     <insert tableName="ab_objectrelationtype">
+      <column name="SIDE" valueNumeric="2"/>
       <column name="AB_OBJECTRELATIONTYPEID" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="HIERARCHY" valueNumeric="0"/>
       <column name="ICON" value="VAADIN:INSTITUTION"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-      <column name="RELATION_TITLE" value="member"/>
       <column name="RELATION_TYPE" value="9f65f915-2767-40c4-9e7b-e818e915648f"/>
-      <column name="SIDE" valueNumeric="2"/>
+      <column name="RELATION_TITLE" value="member"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/activity.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/activity.xml
index 8262731b75..59f4e4f760 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/activity.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/activity.xml
@@ -1,808 +1,847 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="0c84b337-a2ed-47cf-aed6-86b0b430b596">
+  <changeSet author="autogenerated" id="f82bf9de-6506-4d33-8c68-b083cbfc8671">
     <delete tableName="activity"/>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T05:43:23"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:42:24"/>
-      <column name="DIRECTION" value="inx"/>
-      <column name="ENTRYDATE" valueDate="2019-01-15T05:42:00"/>
-      <column name="INFO" value="&lt;p&gt;Produktinformationen zu Produkt 1 runtergeladen.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Produktinformationen runtergeladen."/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:42:24"/>
+      <column name="ACTIVITYID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
+      <column name="ENTRYDATE" valueDate="2019-01-15T05:42:00"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T05:43:23"/>
+      <column name="INFO" value="&lt;p&gt;Produktinformationen zu Produkt 1 runtergeladen.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="inx"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T07:55:37"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:55:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-12-26T08:55:00"/>
-      <column name="INFO" value="&lt;p&gt;Anrede: Herr&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:Markus&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachname:Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail:maltinger@industrial-steel.de&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;unsere Firma hat Interesse an ihren Produkten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bitte kontaktieren sie mich f&amp;uuml;r weitere Besprechungen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Kontaktaufnahme über Kontaktformular"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:55:36"/>
+      <column name="ACTIVITYID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
+      <column name="ENTRYDATE" valueDate="2018-12-26T08:55:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T07:55:37"/>
+      <column name="INFO" value="&lt;p&gt;Anrede: Herr&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:Markus&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachname:Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail:maltinger@industrial-steel.de&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;unsere Firma hat Interesse an ihren Produkten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bitte kontaktieren sie mich f&amp;uuml;r weitere Besprechungen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
+      <column name="SUBJECT" value="Erste Planung für die Kampagne gelaufen"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-09-04T09:19:40"/>
-      <column name="DIRECTION" value="x"/>
+      <column name="ACTIVITYID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
       <column name="ENTRYDATE" valueDate="2019-08-27T09:19:00"/>
-      <column name="INFO" value="&lt;p&gt;Hallo zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;wir sind sehr froh euch mitteilen zu d&amp;uuml;rfen das wir die ersten Vorbereitungen f&amp;uuml;r die Messe geplant haben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weitere Infos werden euch zum passenden Zeitpunkt zugespielt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Das Marketing&lt;/p&gt;&#10;"/>
       <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Erste Planung für die Kampagne gelaufen"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="&lt;p&gt;Hallo zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;wir sind sehr froh euch mitteilen zu d&amp;uuml;rfen das wir die ersten Vorbereitungen f&amp;uuml;r die Messe geplant haben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weitere Infos werden euch zum passenden Zeitpunkt zugespielt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Das Marketing&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Technischer Workshop bzgl. Produktanforderungen"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:17:47"/>
       <column name="ACTIVITYID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="ENTRYDATE" valueDate="2020-03-24T08:17:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:25:44"/>
       <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:44:03"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:17:47"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-28T08:17:00"/>
       <column name="INFO" value="&lt;p&gt;Prim&amp;auml;r die Fragen gem&amp;auml;&amp;szlig; Agenda besprochen - Unterlagen befinden sich auf dem Filerverzeichnis.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="SUBJECT" value="Technischer Workshop bzgl. Produktanforderungen"/>
-      <column name="USER_EDIT" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
+    </insert>
+    <insert tableName="activity">
+      <column name="SUBJECT" value="telefonischer Austausch"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:47:03"/>
+      <column name="ACTIVITYID" value="18ed06df-30b2-4d59-a4b4-a6e646f6f05a"/>
+      <column name="ENTRYDATE" valueDate="2020-09-16T07:47:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Gespr&amp;auml;ch zum Wachstumspotential 2021&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Einladung zum GfK-Abend"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/>
+      <column name="ENTRYDATE" valueDate="2019-08-09T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:30:20"/>
       <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-08-11T02:02:52"/>
       <column name="INFO" value="Einladung von Kunden, Interessenten und Zulieferern zu einer internen Veranstaltung in unserem Haus"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Einladung zum GfK-Abend"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
-      <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:11:16"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:21:44"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-02-19T05:21:00"/>
-      <column name="INFO" value="&lt;p&gt;Die ersten Informationen zur derzeitigen Situation beim Interessenten gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Austausch zur aktuellen Situation "/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:21:44"/>
+      <column name="ACTIVITYID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
+      <column name="ENTRYDATE" valueDate="2020-02-18T05:21:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:16"/>
+      <column name="CATEGORY" value="ONLINE-MEETING"/>
+      <column name="INFO" value="&lt;p&gt;Die ersten Informationen zur derzeitigen Situation beim Interessenten gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Hier liegt die Kampagne für die Hannovermesse"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T05:57:51"/>
       <column name="ACTIVITYID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
+      <column name="ENTRYDATE" valueDate="2020-07-08T05:57:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:22:31"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T05:57:51"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-09-04T05:57:51"/>
       <column name="INFO" value="&lt;p&gt;Bitte pr&amp;uuml;fen ob alle Angaben passen und wir das so best&amp;auml;tigen k&amp;ouml;nnen.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Hier liegt die Kampagne für die Hannovermesse"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:32:04"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:27:23"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-22T09:27:00"/>
-      <column name="INFO" value="&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Informationen an Frau Lindner weitergegeben."/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:27:23"/>
+      <column name="ACTIVITYID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="ENTRYDATE" valueDate="2020-03-19T09:27:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:04"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:10:08"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:57:15"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-02-04T07:57:00"/>
-      <column name="INFO" value="&lt;p&gt;Der Interessent hat uns auf der Messe besucht. Hatten ein informatives Gespr&amp;auml;ch, konnten Fragestellungen kl&amp;auml;ren.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Besuch auf der Messe"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:57:15"/>
+      <column name="ACTIVITYID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="ENTRYDATE" valueDate="2020-02-03T07:57:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:47"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Der Interessent hat uns auf der Messe besucht. Hatten ein informatives Gespr&amp;auml;ch, konnten Fragestellungen kl&amp;auml;ren.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:54:52"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:57:17"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-29T08:57:00"/>
-      <column name="INFO" value="&lt;p&gt;15.02.2019: Definition einer Long list auf Basis einer umfassenden Marktstudie &amp;uuml;ber gew&amp;uuml;nschte Produkte&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;22.02.2019:&amp;nbsp;&lt;br /&gt;&#10;Information an potentielle Anbieter / Hersteller&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Produkt-Terminplanung"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:57:17"/>
+      <column name="ACTIVITYID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
+      <column name="ENTRYDATE" valueDate="2020-03-27T08:57:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:25:21"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;15.02.2019: Definition einer Long list auf Basis einer umfassenden Marktstudie &amp;uuml;ber gew&amp;uuml;nschte Produkte&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;22.02.2019:&amp;nbsp;&lt;br /&gt;&#10;Information an potentielle Anbieter / Hersteller&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="36ec539c-a451-4166-b64d-fb98f1b73481"/>
-      <column name="DATE_EDIT" valueDate="2019-05-17T10:49:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:48:15"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-05-10T10:48:00"/>
-      <column name="INFO" value="&lt;p&gt;Anrede:&lt;/p&gt;&#10;&#10;&lt;p&gt;Name:&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:&lt;/p&gt;&#10;&#10;&lt;p&gt;Position:&lt;/p&gt;&#10;&#10;&lt;p&gt;Kontaktaufnahme gew&amp;uuml;nscht: ja&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Kontaktformular Webseite"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:48:15"/>
+      <column name="ACTIVITYID" value="36ec539c-a451-4166-b64d-fb98f1b73481"/>
+      <column name="ENTRYDATE" valueDate="2019-05-10T10:48:00"/>
+      <column name="DATE_EDIT" valueDate="2019-05-17T10:49:17"/>
+      <column name="INFO" value="&lt;p&gt;Anrede:&lt;/p&gt;&#10;&#10;&lt;p&gt;Name:&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:&lt;/p&gt;&#10;&#10;&lt;p&gt;Position:&lt;/p&gt;&#10;&#10;&lt;p&gt;Kontaktaufnahme gew&amp;uuml;nscht: ja&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
+      <column name="SUBJECT" value="Kickoff Meeting am 1. Oktober"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-09-04T05:59:27"/>
-      <column name="DIRECTION" value="x"/>
+      <column name="ACTIVITYID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
       <column name="ENTRYDATE" valueDate="2019-09-04T05:59:27"/>
-      <column name="INFO" value="&lt;p&gt;Alle Teilnehmer werden zum Termin anwesend sein, werden den Ablauf und das Standpersonal besprechen.&lt;/p&gt;&#10;"/>
       <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Kickoff Meeting am 1. Oktober"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="&lt;p&gt;Alle Teilnehmer werden zum Termin anwesend sein, werden den Ablauf und das Standpersonal besprechen.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:44:51"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T02:38:27"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-04-17T02:38:00"/>
-      <column name="INFO" value="&lt;p&gt;Hr. von Alpenhorn hatte die erfreuliche Nachricht, dass sie sich f&amp;uuml;r unser Produkt entschieden haben;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Vertrag kann nun fertig gemacht und zugesandt werden&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Rückmeldung zum Angebot "/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T02:38:27"/>
+      <column name="ACTIVITYID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
+      <column name="ENTRYDATE" valueDate="2020-04-08T02:38:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:24:35"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Hr. von Alpenhorn hatte die erfreuliche Nachricht, dass sie sich f&amp;uuml;r unser Produkt entschieden haben;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Vertrag kann nun fertig gemacht und zugesandt werden&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:32:32"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:49:57"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-26T07:49:00"/>
-      <column name="INFO" value="&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Unser Angebot"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:49:57"/>
+      <column name="ACTIVITYID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="ENTRYDATE" valueDate="2020-03-24T07:49:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:25:55"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Einladung Messe"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/>
+      <column name="ENTRYDATE" valueDate="2019-08-02T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:30:51"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-08-04T02:02:52"/>
       <column name="INFO" value="&lt;p&gt;Messeeinladung und besondere Eintrittkarten zukommen lassen. Hat sich sehr gefreut&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Einladung Messe"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
+      <column name="SUBJECT" value="War auf unserer Webseite - Website Tracking"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:40:13"/>
-      <column name="DIRECTION" value="i"/>
+      <column name="ACTIVITYID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
       <column name="ENTRYDATE" valueDate="2019-01-09T05:40:00"/>
       <column name="INFO" value="&lt;p&gt;Frau Decker hat unsere Webseite nach Referenzen und Produkten durchsucht.&lt;/p&gt;&#10;"/>
-      <column name="SUBJECT" value="War auf unserer Webseite - Website Tracking"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:43:27"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:08:29"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-02-18T08:08:00"/>
-      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;gerne lassen ich Ihnen ein paar unserer Referenzen aus Ihrer Branche zukommen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sollten Sie Interesse an einem Referenzgespr&amp;auml;ch haben, k&amp;ouml;nnen Sie mir gerne Bescheid geben. Ich werde dann die Abstimmung mit einem passenden Kunden f&amp;uuml;r Sie in die Wege leiten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Herzliche Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Referenzen - Zu unserem Produkt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:08:29"/>
+      <column name="ACTIVITYID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="ENTRYDATE" valueDate="2020-02-17T08:08:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:28"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;gerne lassen ich Ihnen ein paar unserer Referenzen aus Ihrer Branche zukommen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sollten Sie Interesse an einem Referenzgespr&amp;auml;ch haben, k&amp;ouml;nnen Sie mir gerne Bescheid geben. Ich werde dann die Abstimmung mit einem passenden Kunden f&amp;uuml;r Sie in die Wege leiten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Herzliche Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:51:51"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:53:02"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-05T05:53:00"/>
-      <column name="INFO" value="&lt;p&gt;Termin vor Ort bei Transatlantik Logistics.&lt;/p&gt;&#10;&#10;&lt;p&gt;War ein guter Termin, scheinen von den Produkten sehr angetan zu sein.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weiteres Vorgehen wird n&amp;auml;chste Woche abgestimmt.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Termin vor Ort"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:53:02"/>
+      <column name="ACTIVITYID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="ENTRYDATE" valueDate="2020-03-03T05:53:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:27:40"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Termin vor Ort bei Transatlantik Logistics.&lt;/p&gt;&#10;&#10;&lt;p&gt;War ein guter Termin, scheinen von den Produkten sehr angetan zu sein.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weiteres Vorgehen wird n&amp;auml;chste Woche abgestimmt.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Prüfung durchgeführt"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/>
+      <column name="ENTRYDATE" valueDate="2019-08-06T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:30:42"/>
       <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-08-06T02:02:52"/>
       <column name="INFO" value="Abgleich der Bestandsdaten wurde gemacht."/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Prüfung durchgeführt"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Webinar: Transparentes Kampagnen- und Veranstaltungsmanagement"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
+      <column name="ENTRYDATE" valueDate="2019-08-02T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:31:11"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="INFO" valueClobFile="activity/INFO/clobFiles/efe9f361ec5970ad019a0dd191e88d1e.txt"/>
       <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-08-03T02:02:52"/>
-      <column name="INFO" valueClobFile="activity/INFO/clobFiles/83aed38de7ea30e68b0ea8c99f40342c.txt"/>
-      <column name="RESPONSIBLE" value="Admin                               "/>
-      <column name="SUBJECT" value="Webinar: Transparentes Kampagnen- und Veranstaltungsmanagement"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:53:44"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:47:30"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-03-14T08:47:00"/>
-      <column name="INFO" value="&lt;p&gt;Haben weitere Informationen zu unseren Produkten runtergeladen.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Informationen von der Webseite runtergeladen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:47:30"/>
+      <column name="ACTIVITYID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
+      <column name="ENTRYDATE" valueDate="2019-03-14T08:47:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:53:44"/>
+      <column name="INFO" value="&lt;p&gt;Haben weitere Informationen zu unseren Produkten runtergeladen.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:13:07"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:52:54"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-01T08:52:00"/>
-      <column name="INFO" value="&lt;p&gt;Automatischer Import:&lt;/p&gt;&#10;&#10;&lt;p&gt;Infobrosch&amp;uuml;re zu Produkt A runtergeladen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Infobrochüre runtergeladen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:52:54"/>
+      <column name="ACTIVITYID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
+      <column name="ENTRYDATE" valueDate="2019-03-01T08:52:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:13:07"/>
+      <column name="INFO" value="&lt;p&gt;Automatischer Import:&lt;/p&gt;&#10;&#10;&lt;p&gt;Infobrosch&amp;uuml;re zu Produkt A runtergeladen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:43:47"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:15:11"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-13T08:15:00"/>
-      <column name="INFO" value="&lt;p&gt;Die Pr&amp;auml;sentation fand in einer sehr konstruktiven und entspannten Atmosph&amp;auml;re statt.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Präsentation"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:15:11"/>
+      <column name="ACTIVITYID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="ENTRYDATE" valueDate="2020-03-11T08:15:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:49"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Die Pr&amp;auml;sentation fand in einer sehr konstruktiven und entspannten Atmosph&amp;auml;re statt.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:55:35"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:49:26"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-04-25T10:49:00"/>
-      <column name="INFO" value="&lt;p&gt;Erste Phase der Planung&amp;nbsp;erfolgreich abgeschlossen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktkonfiguration fertig gestellt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Individuelles Produkt geht in die Produktion.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Erste Phase der Produkt-Planung abgeschlossen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:49:26"/>
+      <column name="ACTIVITYID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
+      <column name="ENTRYDATE" valueDate="2019-04-25T10:49:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:55:35"/>
+      <column name="INFO" value="&lt;p&gt;Erste Phase der Planung&amp;nbsp;erfolgreich abgeschlossen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktkonfiguration fertig gestellt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Individuelles Produkt geht in die Produktion.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:43:38"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:12:04"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-01T08:12:00"/>
-      <column name="INFO" value="&lt;p&gt;Konnten Vor-Ort Termin mit den Ansprechpartnern ausmachen.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Vor Ort Termin"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:12:04"/>
+      <column name="ACTIVITYID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
+      <column name="ENTRYDATE" valueDate="2020-02-28T08:12:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:27:50"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Konnten Vor-Ort Termin mit den Ansprechpartnern ausmachen.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:32:59"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:05:47"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-04-08T05:05:00"/>
-      <column name="INFO" value="&lt;p&gt;Folgende Sonderkondtionen wurden vereinbart:&lt;/p&gt;&#10;&#10;&lt;p&gt;- 10 % Rabatt auf die Produkte&lt;/p&gt;&#10;&#10;&lt;p&gt;- Sonderzahlungs- recht von 30 Tagen netto&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Konditionen und Preise verhandelt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:05:47"/>
+      <column name="ACTIVITYID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
+      <column name="ENTRYDATE" valueDate="2020-04-02T05:05:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:25:11"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Folgende Sonderkondtionen wurden vereinbart:&lt;/p&gt;&#10;&#10;&lt;p&gt;- 10 % Rabatt auf die Produkte&lt;/p&gt;&#10;&#10;&lt;p&gt;- Sonderzahlungs- recht von 30 Tagen netto&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:56:02"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T02:30:16"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-06-11T02:30:16"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Rahmenvertrag"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T02:30:16"/>
+      <column name="ACTIVITYID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
+      <column name="ENTRYDATE" valueDate="2019-06-11T02:30:16"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:56:02"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Auswahlprozess"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:56:02"/>
       <column name="ACTIVITYID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="ENTRYDATE" valueDate="2020-01-27T07:56:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:04"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:08:49"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:56:02"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-01-28T07:56:00"/>
       <column name="INFO" value="&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;es freut uns Ihnen mitteilen zu k&amp;ouml;nnen, dass wir gerne mit Ihnen in die engere Auswahl gehen m&amp;ouml;chten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Die n&amp;auml;chsten Schritte sind weitere Gespr&amp;auml;che sowie eine Pr&amp;auml;sentation Ihrer Produkte.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Auswahlprozess"/>
-      <column name="USER_EDIT" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
+    </insert>
+    <insert tableName="activity">
+      <column name="SUBJECT" value="Besuch zum umsatz"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:21"/>
+      <column name="ACTIVITYID" value="84954c14-f576-400b-8027-f9e66d345cc5"/>
+      <column name="ENTRYDATE" valueDate="2020-09-02T07:52:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:39:34"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:01:56"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-11T05:01:00"/>
-      <column name="INFO" value="&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Produkt gemietet."/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:01:56"/>
+      <column name="ACTIVITYID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="ENTRYDATE" valueDate="2020-03-09T05:01:00"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:27:32"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:54:19"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:56:11"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-21T08:56:00"/>
-      <column name="INFO" value="&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Messebesuch"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:56:11"/>
+      <column name="ACTIVITYID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="ENTRYDATE" valueDate="2020-03-19T08:56:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:31"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
-      <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:43:11"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:46:08"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-02-04T03:46:00"/>
-      <column name="INFO" value="&lt;p&gt;Erste Pr&amp;auml;sentation mit dem Interessenten. Der Verkaufsleiter scheint von unseren Produkten sehr angetan zu sein.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wollte weitere Informationen zu unseren Produkten und ein erstes Angebot.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Erstkontakt mit dem Interessenten"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:46:08"/>
+      <column name="ACTIVITYID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="ENTRYDATE" valueDate="2020-02-03T03:46:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:56"/>
+      <column name="CATEGORY" value="ONLINE-MEETING"/>
+      <column name="INFO" value="&lt;p&gt;Erste Pr&amp;auml;sentation mit dem Interessenten. Der Verkaufsleiter scheint von unseren Produkten sehr angetan zu sein.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wollte weitere Informationen zu unseren Produkten und ein erstes Angebot.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Daten-update"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="94365b81-cddd-4f56-8379-7ba0a98840a4"/>
+      <column name="ENTRYDATE" valueDate="2019-08-02T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:31:55"/>
       <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-08-03T02:02:52"/>
       <column name="INFO" value="Hat uns Zusatzinfos geschickt - diese wurden an allen entsprechenden Stellen hinterlegt und final eingepflegt"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Daten-update"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:57:25"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:56:26"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-08-12T07:56:00"/>
-      <column name="INFO" value="&lt;p&gt;Rahmenvertrag wurde an die Legal Abteilung des Kunden versandt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Warte auf R&amp;uuml;ckmeldung.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Rahmenvertrag versandt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:56:26"/>
+      <column name="ACTIVITYID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="ENTRYDATE" valueDate="2020-06-10T07:56:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:22:58"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Rahmenvertrag wurde an die Legal Abteilung des Kunden versandt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Warte auf R&amp;uuml;ckmeldung.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Webinar-Aufzeichnung"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/>
+      <column name="ENTRYDATE" valueDate="2019-07-30T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:32:06"/>
       <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-07-31T02:02:52"/>
       <column name="INFO" value="Aufzeichnungen zum Thema &quot;Transparentes Kampagnen- und Veranstaltungsmanagement&quot; verschickt."/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Webinar-Aufzeichnung"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Präsentation: Terminvorschlag"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="9f498736-c523-4c63-8c53-28e49324b52b"/>
+      <column name="ENTRYDATE" valueDate="2019-08-09T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:30:06"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-08-12T02:02:52"/>
       <column name="INFO" value="&lt;p&gt;Terminvorschlag gesendet. Aufgabe gestellt&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Präsentation: Terminvorschlag"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-05-23T10:41:06"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:51:27"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-05-17T10:51:27"/>
-      <column name="INFO" value="&lt;p&gt;Hallo Herr Peterson,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei finden sie unser Informationsmaterial.&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Frau Sommer&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Informationsmaterial"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:51:27"/>
+      <column name="ACTIVITYID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
+      <column name="ENTRYDATE" valueDate="2020-05-15T10:51:00"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:24:05"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Hallo Herr Peterson,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei finden sie unser Informationsmaterial.&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Frau Sommer&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="a416d1f7-553a-43b6-a084-021ad1f92dd9"/>
-      <column name="DATE_EDIT" valueDate="2019-05-17T10:48:04"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:46:27"/>
-      <column name="DIRECTION" value="inx"/>
-      <column name="ENTRYDATE" valueDate="2019-05-01T10:46:00"/>
-      <column name="INFO" value="&lt;p&gt;Besuchte Seiten:&lt;/p&gt;&#10;&#10;&lt;p&gt;http://www..&amp;nbsp; &amp;nbsp; &amp;nbsp;/ Besuchsdauer&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Lead über Webseite identifiziert"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:46:27"/>
+      <column name="ACTIVITYID" value="a416d1f7-553a-43b6-a084-021ad1f92dd9"/>
+      <column name="ENTRYDATE" valueDate="2019-05-01T10:46:00"/>
+      <column name="DATE_EDIT" valueDate="2019-05-17T10:48:04"/>
+      <column name="INFO" value="&lt;p&gt;Besuchte Seiten:&lt;/p&gt;&#10;&#10;&lt;p&gt;http://www..&amp;nbsp; &amp;nbsp; &amp;nbsp;/ Besuchsdauer&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="inx"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:05:49"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:55:08"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-01-14T07:55:00"/>
-      <column name="INFO" value="&lt;p&gt;Kurzes Gespr&amp;auml;ch gef&amp;uuml;hrt mit Herr Altinger.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten seine R&amp;uuml;ckfragen zu unserem Produkt erstmal kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Telefonat"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:55:08"/>
+      <column name="ACTIVITYID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="ENTRYDATE" valueDate="2020-01-13T07:55:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:37"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Kurzes Gespr&amp;auml;ch gef&amp;uuml;hrt mit Herr Altinger.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten seine R&amp;uuml;ckfragen zu unserem Produkt erstmal kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:28:33"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:29:25"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-20T09:29:00"/>
-      <column name="INFO" value="&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Über Online-Werbung auf uns aufmerksam geworden."/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:29:25"/>
+      <column name="ACTIVITYID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="ENTRYDATE" valueDate="2020-03-18T09:29:00"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:41"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
-      <column name="CATEGORY" value="VISIT"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:11:43"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T04:59:21"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-02-25T04:59:00"/>
-      <column name="INFO" value="&lt;p&gt;Kunde hatte die erste Produktpr&amp;auml;sentation zu unseren Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&#10;&lt;p&gt;Vor allem das rafinierte Design und die Preisstruktur unseres Unternehmens waren positive Aspekte aus Kundensicht.&lt;/p&gt;&#10;&#10;&lt;p&gt;Werde die n&amp;auml;chsten Schritte anhand der Pr&amp;auml;sentation ableiten.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Produktpräsentation"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T04:59:21"/>
+      <column name="ACTIVITYID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="ENTRYDATE" valueDate="2020-02-24T04:59:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:00"/>
+      <column name="CATEGORY" value="VISIT"/>
+      <column name="INFO" value="&lt;p&gt;Kunde hatte die erste Produktpr&amp;auml;sentation zu unseren Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&#10;&lt;p&gt;Vor allem das rafinierte Design und die Preisstruktur unseres Unternehmens waren positive Aspekte aus Kundensicht.&lt;/p&gt;&#10;&#10;&lt;p&gt;Werde die n&amp;auml;chsten Schritte anhand der Pr&amp;auml;sentation ableiten.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Angebot nachfassen"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="aa110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ENTRYDATE" valueDate="2019-05-31T02:41:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:32:17"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-06-03T02:41:22"/>
       <column name="INFO" value="&lt;p&gt;Angebot nachfassen, wir liegen vor Wettbewerb&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Angebot nachfassen"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:55:47"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:50:46"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-05-23T10:50:46"/>
-      <column name="INFO" value="&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;die Produktion des Produktes startet. &amp;Uuml;ber den Verlauf und den aktuellen Stand der Produktion k&amp;ouml;nnen Sie sich in unserem Kundenportal informieren.&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="2. Phase der Produkt-Planung startet"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:50:46"/>
+      <column name="ACTIVITYID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="ENTRYDATE" valueDate="2020-05-21T10:50:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:23:14"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;die Produktion des Produktes startet. &amp;Uuml;ber den Verlauf und den aktuellen Stand der Produktion k&amp;ouml;nnen Sie sich in unserem Kundenportal informieren.&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="weiterer Vertrag"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
+      <column name="ENTRYDATE" valueDate="2019-08-02T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:31:02"/>
       <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-08-04T02:02:52"/>
       <column name="INFO" value="Vertragsgrundlagen besprochen. Wird in den nächsten Tagen definiert"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="weiterer Vertrag"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:30:22"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:06:25"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-22T09:06:00"/>
-      <column name="INFO" value="&lt;p&gt;Hr. Altinger hat ein Angebot f&amp;uuml;r die Produkte A und B angefordert.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Zu dem Angebot haben wir noch einige Fragen gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Angebot erstellen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:06:25"/>
+      <column name="ACTIVITYID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="ENTRYDATE" valueDate="2020-03-19T09:06:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:12"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Hr. Altinger hat ein Angebot f&amp;uuml;r die Produkte A und B angefordert.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Zu dem Angebot haben wir noch einige Fragen gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T11:04:50"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-11-15T11:04:50"/>
       <column name="PARENT_CONTEXT" value="SupportTicket"/>
-      <column name="PARENT_ID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Anforderungen Bilderdokumentation"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:04:50"/>
+      <column name="ACTIVITYID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
+      <column name="ENTRYDATE" valueDate="2020-09-15T10:04:00"/>
+      <column name="PARENT_ID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:19:29"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
+      <column name="SUBJECT" value="Wichtige Teilnehmer einladen"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-09-04T09:15:52"/>
-      <column name="DIRECTION" value="x"/>
+      <column name="ACTIVITYID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
       <column name="ENTRYDATE" valueDate="2019-09-04T09:15:52"/>
-      <column name="INFO" value="&lt;p&gt;Hallo Zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;bitte ladet alle eure A Kontakte ein f&amp;uuml;r das Event.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Euer Markteting;&lt;/p&gt;&#10;"/>
       <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Wichtige Teilnehmer einladen"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="&lt;p&gt;Hallo Zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;bitte ladet alle eure A Kontakte ein f&amp;uuml;r das Event.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Euer Markteting;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="x"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Standortwechsel"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/>
+      <column name="ENTRYDATE" valueDate="2019-08-08T02:02:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:30:32"/>
       <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-08-09T02:02:52"/>
       <column name="INFO" value="Ein Standortwechsel steht an und die neuen Daten wurden erfasst."/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Standortwechsel"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
-      <column name="DATE_EDIT" valueDate="2019-09-04T09:17:42"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:16:51"/>
-      <column name="DIRECTION" value="x"/>
-      <column name="ENTRYDATE" valueDate="2019-09-04T09:16:00"/>
-      <column name="INFO" value="&lt;p&gt;Erinnerung das am 18.09 die Einladungen versandt werden!&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="Einladungen gehen 18.09 raus"/>
-      <column name="USER_EDIT" value="Admin"/>
+      <column name="SUBJECT" value="fällig"/>
       <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="activity">
-      <column name="ACTIVITYID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
       <column name="DATE_NEW" valueDate="2019-11-15T01:03:22"/>
-      <column name="DIRECTION" value="o"/>
+      <column name="ACTIVITYID" value="c7c29526-3138-4264-8eb4-c6876797f8fe"/>
       <column name="ENTRYDATE" valueDate="2019-11-15T01:03:22"/>
       <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="SUBJECT" value="fällig"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:53:04"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:56:06"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-11T05:56:00"/>
-      <column name="INFO" value="&lt;p&gt;Herr Morgenstern ist der verantwortliche Vertriebsleiter bei Transatlantik Logistics.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="2. Ansprechpartner kennengelernt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:56:06"/>
+      <column name="ACTIVITYID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="ENTRYDATE" valueDate="2020-03-09T05:56:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:27:16"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Herr Morgenstern ist der verantwortliche Vertriebsleiter bei Transatlantik Logistics.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:46:36"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:45:25"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-11-15T08:45:25"/>
-      <column name="INFO" value="&lt;p&gt;Spezifikationen wurden so mit dem Kunden besprochen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Er erh&amp;auml;lt in den ersten zwei Jahren 10 % Nachlass.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Rahmenvertrag an den neuen Kunden versandt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:45:25"/>
+      <column name="ACTIVITYID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
+      <column name="ENTRYDATE" valueDate="2020-09-16T07:45:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:20:03"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Spezifikationen wurden so mit dem Kunden besprochen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Er erh&amp;auml;lt in den ersten zwei Jahren 10 % Nachlass.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:51:00"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:45:42"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-01-22T05:45:00"/>
-      <column name="INFO" value="&lt;p&gt;Erstkontakt mit dem Au&amp;szlig;endienst vereinbart. Besonderes Interesse an Produkt 1 und 3&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="SUBJECT" value="Telefonat mit Frau Decker für den Außendienst vereinbart."/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:45:42"/>
+      <column name="ACTIVITYID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="ENTRYDATE" valueDate="2020-01-21T05:45:00"/>
+      <column name="RESPONSIBLE" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:15"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Erstkontakt mit dem Au&amp;szlig;endienst vereinbart. Besonderes Interesse an Produkt 1 und 3&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:06:09"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:52:31"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-01-14T03:52:00"/>
-      <column name="INFO" value="&lt;p&gt;Hatte ersten Kontakt mit dem Projektzust&amp;auml;ndigen Tim Admin gehabt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktinformationen werden versandt.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Erster Kontakt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:52:31"/>
+      <column name="ACTIVITYID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="ENTRYDATE" valueDate="2020-01-13T03:52:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:56"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Hatte ersten Kontakt mit dem Projektzust&amp;auml;ndigen Tim Admin gehabt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktinformationen werden versandt.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-06-11T09:04:33"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:55:01"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-12T08:55:00"/>
-      <column name="INFO" value="&lt;p&gt;Weiteres Telefonat mit Herrn Altinger gef&amp;uuml;hrt.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Hr. Altinger ist sehr begeistert von den M&amp;ouml;glichkeiten des Produktes.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Telefonat mit Interessent"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="activity">
-      <column name="ACTIVITYID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:55:01"/>
+      <column name="ACTIVITYID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
+      <column name="ENTRYDATE" valueDate="2020-03-10T08:55:00"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:27:07"/>
       <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:50:41"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:44:17"/>
+      <column name="INFO" value="&lt;p&gt;Weiteres Telefonat mit Herrn Altinger gef&amp;uuml;hrt.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Hr. Altinger ist sehr begeistert von den M&amp;ouml;glichkeiten des Produktes.&lt;/p&gt;&#10;"/>
       <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-01-18T05:44:00"/>
-      <column name="INFO" value="&lt;p&gt;Neuer Kontakt hat Informationen von der Seite runtergeleaden.&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachfassen und Potential abfragen.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+    </insert>
+    <insert tableName="activity">
       <column name="SUBJECT" value="Nachgefasst - Laut Leadmanagement"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:44:17"/>
+      <column name="ACTIVITYID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="ENTRYDATE" valueDate="2020-01-17T05:44:00"/>
+      <column name="RESPONSIBLE" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:28"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Neuer Kontakt hat Informationen von der Seite runtergeleaden.&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachfassen und Potential abfragen.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:27:43"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:59:28"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-13T07:59:00"/>
-      <column name="INFO" value="&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Geheimhaltungsvereinbarung unterzeichnen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:59:28"/>
+      <column name="ACTIVITYID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="ENTRYDATE" valueDate="2020-03-11T07:59:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:59"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:44:25"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:16:32"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-03-29T08:16:00"/>
-      <column name="INFO" value="&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Stellungnahme"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:16:32"/>
+      <column name="ACTIVITYID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="ENTRYDATE" valueDate="2020-03-26T08:16:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:25:34"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Nachfassen"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="de110a33-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ENTRYDATE" valueDate="2018-04-12T02:41:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:33:00"/>
       <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2017-04-13T02:41:22"/>
       <column name="INFO" value="Informationen sind zu seiner Zufriedenheit gewesen, sendet eine Email mit einer konkreten Anfrage."/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Nachfassen"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Kauf der Maschine von KUKA, Augsburg"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="de110a35-aaab-407e-9d60-7a65f028159b"/>
+      <column name="ENTRYDATE" valueDate="2019-02-21T03:41:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:32:35"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2018-02-22T03:41:22"/>
       <column name="INFO" value="&lt;p&gt;erworben von Roboterabteilung&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Kauf der Maschine von KUKA, Augsburg"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
+      <column name="SUBJECT" value="Muster"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="ACTIVITYID" value="de110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ENTRYDATE" valueDate="2019-05-31T02:41:00"/>
+      <column name="RESPONSIBLE" value="Admin                               "/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:32:51"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2018-06-03T02:41:22"/>
       <column name="INFO" value="&lt;p&gt;Spezifikation ausgefüllt und abgeschickt&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="Admin"/>
-      <column name="SUBJECT" value="Muster"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
-      <column name="CATEGORY" value="ONLINE-MEETING"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:55:12"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:48:08"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-04-08T10:48:00"/>
-      <column name="INFO" value="&lt;p&gt;Gemeinsamer Termin mit allen Beteiligten der Produkteinf&amp;uuml;hrung:&lt;/p&gt;&#10;&#10;&lt;p&gt;- Definition Herausforderungen&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;- Definition weiterer Terminablauf zur Produkteinf&amp;uuml;hrung&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Erste Phase der Produkt-Planung gestartet"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:48:08"/>
+      <column name="ACTIVITYID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="ENTRYDATE" valueDate="2020-04-06T10:48:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:24:59"/>
+      <column name="CATEGORY" value="ONLINE-MEETING"/>
+      <column name="INFO" value="&lt;p&gt;Gemeinsamer Termin mit allen Beteiligten der Produkteinf&amp;uuml;hrung:&lt;/p&gt;&#10;&#10;&lt;p&gt;- Definition Herausforderungen&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;- Definition weiterer Terminablauf zur Produkteinf&amp;uuml;hrung&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:37:59"/>
-      <column name="DATE_NEW" valueDate="2019-11-13T11:06:30"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-11-13T11:06:30"/>
-      <column name="INFO" value="&lt;p&gt;Produktinformationen zu produkt C versandt.&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Neuer Kontaktpunkt zum Produkt C"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="activity">
-      <column name="ACTIVITYID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="DATE_NEW" valueDate="2019-11-13T11:06:30"/>
+      <column name="ACTIVITYID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="ENTRYDATE" valueDate="2020-09-11T10:06:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:20:59"/>
       <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:34:06"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:13:38"/>
+      <column name="INFO" value="&lt;p&gt;Produktinformationen zu produkt C versandt.&lt;/p&gt;&#10;"/>
       <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-05-15T05:13:38"/>
-      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;So wie besprochen mit den korrigierten Produktpreisen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+    </insert>
+    <insert tableName="activity">
       <column name="SUBJECT" value="Angebot an Interessenten versandt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:13:38"/>
+      <column name="ACTIVITYID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="ENTRYDATE" valueDate="2020-05-06T05:13:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:24:22"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;So wie besprochen mit den korrigierten Produktpreisen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
-      <column name="CATEGORY" value="PHONE"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:51:31"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:47:36"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-02-08T05:47:00"/>
-      <column name="INFO" value="&lt;p&gt;Hatte zusammen mit Frau Decker das erste Gespr&amp;auml;ch zu Produkten 1 und 3.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten alle ersten Fragen kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;N&amp;auml;chster Schritt ist ein Termin vor Ort.&amp;nbsp;&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="SUBJECT" value="Gespräch mit Frau Decken"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:47:36"/>
+      <column name="ACTIVITYID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="ENTRYDATE" valueDate="2020-02-07T05:47:00"/>
+      <column name="RESPONSIBLE" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:28:37"/>
+      <column name="CATEGORY" value="PHONE"/>
+      <column name="INFO" value="&lt;p&gt;Hatte zusammen mit Frau Decker das erste Gespr&amp;auml;ch zu Produkten 1 und 3.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten alle ersten Fragen kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;N&amp;auml;chster Schritt ist ein Termin vor Ort.&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:06:00"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T04:57:48"/>
-      <column name="DIRECTION" value="o"/>
-      <column name="ENTRYDATE" valueDate="2019-01-14T04:57:00"/>
-      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch vereinbart, erhalten Sie im Anhang die gew&amp;uuml;nschten Informationen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
-      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="SUBJECT" value="Information Produkt A"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T04:57:48"/>
+      <column name="ACTIVITYID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="ENTRYDATE" valueDate="2020-01-13T04:57:00"/>
+      <column name="RESPONSIBLE" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:29:47"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch vereinbart, erhalten Sie im Anhang die gew&amp;uuml;nschten Informationen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="o"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
-      <column name="CATEGORY" value="MAIL"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:29:35"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:56:50"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-22T08:56:00"/>
-      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Admin,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie bereits telefonisch angek&amp;uuml;ndigt, bitten wir um ein Angebot f&amp;uuml;r die Produkte A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Industrial Steel AG&amp;nbsp;&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Interessent möchte Angebot zu dem Produkt"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:56:50"/>
+      <column name="ACTIVITYID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="ENTRYDATE" valueDate="2020-03-20T08:56:00"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T06:26:21"/>
+      <column name="CATEGORY" value="MAIL"/>
+      <column name="INFO" value="&lt;p&gt;Sehr geehrter Herr Admin,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie bereits telefonisch angek&amp;uuml;ndigt, bitten wir um ein Angebot f&amp;uuml;r die Produkte A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Industrial Steel AG&amp;nbsp;&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
     <insert tableName="activity">
-      <column name="ACTIVITYID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:53:25"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:57:18"/>
-      <column name="DIRECTION" value="i"/>
-      <column name="ENTRYDATE" valueDate="2019-03-14T05:57:00"/>
-      <column name="INFO" value="&lt;p&gt;Herr Morgenstern hat differenziert von Frau Decken&amp;nbsp;nochmal Fragen zu Produkt 1 und 3.&lt;/p&gt;&#10;"/>
       <column name="SUBJECT" value="Telefonat bzgl. offener Fragen"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:57:18"/>
+      <column name="ACTIVITYID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
+      <column name="ENTRYDATE" valueDate="2019-03-14T05:57:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:53:25"/>
+      <column name="INFO" value="&lt;p&gt;Herr Morgenstern hat differenziert von Frau Decken&amp;nbsp;nochmal Fragen zu Produkt 1 und 3.&lt;/p&gt;&#10;"/>
+      <column name="DIRECTION" value="i"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/activity/INFO/clobFiles/83aed38de7ea30e68b0ea8c99f40342c.txt b/.liquibase/Data_alias/basic/_demoData/generatedData/activity/INFO/clobFiles/83aed38de7ea30e68b0ea8c99f40342c.txt
deleted file mode 100644
index ed03740997..0000000000
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/activity/INFO/clobFiles/83aed38de7ea30e68b0ea8c99f40342c.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-	<body>
-		<h1>Headertest</h1>
-		<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
-
-Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
-
-Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>
-	</body>
-</html>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
index bb0371a32f..51685d850a 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/activitylink.xml
@@ -1,1256 +1,1272 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="a0c9431e-da00-4e2f-a27e-345291b8efee">
+  <changeSet author="autogenerated" id="ab7f3a5c-7555-4017-a5fa-49c1d475ff83">
     <delete tableName="activitylink"/>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="00264d5a-5533-46d1-bd15-38108dcca3c5"/>
-      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:14:22"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="ACTIVITYLINKID" value="00264d5a-5533-46d1-bd15-38108dcca3c5"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:14:22"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="01ff4193-d5b4-41eb-b2db-ea31e5ed7df4"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="ACTIVITY_ID" value="94365b81-cddd-4f56-8379-7ba0a98840a4"/>
+      <column name="ACTIVITYLINKID" value="01ff4193-d5b4-41eb-b2db-ea31e5ed7df4"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+    </insert>
+    <insert tableName="activitylink">
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="84954c14-f576-400b-8027-f9e66d345cc5"/>
+      <column name="ACTIVITYLINKID" value="02c0bb4d-8e91-4f7c-abf6-d99696d11e82"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="04eabfbc-b143-4eba-ab09-2bb6341bb194"/>
-      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:37:04"/>
-      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="ACTIVITYLINKID" value="04eabfbc-b143-4eba-ab09-2bb6341bb194"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:37:04"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="05ccef04-86cd-4b29-96b7-e106c015a82f"/>
-      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:57:11"/>
-      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="ACTIVITYLINKID" value="05ccef04-86cd-4b29-96b7-e106c015a82f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:57:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="0aaad19f-daa1-44d3-b7df-cba2a88b2745"/>
-      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:56:54"/>
-      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="ACTIVITYLINKID" value="0aaad19f-daa1-44d3-b7df-cba2a88b2745"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:56:54"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="0ac144ee-7d34-4ecc-a28d-2a000beb4a97"/>
-      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:16:17"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="ACTIVITYLINKID" value="0ac144ee-7d34-4ecc-a28d-2a000beb4a97"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:16:17"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="0b760b2d-f773-4433-b256-787fb42dd519"/>
-      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:58:03"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="ACTIVITYLINKID" value="0b760b2d-f773-4433-b256-787fb42dd519"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:58:03"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="0ccf9e70-5bb3-4fdf-9fde-62e839494be4"/>
-      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:52:55"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="ACTIVITYLINKID" value="0ccf9e70-5bb3-4fdf-9fde-62e839494be4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:52:55"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="0d77b784-2f73-44e3-bded-e68ff077b80e"/>
-      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:57:37"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
+      <column name="ACTIVITYLINKID" value="0d77b784-2f73-44e3-bded-e68ff077b80e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:57:37"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="10aa8b38-509c-4385-bfe0-775ab92571a8"/>
-      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:45:07"/>
-      <column name="OBJECT_ROWID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="ACTIVITYLINKID" value="10aa8b38-509c-4385-bfe0-775ab92571a8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:45:07"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="10b9499b-2f14-4251-8001-ac9e838c59a8"/>
-      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:55:56"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="ACTIVITYLINKID" value="10b9499b-2f14-4251-8001-ac9e838c59a8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:55:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="113968f6-088d-4669-99e3-8afdae03725b"/>
-      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:12:00"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
+      <column name="ACTIVITYLINKID" value="113968f6-088d-4669-99e3-8afdae03725b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:12:00"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="1151600f-f65c-4881-8a86-960794ce5077"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:30:43"/>
+      <column name="ACTIVITYLINKID" value="1151600f-f65c-4881-8a86-960794ce5077"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="OBJECT_TYPE" value="Person"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:30:43"/>
+    </insert>
+    <insert tableName="activitylink">
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="18ed06df-30b2-4d59-a4b4-a6e646f6f05a"/>
+      <column name="ACTIVITYLINKID" value="17ca6ad6-e2d4-47b0-a70f-b824e35298a2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="18cd806d-67fc-4d6b-87d4-dfec5669859f"/>
-      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T07:55:40"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="ACTIVITYLINKID" value="18cd806d-67fc-4d6b-87d4-dfec5669859f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T07:55:40"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="1e3fb9e1-e3fd-4cff-8a03-f808072a9694"/>
-      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:04:16"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="ACTIVITYLINKID" value="1e3fb9e1-e3fd-4cff-8a03-f808072a9694"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:04:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="20432bd9-a207-4864-bbba-4d24a71287b8"/>
-      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="ACTIVITYLINKID" value="20432bd9-a207-4864-bbba-4d24a71287b8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="20a50d5d-fe87-4ed2-8f94-b2571b6b34e7"/>
-      <column name="ACTIVITY_ID" value="9f498736-c523-4c63-8c53-28e49324b52b"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="9f498736-c523-4c63-8c53-28e49324b52b"/>
+      <column name="ACTIVITYLINKID" value="20a50d5d-fe87-4ed2-8f94-b2571b6b34e7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="25a8fe8a-f75e-4696-970b-660b11540967"/>
-      <column name="ACTIVITY_ID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:23:40"/>
-      <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
+      <column name="ACTIVITYLINKID" value="25a8fe8a-f75e-4696-970b-660b11540967"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:23:40"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="26b0f97e-30fc-4808-85a1-5d95cd5f6b34"/>
-      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:56:37"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
+      <column name="ACTIVITYLINKID" value="26b0f97e-30fc-4808-85a1-5d95cd5f6b34"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:56:37"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="26f94d20-7f3a-4b3e-9655-fcf3e971ce1d"/>
-      <column name="ACTIVITY_ID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
+      <column name="ACTIVITYLINKID" value="26f94d20-7f3a-4b3e-9655-fcf3e971ce1d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="2b119bee-7d89-42fd-87ac-32544355b3b4"/>
-      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:17:16"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="ACTIVITYLINKID" value="2b119bee-7d89-42fd-87ac-32544355b3b4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:17:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="2de91976-7c5e-4676-87e6-1869381235b0"/>
-      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:51:56"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="ACTIVITYLINKID" value="2de91976-7c5e-4676-87e6-1869381235b0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:51:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="2e4494d3-0160-4e9a-a78a-54884dd465f7"/>
-      <column name="ACTIVITY_ID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T02:41:00"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="502167d7-8946-41bb-9353-8bafde8c7b09"/>
+      <column name="ACTIVITYLINKID" value="2e4494d3-0160-4e9a-a78a-54884dd465f7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T02:41:00"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="2f81f33a-1af7-4ecb-86f9-50d98555c909"/>
-      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:14:26"/>
-      <column name="OBJECT_ROWID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="ACTIVITYLINKID" value="2f81f33a-1af7-4ecb-86f9-50d98555c909"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:14:26"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="32644960-e2ff-435b-bd73-7d527a816389"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="ACTIVITY_ID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
       <column name="DATE_EDIT" valueDate="2019-05-17T08:59:23"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:58:30"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITYLINKID" value="32644960-e2ff-435b-bd73-7d527a816389"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:58:30"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="3385ac40-6f0e-45eb-bb71-ca3027325133"/>
-      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:56:49"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="ACTIVITYLINKID" value="3385ac40-6f0e-45eb-bb71-ca3027325133"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:56:49"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="34b909b3-0d16-4e0a-ae58-0397c68abf20"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
+      <column name="ACTIVITYLINKID" value="34b909b3-0d16-4e0a-ae58-0397c68abf20"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="OBJECT_TYPE" value="Person"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
+    </insert>
+    <insert tableName="activitylink">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="18ed06df-30b2-4d59-a4b4-a6e646f6f05a"/>
+      <column name="ACTIVITYLINKID" value="388760d2-b575-492f-b249-ab0d1b4cc5b4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="3c33950e-ee13-4eb4-a03c-2d8084da4519"/>
-      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:49:12"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="ACTIVITYLINKID" value="3c33950e-ee13-4eb4-a03c-2d8084da4519"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:49:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="3d6a37b4-33bb-4641-a62a-daed1216f43a"/>
-      <column name="ACTIVITY_ID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
-      <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="0eec5c89-272c-4675-b8a3-3a17e5cc2907"/>
+      <column name="ACTIVITYLINKID" value="3d6a37b4-33bb-4641-a62a-daed1216f43a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="3f48b2c2-26f2-475d-810d-b8e991172af1"/>
-      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:00:09"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="ACTIVITYLINKID" value="3f48b2c2-26f2-475d-810d-b8e991172af1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:00:09"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="3f532259-0500-4455-b56b-8da80e81294b"/>
-      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:00:17"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="ACTIVITYLINKID" value="3f532259-0500-4455-b56b-8da80e81294b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:00:17"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4247ff5e-db95-4114-a1e6-21bbea86098e"/>
-      <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:14:49"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
+      <column name="ACTIVITYLINKID" value="4247ff5e-db95-4114-a1e6-21bbea86098e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:14:49"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="44ae4bcc-ccec-493c-a0db-32b136c450bc"/>
-      <column name="ACTIVITY_ID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:07:31"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
+      <column name="ACTIVITYLINKID" value="44ae4bcc-ccec-493c-a0db-32b136c450bc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:07:31"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="45e9e831-b60c-4d26-88ed-e975c9b9b412"/>
-      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:45:43"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="ACTIVITYLINKID" value="45e9e831-b60c-4d26-88ed-e975c9b9b412"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:45:43"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="46d9d317-1b7d-4046-8278-9a4957cc1dfe"/>
-      <column name="ACTIVITY_ID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="1c711078-8324-4fcf-93ec-2c8aa29c0cc6"/>
+      <column name="ACTIVITYLINKID" value="46d9d317-1b7d-4046-8278-9a4957cc1dfe"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="48c168f0-fad5-43e0-ad13-63717350459b"/>
-      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:11:16"/>
-      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="ACTIVITYLINKID" value="48c168f0-fad5-43e0-ad13-63717350459b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:11:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="49792d42-40ca-486a-b838-b739e79f90ad"/>
-      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:05:16"/>
-      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="ACTIVITYLINKID" value="49792d42-40ca-486a-b838-b739e79f90ad"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:05:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="49a99e27-41ed-47fc-9bc3-bcf1bdf133dc"/>
-      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:07:02"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="ACTIVITYLINKID" value="49a99e27-41ed-47fc-9bc3-bcf1bdf133dc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:07:02"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4c526e91-a6b1-4d53-8ecc-a79418c81941"/>
-      <column name="ACTIVITY_ID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:03:18"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="ACTIVITYLINKID" value="4c526e91-a6b1-4d53-8ecc-a79418c81941"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:03:18"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4c80eb6c-9a22-4f20-8117-58b657c9c02f"/>
-      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:19:00"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="ACTIVITYLINKID" value="4c80eb6c-9a22-4f20-8117-58b657c9c02f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:19:00"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4c9fc29d-261b-4165-9109-94bfabd71544"/>
-      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:05:11"/>
-      <column name="OBJECT_ROWID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="ACTIVITYLINKID" value="4c9fc29d-261b-4165-9109-94bfabd71544"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:05:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4d12c3fe-358a-440b-9008-33c58b235502"/>
-      <column name="ACTIVITY_ID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
-      <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="22924044-c41d-4130-b9c2-de51e3c9e928"/>
+      <column name="ACTIVITYLINKID" value="4d12c3fe-358a-440b-9008-33c58b235502"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="4f1c387a-7bb0-4c0c-a6be-e8708a172d40"/>
-      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T11:18:03"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="ACTIVITYLINKID" value="4f1c387a-7bb0-4c0c-a6be-e8708a172d40"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T11:18:03"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="504c4ed6-74a5-4f50-9721-24ce8532b218"/>
-      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:19:17"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="ACTIVITYLINKID" value="504c4ed6-74a5-4f50-9721-24ce8532b218"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:19:17"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="51f74731-d8fe-4ffe-b305-5c4b7e526af0"/>
-      <column name="ACTIVITY_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T02:30:33"/>
-      <column name="OBJECT_ROWID" value="5fcfa9a9-2f3d-43f0-8be0-21241a5f2ec3"/>
       <column name="OBJECT_TYPE" value="Contract"/>
+      <column name="ACTIVITY_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
+      <column name="ACTIVITYLINKID" value="51f74731-d8fe-4ffe-b305-5c4b7e526af0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="5fcfa9a9-2f3d-43f0-8be0-21241a5f2ec3"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T02:30:33"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="5227d415-240d-4465-89f6-3209ac5a9142"/>
-      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:08:12"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="ACTIVITYLINKID" value="5227d415-240d-4465-89f6-3209ac5a9142"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:08:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="557a8ef1-209f-4d0b-9ca9-b779ccf6ce8c"/>
-      <column name="ACTIVITY_ID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
-      <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="38a20ed1-f75e-439d-957a-53cbb815a9fe"/>
+      <column name="ACTIVITYLINKID" value="557a8ef1-209f-4d0b-9ca9-b779ccf6ce8c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="55dbf18a-fefa-4d79-827a-2685abf5ecc5"/>
-      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:56:49"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="84136771-b2ea-4ad6-a6f7-a08ed228581e"/>
+      <column name="ACTIVITYLINKID" value="55dbf18a-fefa-4d79-827a-2685abf5ecc5"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:56:49"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="565f3c19-3a81-4af6-b2ae-5b4fdccb87eb"/>
-      <column name="ACTIVITY_ID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:30:34"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="ACTIVITYLINKID" value="565f3c19-3a81-4af6-b2ae-5b4fdccb87eb"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:30:34"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="56a7cd53-73dd-4de3-b06b-a95892e65c07"/>
-      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:46:52"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="ACTIVITYLINKID" value="56a7cd53-73dd-4de3-b06b-a95892e65c07"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:46:52"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="586ced54-a9f0-40a5-a819-eac94e096f3b"/>
-      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:06:07"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
+      <column name="ACTIVITYLINKID" value="586ced54-a9f0-40a5-a819-eac94e096f3b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:06:07"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="5a4672ac-99ff-4a2e-a4ca-aad217bef144"/>
-      <column name="ACTIVITY_ID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:22:44"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
+      <column name="ACTIVITYLINKID" value="5a4672ac-99ff-4a2e-a4ca-aad217bef144"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:22:44"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="5a4d249a-e3e4-48e5-80a5-2fd1567a82b8"/>
-      <column name="ACTIVITY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
+      <column name="ACTIVITYLINKID" value="5a4d249a-e3e4-48e5-80a5-2fd1567a82b8"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="5ad45b3e-72a0-419e-a183-17aaead38158"/>
-      <column name="ACTIVITY_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="b378876d-dba5-4e41-865f-9ac056bffa60"/>
+      <column name="ACTIVITYLINKID" value="5ad45b3e-72a0-419e-a183-17aaead38158"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="5cea1d66-072b-4c22-831f-1266f1e3690b"/>
-      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:16:44"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="ACTIVITYLINKID" value="5cea1d66-072b-4c22-831f-1266f1e3690b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:16:44"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="60c58962-9b76-4d22-855d-b0cf9ef388dc"/>
-      <column name="ACTIVITY_ID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="b8067a42-d059-4d86-88b0-485a194faa36"/>
+      <column name="ACTIVITYLINKID" value="60c58962-9b76-4d22-855d-b0cf9ef388dc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="62db9cd0-b240-4009-822e-a40cb81b671f"/>
-      <column name="ACTIVITY_ID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
-      <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
-      <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6384b045-a331-4623-8dcb-adf07c9d78c2"/>
-      <column name="ACTIVITY_ID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:28:27"/>
-      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="ACTIVITYLINKID" value="6384b045-a331-4623-8dcb-adf07c9d78c2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:28:27"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6485e531-5162-4367-bc23-a211920a38a7"/>
-      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:09:10"/>
-      <column name="OBJECT_ROWID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="ACTIVITYLINKID" value="6485e531-5162-4367-bc23-a211920a38a7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:09:10"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="64a8a937-2c3f-4cc7-9615-5f1ba58cc04b"/>
-      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T11:04:09"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="ACTIVITYLINKID" value="64a8a937-2c3f-4cc7-9615-5f1ba58cc04b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T11:04:09"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6980ec3a-c04e-4b7d-8e60-1acc6b9915d1"/>
-      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
-      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="ACTIVITYLINKID" value="6980ec3a-c04e-4b7d-8e60-1acc6b9915d1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6c212e64-a9db-4395-a118-5279dbc6761d"/>
-      <column name="ACTIVITY_ID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="beda92e0-bbd6-423a-8b49-78da30064e84"/>
+      <column name="ACTIVITYLINKID" value="6c212e64-a9db-4395-a118-5279dbc6761d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6cec10a8-78f0-4074-95c8-f7b69520b2c9"/>
-      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:54:10"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
+      <column name="ACTIVITYLINKID" value="6cec10a8-78f0-4074-95c8-f7b69520b2c9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:54:10"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6e0b4cc4-6784-4952-8bf9-c3d644c6a38c"/>
-      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:03:11"/>
-      <column name="OBJECT_ROWID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="ACTIVITYLINKID" value="6e0b4cc4-6784-4952-8bf9-c3d644c6a38c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:03:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6f5a0639-b26f-476c-a89f-b4747a405b68"/>
-      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:54:23"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="ACTIVITYLINKID" value="6f5a0639-b26f-476c-a89f-b4747a405b68"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:54:23"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="6ff14060-7fca-4c8f-9ab8-1c04c15aac61"/>
-      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T11:37:40"/>
-      <column name="OBJECT_ROWID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="ACTIVITYLINKID" value="6ff14060-7fca-4c8f-9ab8-1c04c15aac61"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T11:37:40"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="75b42e7c-4748-41ca-9a23-3436b55cadf6"/>
-      <column name="ACTIVITY_ID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:00:40"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="325d38fe-e0e8-44b7-b67c-279fcba6a7bd"/>
+      <column name="ACTIVITYLINKID" value="75b42e7c-4748-41ca-9a23-3436b55cadf6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:00:40"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="769721cc-a526-4e61-989f-71296085e7df"/>
-      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:14:26"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="ACTIVITYLINKID" value="769721cc-a526-4e61-989f-71296085e7df"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:14:26"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="777ed544-bcb2-43b2-914f-31bfa684e5c3"/>
-      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:11:53"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="ACTIVITYLINKID" value="777ed544-bcb2-43b2-914f-31bfa684e5c3"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:11:53"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="782102cd-3a58-449e-b604-97d89ccae5a5"/>
-      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:13:11"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="ACTIVITYLINKID" value="782102cd-3a58-449e-b604-97d89ccae5a5"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:13:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="7a4b1e70-1773-4529-8506-3243c9349ebc"/>
-      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:54:52"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
+      <column name="ACTIVITYLINKID" value="7a4b1e70-1773-4529-8506-3243c9349ebc"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:54:52"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="7f9cbd45-7ff0-4d7d-9412-58db6245f400"/>
-      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:48:02"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="91f7f3c5-8f36-44a7-ba0b-503a05c81d3b"/>
+      <column name="ACTIVITYLINKID" value="7f9cbd45-7ff0-4d7d-9412-58db6245f400"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:48:02"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="80d3de8f-fd86-401b-aeae-63b389b9310c"/>
-      <column name="ACTIVITY_ID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="6397161c-afed-40cf-a1bd-12e657054ce4"/>
+      <column name="ACTIVITYLINKID" value="80d3de8f-fd86-401b-aeae-63b389b9310c"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="83337967-5d58-4b17-88c2-2aeefa130c21"/>
-      <column name="ACTIVITY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="6be18a7e-e7fa-11e8-9f32-f2801f1b9fd1"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="661a7b87-68ae-4d52-bc22-6bf96184e6fe"/>
+      <column name="ACTIVITYLINKID" value="83337967-5d58-4b17-88c2-2aeefa130c21"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6be18a7e-e7fa-11e8-9f32-f2801f1b9fd1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="844fe831-bc5a-4810-9245-8f5e6b41c790"/>
-      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:57:11"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="ACTIVITYLINKID" value="844fe831-bc5a-4810-9245-8f5e6b41c790"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:57:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="85301f7f-7f22-41a1-afc9-8114b9385a25"/>
-      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:11:53"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="ACTIVITYLINKID" value="85301f7f-7f22-41a1-afc9-8114b9385a25"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:11:53"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="869c8987-7239-4f61-a0dc-b2f9e83ab2db"/>
-      <column name="ACTIVITY_ID" value="a416d1f7-553a-43b6-a084-021ad1f92dd9"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:47:38"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="a416d1f7-553a-43b6-a084-021ad1f92dd9"/>
+      <column name="ACTIVITYLINKID" value="869c8987-7239-4f61-a0dc-b2f9e83ab2db"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:47:38"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="896faed6-bf20-439a-8fd4-9f497bd5fd63"/>
-      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="ACTIVITYLINKID" value="896faed6-bf20-439a-8fd4-9f497bd5fd63"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:05:39"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="8b9e3e53-f74f-4da1-9184-ed449608195f"/>
-      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:17:29"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="ACTIVITYLINKID" value="8b9e3e53-f74f-4da1-9184-ed449608195f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:17:29"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="8d136835-b822-49a2-a516-87d4af34e8e1"/>
-      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:58:03"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="ACTIVITYLINKID" value="8d136835-b822-49a2-a516-87d4af34e8e1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:58:03"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="8d2ff9ea-5416-47ac-839f-3f7c7b517129"/>
-      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:42:09"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
+      <column name="ACTIVITYLINKID" value="8d2ff9ea-5416-47ac-839f-3f7c7b517129"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:42:09"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="8d384436-9989-4571-a193-cc3061249f97"/>
-      <column name="ACTIVITY_ID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="56c78f3d-e126-4e36-8031-d5eef9877243"/>
+      <column name="ACTIVITYLINKID" value="8d384436-9989-4571-a193-cc3061249f97"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="8d91fe31-c2de-433a-b8ab-691a8970f7e6"/>
-      <column name="ACTIVITY_ID" value="c42c23ef-3921-4a10-bb9a-040178f28bd2"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:24:17"/>
-      <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
-      <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="918ec650-9e5a-430b-b6a7-d0f5e9780935"/>
-      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:19:41"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="ACTIVITYLINKID" value="918ec650-9e5a-430b-b6a7-d0f5e9780935"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:19:41"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="93c76b23-fc2c-4544-9e18-2422b2721860"/>
-      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:16:16"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="ACTIVITYLINKID" value="93c76b23-fc2c-4544-9e18-2422b2721860"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:16:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="943a31a0-5bd4-47d7-ba85-0388ce270bb1"/>
-      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
-      <column name="OBJECT_ROWID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
+      <column name="ACTIVITYLINKID" value="943a31a0-5bd4-47d7-ba85-0388ce270bb1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="94ed9437-9050-4358-975b-c07988c36117"/>
-      <column name="ACTIVITY_ID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:50:27"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
+      <column name="ACTIVITYLINKID" value="94ed9437-9050-4358-975b-c07988c36117"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:50:27"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="9715d82b-5239-46c3-a651-fdc7ca4c1d0e"/>
-      <column name="ACTIVITY_ID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:51:50"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="a01f1cc6-e588-451d-b22a-6dfe314fda51"/>
+      <column name="ACTIVITYLINKID" value="9715d82b-5239-46c3-a651-fdc7ca4c1d0e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:51:50"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="98b3e278-c3c8-4423-aafe-2b66f66b5426"/>
-      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:17:16"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="ACTIVITYLINKID" value="98b3e278-c3c8-4423-aafe-2b66f66b5426"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:17:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="9a8abf3a-5659-42ac-85d0-f6709f59be3f"/>
-      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:16:44"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="8c88dd83-20cb-4601-b1e0-098f1aef8963"/>
+      <column name="ACTIVITYLINKID" value="9a8abf3a-5659-42ac-85d0-f6709f59be3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:16:44"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="9c293971-0553-4068-902d-3ba36befd710"/>
+      <column name="OBJECT_TYPE" value="Person"/>
       <column name="ACTIVITY_ID" value="7c89c987-2751-4d87-8d42-1ebbd7bdba7f"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
+      <column name="ACTIVITYLINKID" value="9c293971-0553-4068-902d-3ba36befd710"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="OBJECT_ROWID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="OBJECT_TYPE" value="Person"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:08:05"/>
+    </insert>
+    <insert tableName="activitylink">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="84954c14-f576-400b-8027-f9e66d345cc5"/>
+      <column name="ACTIVITYLINKID" value="9d6feb2f-5a69-4bcd-887c-0a2b36c7dd3e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="9f20ee40-22b8-440a-93e3-749bc6d6e273"/>
-      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:54:23"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="ACTIVITYLINKID" value="9f20ee40-22b8-440a-93e3-749bc6d6e273"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:54:23"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="9f2616fb-7d78-44f6-9f5e-94ef5268dad4"/>
-      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:57:56"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="ACTIVITYLINKID" value="9f2616fb-7d78-44f6-9f5e-94ef5268dad4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:57:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="a0ace23b-6de7-4d40-99d7-236f79e3bd30"/>
-      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:15:50"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
+      <column name="ACTIVITYLINKID" value="a0ace23b-6de7-4d40-99d7-236f79e3bd30"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:15:50"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="a331a1da-39f2-48ae-93a5-bad704e5ae48"/>
-      <column name="ACTIVITY_ID" value="aa110a35-bcab-407e-9d60-7a65f028159b"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="aa110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ACTIVITYLINKID" value="a331a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="a5b68737-689c-42e8-a4e3-aee7d4a40fb9"/>
-      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:52:12"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="ACTIVITYLINKID" value="a5b68737-689c-42e8-a4e3-aee7d4a40fb9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:52:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="a631ea8d-c09a-4bff-83ab-4573df6dbe4f"/>
-      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:52:12"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="ACTIVITYLINKID" value="a631ea8d-c09a-4bff-83ab-4573df6dbe4f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:52:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="a7c8ec07-0d09-4d16-beb6-c5e5a44e20a2"/>
-      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:55:56"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="ACTIVITYLINKID" value="a7c8ec07-0d09-4d16-beb6-c5e5a44e20a2"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:55:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="aa944406-61f4-4044-9f69-51a42b270113"/>
-      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:46:52"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="d6038dc6-a28f-42ad-b17b-094adc98fd8a"/>
+      <column name="ACTIVITYLINKID" value="aa944406-61f4-4044-9f69-51a42b270113"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:46:52"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="ac4ae135-4996-4f4c-a110-2caddd90eaec"/>
-      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T08:09:10"/>
-      <column name="OBJECT_ROWID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="ACTIVITYLINKID" value="ac4ae135-4996-4f4c-a110-2caddd90eaec"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T08:09:10"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b0df24a5-a162-40aa-b240-04c03845f896"/>
-      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:37:32"/>
-      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="ACTIVITYLINKID" value="b0df24a5-a162-40aa-b240-04c03845f896"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:37:32"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b0fae79b-0b1e-4650-8d94-853d17cca7bd"/>
-      <column name="ACTIVITY_ID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="9dda39bf-966c-4560-be03-5ddbbc1da84a"/>
+      <column name="ACTIVITYLINKID" value="b0fae79b-0b1e-4650-8d94-853d17cca7bd"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b111a1da-39f2-48ae-93a5-bad704e5ae48"/>
-      <column name="ACTIVITY_ID" value="de110a35-bcab-407e-9d60-7a65f028159b"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="de110a35-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ACTIVITYLINKID" value="b111a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b1a9bcbf-2b76-4377-b41b-12aab911a093"/>
-      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T07:53:18"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="e2d3cde4-e214-4cef-ae5a-d52da5633094"/>
+      <column name="ACTIVITYLINKID" value="b1a9bcbf-2b76-4377-b41b-12aab911a093"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T07:53:18"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b25aa59c-50e1-4236-bd17-adeda3ed1157"/>
-      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:12:40"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="ACTIVITYLINKID" value="b25aa59c-50e1-4236-bd17-adeda3ed1157"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:12:40"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="b65b384e-dfd6-4633-8a0b-f9382a03a495"/>
-      <column name="ACTIVITY_ID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
-      <column name="OBJECT_ROWID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
       <column name="OBJECT_TYPE" value="Contract"/>
+      <column name="ACTIVITY_ID" value="d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b"/>
+      <column name="ACTIVITYLINKID" value="b65b384e-dfd6-4633-8a0b-f9382a03a495"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="baa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
-      <column name="ACTIVITY_ID" value="de110a33-bcab-407e-9d60-7a65f028159b"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="de110a33-bcab-407e-9d60-7a65f028159b"/>
+      <column name="ACTIVITYLINKID" value="baa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="bac8559e-b9b1-499e-b6ce-910ead665b21"/>
-      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:04:58"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="2e2e733b-0d88-41aa-80c3-04dab338011a"/>
+      <column name="ACTIVITYLINKID" value="bac8559e-b9b1-499e-b6ce-910ead665b21"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:04:58"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="bc86224f-8266-4c8a-950b-b8cb9e1a5569"/>
-      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:58:08"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
+      <column name="ACTIVITYLINKID" value="bc86224f-8266-4c8a-950b-b8cb9e1a5569"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:58:08"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="bd8df5fe-5aec-4f85-a12b-36a1225955da"/>
-      <column name="ACTIVITY_ID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
-      <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
+      <column name="ACTIVITYLINKID" value="bd8df5fe-5aec-4f85-a12b-36a1225955da"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="bfa9b8c3-2750-45fe-a121-99280e5077f6"/>
-      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:57:16"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
+      <column name="ACTIVITYLINKID" value="bfa9b8c3-2750-45fe-a121-99280e5077f6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:57:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c23d8381-4cf5-48ac-be27-d132bef9127b"/>
-      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T07:54:21"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="52462c82-d05f-4a73-9bac-4d9929d07436"/>
+      <column name="ACTIVITYLINKID" value="c23d8381-4cf5-48ac-be27-d132bef9127b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T07:54:21"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c3261b97-a07d-4aa8-8767-065b6934108e"/>
-      <column name="ACTIVITY_ID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T11:38:18"/>
-      <column name="OBJECT_ROWID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
       <column name="OBJECT_TYPE" value="Contract"/>
+      <column name="ACTIVITY_ID" value="810346d8-ab0e-4f1a-ae78-9f55efcadbe6"/>
+      <column name="ACTIVITYLINKID" value="c3261b97-a07d-4aa8-8767-065b6934108e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T11:38:18"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c3751fb7-ae77-402b-8716-3e3a477dc813"/>
-      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T04:58:50"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="ACTIVITYLINKID" value="c3751fb7-ae77-402b-8716-3e3a477dc813"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T04:58:50"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c402a4cf-49c9-4ba6-98f7-11b831994b2a"/>
-      <column name="ACTIVITY_ID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T07:56:20"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="86bd08ed-38ca-42bb-af5b-2bcfb9d3ee1b"/>
+      <column name="ACTIVITYLINKID" value="c402a4cf-49c9-4ba6-98f7-11b831994b2a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T07:56:20"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c419929e-2b07-4cc4-9c7d-b0cf8b47b252"/>
-      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:52:55"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="e303e7e9-6d16-40cd-a7a9-7196d219d1de"/>
+      <column name="ACTIVITYLINKID" value="c419929e-2b07-4cc4-9c7d-b0cf8b47b252"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:52:55"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="c79c3685-9e36-4166-913c-e11a7cfd5abd"/>
-      <column name="ACTIVITY_ID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:50:27"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="7fa61c35-0b88-4e01-aadf-73101245a2e8"/>
+      <column name="ACTIVITYLINKID" value="c79c3685-9e36-4166-913c-e11a7cfd5abd"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:50:27"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="caa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
-      <column name="ACTIVITY_ID" value="de110a35-aaab-407e-9d60-7a65f028159b"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="de110a35-aaab-407e-9d60-7a65f028159b"/>
+      <column name="ACTIVITYLINKID" value="caa5a1da-39f2-48ae-93a5-bad704e5ae48"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="ce3be28a-35d9-41de-b7ca-e54b8dcb4ddf"/>
-      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:14:46"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="62486e9e-52c6-476f-b1e3-5d62e3f6384e"/>
+      <column name="ACTIVITYLINKID" value="ce3be28a-35d9-41de-b7ca-e54b8dcb4ddf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:14:46"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="cfb3f5f6-c148-42c9-b86c-14900e8d30c9"/>
-      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:54:10"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="6fe97d41-b44a-42b8-b19d-3ed9ce1cc393"/>
+      <column name="ACTIVITYLINKID" value="cfb3f5f6-c148-42c9-b86c-14900e8d30c9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:54:10"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d1a33dfd-92c8-4d66-bd21-8a81fbddba06"/>
-      <column name="ACTIVITY_ID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T09:00:14"/>
-      <column name="OBJECT_ROWID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="ACTIVITYLINKID" value="d1a33dfd-92c8-4d66-bd21-8a81fbddba06"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T09:00:14"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d1cfe415-bf05-4ee0-98b6-56ba560a39b6"/>
-      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:00:39"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="a867b04c-b2be-48ec-8108-1144a978f54a"/>
+      <column name="ACTIVITYLINKID" value="d1cfe415-bf05-4ee0-98b6-56ba560a39b6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:00:39"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d3ee6fb5-78e6-444c-bc1e-99e3eac16986"/>
-      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:54:52"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="7a058394-b360-41e0-aaea-6a3ca625f0d3"/>
+      <column name="ACTIVITYLINKID" value="d3ee6fb5-78e6-444c-bc1e-99e3eac16986"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:54:52"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d519df27-bcd6-4a8a-9004-3ecae7821208"/>
-      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:02:50"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="ACTIVITYLINKID" value="d519df27-bcd6-4a8a-9004-3ecae7821208"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:02:50"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d5417a0e-0dc3-414b-8450-a642d75be6e3"/>
-      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:16:02"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
+      <column name="ACTIVITYLINKID" value="d5417a0e-0dc3-414b-8450-a642d75be6e3"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:16:02"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d65a47ca-7357-43d9-896b-030bb8e3f170"/>
-      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
-      <column name="DATE_NEW" valueDate="2019-05-28T07:56:51"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="e3be48af-e679-4b3a-972f-ad17239e3bb4"/>
+      <column name="ACTIVITYLINKID" value="d65a47ca-7357-43d9-896b-030bb8e3f170"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-05-28T07:56:51"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d6940bd2-2a33-4586-9184-1cb53dc891d4"/>
-      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:56:37"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
+      <column name="ACTIVITYLINKID" value="d6940bd2-2a33-4586-9184-1cb53dc891d4"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:56:37"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d6d5a0a5-201d-4b5e-8f56-8f31a6106f88"/>
-      <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:14:49"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="8034de5b-48e7-4ca6-bfbf-db86395a4c59"/>
+      <column name="ACTIVITYLINKID" value="d6d5a0a5-201d-4b5e-8f56-8f31a6106f88"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:14:49"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="d8c58d4b-8c3b-42e9-bb23-af49ef0535d5"/>
-      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:58:08"/>
-      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="f38f8b69-7c10-4991-af8c-40dda43376f9"/>
+      <column name="ACTIVITYLINKID" value="d8c58d4b-8c3b-42e9-bb23-af49ef0535d5"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:58:08"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="da68ccb2-09c8-4a63-9dc3-16bec0777ad6"/>
-      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:53:44"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="ACTIVITYLINKID" value="da68ccb2-09c8-4a63-9dc3-16bec0777ad6"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:53:44"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="db2e4998-3b57-412c-aaed-b12340028903"/>
-      <column name="ACTIVITY_ID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:30:34"/>
-      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="a586aba1-0880-4705-9d2a-46b19cbdb954"/>
+      <column name="ACTIVITYLINKID" value="db2e4998-3b57-412c-aaed-b12340028903"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:30:34"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="dbe766e2-3920-4e23-8b11-d92f20d9d77e"/>
-      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:45:07"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="dc0d01bc-6a8e-48cc-8ce0-58fc9d83af01"/>
+      <column name="ACTIVITYLINKID" value="dbe766e2-3920-4e23-8b11-d92f20d9d77e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:45:07"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="dd6edda8-eefa-46cd-ac09-276ca1772023"/>
-      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:51:56"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="aaf320cd-b849-4062-a3b4-e6636230c114"/>
+      <column name="ACTIVITYLINKID" value="dd6edda8-eefa-46cd-ac09-276ca1772023"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:51:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="de20465b-6524-44d4-a01e-1db9d9c8bb05"/>
-      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:43:15"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
+      <column name="ACTIVITYLINKID" value="de20465b-6524-44d4-a01e-1db9d9c8bb05"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:43:15"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="dfcd0e72-a1fa-44bb-9dce-1ab30bad1993"/>
-      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:42:09"/>
-      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="5e95209e-0c7d-4c45-a5de-0d3ccdbc5f08"/>
+      <column name="ACTIVITYLINKID" value="dfcd0e72-a1fa-44bb-9dce-1ab30bad1993"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:42:09"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e090084f-d2e4-42e5-b524-7e79dafcb78e"/>
-      <column name="ACTIVITY_ID" value="36ec539c-a451-4166-b64d-fb98f1b73481"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:49:00"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="36ec539c-a451-4166-b64d-fb98f1b73481"/>
+      <column name="ACTIVITYLINKID" value="e090084f-d2e4-42e5-b524-7e79dafcb78e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:49:00"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e4337f16-291b-4623-a603-3acc5f70ceb9"/>
-      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:19:41"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="107a18dd-94f1-4df4-8775-6016262951ef"/>
+      <column name="ACTIVITYLINKID" value="e4337f16-291b-4623-a603-3acc5f70ceb9"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:19:41"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e6dc6017-6843-4b08-8aa5-1f34b9fc0434"/>
-      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:12:20"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
+      <column name="ACTIVITYLINKID" value="e6dc6017-6843-4b08-8aa5-1f34b9fc0434"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:12:20"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e76219f5-9b6a-48c1-a3ea-42a25e03c821"/>
-      <column name="ACTIVITY_ID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:22:44"/>
-      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="21852330-9c66-42a3-9d25-d053833f146d"/>
+      <column name="ACTIVITYLINKID" value="e76219f5-9b6a-48c1-a3ea-42a25e03c821"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:22:44"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e763809c-f612-4879-be39-6c3f08339093"/>
-      <column name="ACTIVITY_ID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:23:56"/>
-      <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="OBJECT_TYPE" value="Campaign"/>
+      <column name="ACTIVITY_ID" value="be9c6fd3-a401-4696-9382-442a20da6266"/>
+      <column name="ACTIVITYLINKID" value="e763809c-f612-4879-be39-6c3f08339093"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:23:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="e80cdefe-ff46-49f9-84ce-393882730337"/>
-      <column name="ACTIVITY_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T02:30:33"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="81b4d02f-be0b-4437-b51d-d5c833adede4"/>
+      <column name="ACTIVITYLINKID" value="e80cdefe-ff46-49f9-84ce-393882730337"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T02:30:33"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="ef66f553-93f4-4df5-a97c-d7a93b57ae6a"/>
-      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:00:17"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="dcf266be-505d-4344-b091-6d9b01007a72"/>
+      <column name="ACTIVITYLINKID" value="ef66f553-93f4-4df5-a97c-d7a93b57ae6a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:00:17"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f1b02cad-2a68-45fb-9313-1983b83bb310"/>
-      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
-      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="e265a424-b343-4bc1-b1cd-d40b9405ca12"/>
+      <column name="ACTIVITYLINKID" value="f1b02cad-2a68-45fb-9313-1983b83bb310"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f20857e3-3191-4fdf-b803-9ffd1a0668d7"/>
-      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:43:15"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="0cf02b72-a46a-4cd2-975f-15556618ea90"/>
+      <column name="ACTIVITYLINKID" value="f20857e3-3191-4fdf-b803-9ffd1a0668d7"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:43:15"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f3517f18-7473-4263-9236-7b3262e5ae1e"/>
-      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:07:26"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="d6ee3c57-1a49-45d2-8d09-d1480ad3e159"/>
+      <column name="ACTIVITYLINKID" value="f3517f18-7473-4263-9236-7b3262e5ae1e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:07:26"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f37c2f14-27ce-4782-a7d4-c9f6d6fbcecd"/>
-      <column name="ACTIVITY_ID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:28:27"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="26c4ccf9-a59d-483d-83a8-264b5fac219a"/>
+      <column name="ACTIVITYLINKID" value="f37c2f14-27ce-4782-a7d4-c9f6d6fbcecd"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:28:27"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f43ce26b-e728-41cd-9a93-745718b98972"/>
-      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:49:12"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="e2068edd-75cf-4b8a-8ff2-96a3c63956c2"/>
+      <column name="ACTIVITYLINKID" value="f43ce26b-e728-41cd-9a93-745718b98972"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:49:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f473cdce-4fea-49c1-8922-ecfa2b4e1949"/>
-      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T04:15:09"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="ACTIVITY_ID" value="ccbb8eef-5caa-4f6b-ad1e-dbb8ba171650"/>
+      <column name="ACTIVITYLINKID" value="f473cdce-4fea-49c1-8922-ecfa2b4e1949"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T04:15:09"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f7b42c68-cdc0-4a47-81f8-7a2c5f3d661a"/>
-      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:57:56"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="ed70c795-2a72-40e4-bce7-13aca09da578"/>
+      <column name="ACTIVITYLINKID" value="f7b42c68-cdc0-4a47-81f8-7a2c5f3d661a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:57:56"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f91f6e28-01f1-4b45-98f5-b0fb42ac3c38"/>
-      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:17:16"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="dd74c12b-44c5-4c58-a363-48333edd5538"/>
+      <column name="ACTIVITYLINKID" value="f91f6e28-01f1-4b45-98f5-b0fb42ac3c38"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:17:16"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="f9492518-d54d-40a7-99b1-8a89b648d15e"/>
-      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:58:04"/>
-      <column name="OBJECT_ROWID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="d608cae4-7b54-4a12-95f3-5b9eac3d04ef"/>
+      <column name="ACTIVITYLINKID" value="f9492518-d54d-40a7-99b1-8a89b648d15e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:58:04"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="fa4f065e-3bf5-43ca-950c-e7f5f2124e9a"/>
-      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:36:11"/>
-      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="5fcb8c51-22da-49ec-83c4-d47c296c77a7"/>
+      <column name="ACTIVITYLINKID" value="fa4f065e-3bf5-43ca-950c-e7f5f2124e9a"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:36:11"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="fb08245a-d14b-4a41-bfb3-973aa560d079"/>
-      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:57:37"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="0e62c5cf-7562-4c03-ae11-e6163acada9f"/>
+      <column name="ACTIVITYLINKID" value="fb08245a-d14b-4a41-bfb3-973aa560d079"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:57:37"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="fbd5ad75-92ac-48e2-ae11-d2f6e135123e"/>
-      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:07:02"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="b660824c-4336-4119-b5d3-5d0459764d86"/>
+      <column name="ACTIVITYLINKID" value="fbd5ad75-92ac-48e2-ae11-d2f6e135123e"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:07:02"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="fedb7c1b-0a41-4dba-8abb-2e4af7b4ee2d"/>
-      <column name="ACTIVITY_ID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ACTIVITY_ID" value="9c22ba51-8a09-40f1-b6b8-9787fe43b141"/>
+      <column name="ACTIVITYLINKID" value="fedb7c1b-0a41-4dba-8abb-2e4af7b4ee2d"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
     </insert>
     <insert tableName="activitylink">
-      <column name="ACTIVITYLINKID" value="ffa179e7-a704-440f-ac23-2fdf9eb10acf"/>
-      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:44:22"/>
-      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ACTIVITY_ID" value="a42f7cff-53e5-4515-aca2-49c5b4c46f69"/>
+      <column name="ACTIVITYLINKID" value="ffa179e7-a704-440f-ac23-2fdf9eb10acf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:44:22"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/address.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/address.xml
index 30f5bc836e..b918e33801 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/address.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/address.xml
@@ -1,546 +1,553 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="18ded44b-8224-42c5-b6a3-7cec027650e0">
+  <changeSet author="autogenerated" id="9824a41d-faa5-4e6e-90a6-2bec526a17d8">
     <delete tableName="address"/>
     <insert tableName="address">
+      <column name="ZIP" value="18074"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Rudolstaedter Strasse"/>
-      <column name="ADDRESSID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="77"/>
       <column name="CITY" value="Heinrichsthal"/>
+      <column name="LON" valueNumeric="9.34425430"/>
       <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Bayern"/>
       <column name="PROVINCE" value="Freistaat Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="18074"/>
-      <column name="LAT" valueNumeric="50.0711647"/>
-      <column name="LON" valueNumeric="9.3442543"/>
+      <column name="BUILDINGNO" value="77"/>
+      <column name="DISTRICT" value="Bayern"/>
+      <column name="LAT" valueNumeric="50.07116470"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84034"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Neustadt"/>
-      <column name="ADDRESSID" value="11d01332-985b-4efe-a634-da71ae482907"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="12"/>
       <column name="CITY" value="Landshut"/>
+      <column name="LON" valueNumeric="12.15381090"/>
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="11d01332-985b-4efe-a634-da71ae482907"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Niederbayern"/>
       <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="12"/>
+      <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84034"/>
-      <column name="LAT" valueNumeric="48.5352758"/>
-      <column name="LON" valueNumeric="12.1538109"/>
+      <column name="LAT" valueNumeric="48.53527580"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="90419"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Laufertorgraben"/>
-      <column name="ADDRESSID" value="14d01332-985b-4efe-a634-da71ae482907"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="25"/>
       <column name="CITY" value="Nürnberg"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="LON" valueNumeric="11.08920230"/>
       <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="14d01332-985b-4efe-a634-da71ae482907"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Nürnberg"/>
       <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="25"/>
+      <column name="DISTRICT" value="Nürnberg"/>
       <column name="REGION" value="Mittelfranken"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="90419"/>
-      <column name="LAT" valueNumeric="49.4554978"/>
-      <column name="LON" valueNumeric="11.0892023"/>
+      <column name="LAT" valueNumeric="49.45549780"/>
     </insert>
     <insert tableName="address">
-      <column name="ADDRESS" value="Wilhelm-Straße"/>
-      <column name="ADDRESSID" value="14d03432-985b-4efe-a634-da71ae482907"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="ZIP" value="84144"/>
+      <column name="COUNTRY" value="DE"/>
+      <column name="ADDRESS" value="Konrad-Zuse-Straße"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="2"/>
-      <column name="CITY" value="München"/>
+      <column name="CITY" value="Geisenhausen"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="LON" valueNumeric="12.24404810"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="14d03432-985b-4efe-a634-da71ae482907"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="80807"/>
-      <column name="LAT" valueNumeric="48.15795955"/>
-      <column name="LON" valueNumeric="11.58301632"/>
+      <column name="BUILDINGNO" value="4"/>
+      <column name="DISTRICT" value="Oberbayern"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T09:39:05"/>
+      <column name="REGION" value="NB"/>
+      <column name="LAT" valueNumeric="48.47726030"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="01159"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Freiberger Str."/>
-      <column name="ADDRESSID" value="1a20347c-ab56-41cb-a7dc-bd61de7e2106"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="45"/>
       <column name="CITY" value="Dresden"/>
+      <column name="LON" valueNumeric="13.70498290"/>
       <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="1a20347c-ab56-41cb-a7dc-bd61de7e2106"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:46:28"/>
       <column name="PROVINCE" value="Sachsen"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="01159"/>
-      <column name="LAT" valueNumeric="51.0433705"/>
-      <column name="LON" valueNumeric="13.7049829"/>
+      <column name="BUILDINGNO" value="45"/>
+      <column name="LAT" valueNumeric="51.04337050"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="85055"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Regensburger Straße"/>
-      <column name="ADDRESSID" value="25360df5-104e-4903-8440-f848d025a24b"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="45"/>
       <column name="CITY" value="Ingolstadt"/>
+      <column name="LON" valueNumeric="11.44332360"/>
       <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="25360df5-104e-4903-8440-f848d025a24b"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:49:41"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="85055"/>
-      <column name="LAT" valueNumeric="48.7677535"/>
-      <column name="LON" valueNumeric="11.4433236"/>
+      <column name="BUILDINGNO" value="45"/>
+      <column name="LAT" valueNumeric="48.76775350"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84034"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Hildburghausen"/>
-      <column name="ADDRESSID" value="2825d85f-879a-4899-a1bb-a6750ad2aee9"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1 "/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="48"/>
       <column name="CITY" value="Landshut"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1 "/>
+      <column name="LON" valueNumeric="12.12398208"/>
       <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="2825d85f-879a-4899-a1bb-a6750ad2aee9"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:45:53"/>
       <column name="PROVINCE" value="Bayern "/>
+      <column name="BUILDINGNO" value="48"/>
       <column name="REGION" value="Niederbayern "/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84034"/>
       <column name="LAT" valueNumeric="48.53621870"/>
-      <column name="LON" valueNumeric="12.12398208"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84144"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Landshuter Str."/>
-      <column name="ADDRESSID" value="2a03d8cb-ffb7-4d04-b8b2-e55354380fb7"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="32"/>
       <column name="CITY" value="Geisenhausen"/>
+      <column name="LON" valueNumeric="12.25215110"/>
       <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="2a03d8cb-ffb7-4d04-b8b2-e55354380fb7"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:42:01"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84144"/>
-      <column name="LAT" valueNumeric="48.4763188"/>
-      <column name="LON" valueNumeric="12.2521511"/>
+      <column name="BUILDINGNO" value="32"/>
+      <column name="LAT" valueNumeric="48.47631880"/>
     </insert>
     <insert tableName="address">
-      <column name="ADDRESS" value="Bolzstraße"/>
-      <column name="ADDRESSID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="ZIP" value="22846"/>
+      <column name="COUNTRY" value="DE"/>
+      <column name="ADDRESS" value="Rathausallee"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="64"/>
-      <column name="CITY" value="Stuttgart"/>
+      <column name="CITY" value="Norderstedt"/>
+      <column name="LON" valueNumeric="9.99346230"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
-      <column name="PROVINCE" value="Baden-Württemberg"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="70173"/>
-      <column name="LAT" valueNumeric="48.7802679"/>
-      <column name="LON" valueNumeric="9.1771426"/>
+      <column name="ADDRESSID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
+      <column name="PROVINCE" value="Schleswig-Holstein"/>
+      <column name="BUILDINGNO" value="50"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T08:11:11"/>
+      <column name="LAT" valueNumeric="53.70799670"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="10115"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Torstraße"/>
-      <column name="ADDRESSID" value="36723051-8a5f-47d3-8185-71c82d463eb3"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="78"/>
       <column name="CITY" value="Berlin"/>
+      <column name="LON" valueNumeric="13.38846270"/>
       <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="36723051-8a5f-47d3-8185-71c82d463eb3"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:44:21"/>
       <column name="PROVINCE" value="Berlin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="10115"/>
-      <column name="LAT" valueNumeric="52.5274079"/>
-      <column name="LON" valueNumeric="13.3884627"/>
+      <column name="BUILDINGNO" value="78"/>
+      <column name="LAT" valueNumeric="52.52740790"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84034"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Neustadt"/>
-      <column name="ADDRESSID" value="43b8aea1-2444-448f-87c5-f12fe1ef4ca0"/>
       <column name="ADDR_TYPE" value="DELIVERADDR"/>
-      <column name="BUILDINGNO" value="13"/>
       <column name="CITY" value="Landshut"/>
+      <column name="LON" valueNumeric="12.15381090"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="43b8aea1-2444-448f-87c5-f12fe1ef4ca0"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Niederbayern"/>
       <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="13"/>
+      <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84034"/>
-      <column name="LAT" valueNumeric="48.5352758"/>
-      <column name="LON" valueNumeric="12.1538109"/>
+      <column name="LAT" valueNumeric="48.53527580"/>
     </insert>
     <insert tableName="address">
-      <column name="ADDRESS" value="Königstraße"/>
-      <column name="ADDRESSID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
+      <column name="ZIP" value="20095"/>
+      <column name="COUNTRY" value="DE"/>
+      <column name="ADDRESS" value="Rathausmarkt"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="4"/>
       <column name="CITY" value="Hamburg"/>
+      <column name="LON" valueNumeric="9.99256091"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
       <column name="PROVINCE" value="Hamburg"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="22767 "/>
-      <column name="LAT" valueNumeric="53.549853"/>
-      <column name="LON" valueNumeric="9.9542231"/>
+      <column name="BUILDINGNO" value="1"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T08:09:43"/>
+      <column name="LAT" valueNumeric="53.55034310"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="85230"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Büsingstrasse"/>
-      <column name="ADDRESSID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="32"/>
       <column name="CITY" value="Bergkirchen"/>
+      <column name="LON" valueNumeric="11.13586210"/>
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="85230"/>
-      <column name="LAT" valueNumeric="48.1740741"/>
-      <column name="LON" valueNumeric="11.1358621"/>
+      <column name="BUILDINGNO" value="32"/>
+      <column name="DISTRICT" value="Oberbayern"/>
+      <column name="LAT" valueNumeric="48.17407410"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="90443"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Sandstraße"/>
-      <column name="ADDRESSID" value="6a3f6232-7a66-4a72-8d2d-66a3a9f1b9ea"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="3"/>
       <column name="CITY" value="Nürnberg"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="LON" valueNumeric="11.06877420"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="6a3f6232-7a66-4a72-8d2d-66a3a9f1b9ea"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="90443"/>
+      <column name="BUILDINGNO" value="3"/>
+      <column name="DISTRICT" value="Oberbayern"/>
       <column name="LAT" valueNumeric="49.44684405"/>
-      <column name="LON" valueNumeric="11.06877420"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="88046"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Friedrichshafen"/>
-      <column name="ADDRESSID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="12"/>
       <column name="CITY" value="Friedrichshafen"/>
+      <column name="LON" valueNumeric="9.49441404"/>
       <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
       <column name="PROVINCE" value="Baden-Württemberg"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="88046"/>
+      <column name="BUILDINGNO" value="12"/>
       <column name="LAT" valueNumeric="47.66121225"/>
-      <column name="LON" valueNumeric="9.49441404"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="67700"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Grosse Praesidenten Str."/>
-      <column name="ADDRESSID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="48"/>
       <column name="CITY" value="Niederkirchen"/>
+      <column name="LON" valueNumeric="7.69555650"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="PROVINCE" value="Rheinland-Pfalz"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="67700"/>
-      <column name="LAT" valueNumeric="49.5784546"/>
-      <column name="LON" valueNumeric="7.6955565"/>
+      <column name="BUILDINGNO" value="48"/>
+      <column name="LAT" valueNumeric="49.57845460"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="93047"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Steinstraße"/>
-      <column name="ADDRESSID" value="85ab4644-98f1-41ae-8678-67e76dd03706"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="35"/>
       <column name="CITY" value="Regensburg"/>
+      <column name="LON" valueNumeric="12.12251710"/>
       <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="85ab4644-98f1-41ae-8678-67e76dd03706"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:47:43"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="93047"/>
-      <column name="LAT" valueNumeric="49.0135924"/>
-      <column name="LON" valueNumeric="12.1225171"/>
+      <column name="BUILDINGNO" value="35"/>
+      <column name="LAT" valueNumeric="49.01359240"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="18074"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Kurfürstendamm"/>
-      <column name="ADDRESSID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="95"/>
       <column name="CITY" value="Rostock"/>
+      <column name="LON" valueNumeric="12.12861270"/>
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Mecklenburg-Vorpommern"/>
       <column name="PROVINCE" value="Mecklenburg-Vorpommern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="18074"/>
-      <column name="LAT" valueNumeric="54.0924445"/>
-      <column name="LON" valueNumeric="12.1286127"/>
+      <column name="BUILDINGNO" value="95"/>
+      <column name="DISTRICT" value="Mecklenburg-Vorpommern"/>
+      <column name="LAT" valueNumeric="54.09244450"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="71229"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Fliederstraße"/>
-      <column name="ADDRESSID" value="8923fff3-4294-4892-b3f3-8470ae89555e"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="4"/>
       <column name="CITY" value="Leonberg"/>
+      <column name="LON" valueNumeric="9.02484430"/>
       <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="8923fff3-4294-4892-b3f3-8470ae89555e"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:40:30"/>
       <column name="PROVINCE" value="Baden-Württemberg"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="71229"/>
-      <column name="LAT" valueNumeric="48.7956487"/>
-      <column name="LON" valueNumeric="9.0248443"/>
+      <column name="BUILDINGNO" value="4"/>
+      <column name="LAT" valueNumeric="48.79564870"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="86949"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Hauptstraße"/>
-      <column name="ADDRESSID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="110"/>
       <column name="CITY" value="Windach"/>
+      <column name="LON" valueNumeric="10.98941420"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="110"/>
+      <column name="DISTRICT" value="Oberbayern"/>
       <column name="REGION" value="Landsberg am Lech"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="86949"/>
-      <column name="LAT" valueNumeric="48.0642437"/>
-      <column name="LON" valueNumeric="10.9894142"/>
+      <column name="LAT" valueNumeric="48.06424370"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="86150"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Augsburger Straße"/>
-      <column name="ADDRESSID" value="8ac42a08-6e71-4bc4-a46d-5cf17e4a941c"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="6"/>
       <column name="CITY" value="Augsburg"/>
+      <column name="LON" valueNumeric="10.87471185"/>
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="8ac42a08-6e71-4bc4-a46d-5cf17e4a941c"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:56:16"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="86150"/>
-      <column name="LAT" valueNumeric="48.3641223"/>
-      <column name="LON" valueNumeric="10.87471185"/>
+      <column name="BUILDINGNO" value="6"/>
+      <column name="LAT" valueNumeric="48.36412230"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="80456"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Landsberger Allee"/>
-      <column name="ADDRESSID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="83"/>
       <column name="CITY" value="München"/>
+      <column name="LON" valueNumeric="11.53675920"/>
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="80456"/>
-      <column name="LAT" valueNumeric="48.1394721"/>
-      <column name="LON" valueNumeric="11.5367592"/>
+      <column name="BUILDINGNO" value="83"/>
+      <column name="DISTRICT" value="Oberbayern"/>
+      <column name="LAT" valueNumeric="48.13947210"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="60318"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Oeder Weg"/>
-      <column name="ADDRESSID" value="90726b19-f23c-42dd-847a-7eacf4c71d18"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="6"/>
       <column name="CITY" value="Frankfurt am Main"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="LON" valueNumeric="8.67988090"/>
       <column name="CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="90726b19-f23c-42dd-847a-7eacf4c71d18"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="PROVINCE" value="Hessen"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="60318"/>
-      <column name="LAT" valueNumeric="50.1186864"/>
-      <column name="LON" valueNumeric="8.6798809"/>
+      <column name="BUILDINGNO" value="6"/>
+      <column name="LAT" valueNumeric="50.11868640"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84034"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Hildburghausen"/>
-      <column name="ADDRESSID" value="92a244c5-6065-458c-abc7-57d0dc955011"/>
-      <column name="ADDRIDENTIFIER" value="Tor 1"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="48"/>
       <column name="CITY" value="Landshut"/>
+      <column name="ADDRIDENTIFIER" value="Tor 1"/>
+      <column name="LON" valueNumeric="12.12398208"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:44:48"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="92a244c5-6065-458c-abc7-57d0dc955011"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84034"/>
+      <column name="BUILDINGNO" value="48"/>
+      <column name="DISTRICT" value="Oberbayern"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:44:48"/>
       <column name="LAT" valueNumeric="48.53621870"/>
-      <column name="LON" valueNumeric="12.12398208"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84028"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Innere Münchner Straße"/>
-      <column name="ADDRESSID" value="98652f91-7775-4e96-bc90-034669fceeac"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="3"/>
       <column name="CITY" value="Landshut"/>
+      <column name="LON" valueNumeric="12.16404283"/>
       <column name="CONTACT_ID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="PROVINCE" value="Bayern"/>
-      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84028"/>
+      <column name="ADDRESSID" value="98652f91-7775-4e96-bc90-034669fceeac"/>
+      <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
+      <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="3"/>
       <column name="LAT" valueNumeric="48.53814234"/>
-      <column name="LON" valueNumeric="12.16404283"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84144"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Konrad"/>
-      <column name="ADDRESSID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
       <column name="CITY" value="Geisenhausen"/>
+      <column name="LON" valueNumeric="12.24404810"/>
       <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84144"/>
-      <column name="LAT" valueNumeric="48.4772603"/>
-      <column name="LON" valueNumeric="12.2440481"/>
+      <column name="ADDRESSID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
+      <column name="LAT" valueNumeric="48.47726030"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84034"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Neustadt"/>
-      <column name="ADDRESSID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="12"/>
       <column name="CITY" value="Landshut"/>
+      <column name="LON" valueNumeric="12.15381090"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="DISTRICT" value="Niederbayern"/>
       <column name="PROVINCE" value="Bayern"/>
+      <column name="BUILDINGNO" value="12"/>
+      <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84034"/>
-      <column name="LAT" valueNumeric="48.5352758"/>
-      <column name="LON" valueNumeric="12.1538109"/>
+      <column name="LAT" valueNumeric="48.53527580"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="84028"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Am Alten Viehmarkt"/>
-      <column name="ADDRESSID" value="da05619e-47c6-4144-a698-f0f830d9f755"/>
       <column name="ADDR_TYPE" value="DELIVERADDR"/>
-      <column name="BUILDINGNO" value="6"/>
       <column name="CITY" value="Landshut"/>
+      <column name="LON" valueNumeric="12.15732140"/>
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="da05619e-47c6-4144-a698-f0f830d9f755"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:10"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="84028"/>
-      <column name="LAT" valueNumeric="48.5391499"/>
-      <column name="LON" valueNumeric="12.1573214"/>
+      <column name="BUILDINGNO" value="6"/>
+      <column name="LAT" valueNumeric="48.53914990"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="86150"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Karlstraße"/>
-      <column name="ADDRESSID" value="dd1a1831-b05a-41a7-a4e9-d73be9d77934"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="2"/>
       <column name="CITY" value="Augsburg"/>
+      <column name="LON" valueNumeric="10.89760900"/>
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="dd1a1831-b05a-41a7-a4e9-d73be9d77934"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:40:12"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="86150"/>
-      <column name="LAT" valueNumeric="48.370795"/>
-      <column name="LON" valueNumeric="10.897609"/>
+      <column name="BUILDINGNO" value="2"/>
+      <column name="LAT" valueNumeric="48.37079500"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="28103"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Bogenallee"/>
-      <column name="ADDRESSID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="6"/>
       <column name="CITY" value="Bremen"/>
+      <column name="LON" valueNumeric="7.95765380"/>
       <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:01:27"/>
       <column name="PROVINCE" value="Bremen"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="28103"/>
-      <column name="LAT" valueNumeric="51.5033219"/>
-      <column name="LON" valueNumeric="7.9576538"/>
+      <column name="BUILDINGNO" value="6"/>
+      <column name="LAT" valueNumeric="51.50332190"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="22765"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Julius-Leber-Straße"/>
-      <column name="ADDRESSID" value="e1aef1b7-569b-46be-bc50-f02332a42ef1"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="5"/>
       <column name="CITY" value="Hamburg"/>
+      <column name="LON" valueNumeric="9.93639880"/>
       <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="e1aef1b7-569b-46be-bc50-f02332a42ef1"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:50:42"/>
       <column name="PROVINCE" value="Hamburg"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="22765"/>
-      <column name="LAT" valueNumeric="53.555812"/>
-      <column name="LON" valueNumeric="9.9363988"/>
+      <column name="BUILDINGNO" value="5"/>
+      <column name="LAT" valueNumeric="53.55581200"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="93055"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Blumenstraße"/>
-      <column name="ADDRESSID" value="ea50cb02-7d4d-433d-9cd3-c262d5a0bb27"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="11"/>
       <column name="CITY" value="Regensburg"/>
+      <column name="LON" valueNumeric="12.11305452"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:49:33"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="ea50cb02-7d4d-433d-9cd3-c262d5a0bb27"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:04:16"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="93055"/>
+      <column name="BUILDINGNO" value="11"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:49:33"/>
       <column name="LAT" valueNumeric="49.01276075"/>
-      <column name="LON" valueNumeric="12.11305452"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="33739"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Spresstrasse"/>
-      <column name="ADDRESSID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
       <column name="ADDR_TYPE" value="HOMEADDR"/>
-      <column name="BUILDINGNO" value="67"/>
       <column name="CITY" value="Bielefeld"/>
+      <column name="LON" valueNumeric="8.52114562"/>
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="COUNTRY" value="DE"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="PROVINCE" value="Nordrhein-Westfalen"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="33739"/>
+      <column name="BUILDINGNO" value="67"/>
       <column name="LAT" valueNumeric="52.08547342"/>
-      <column name="LON" valueNumeric="8.52114562"/>
     </insert>
     <insert tableName="address">
+      <column name="ZIP" value="80689"/>
+      <column name="COUNTRY" value="DE"/>
       <column name="ADDRESS" value="Gotthardstraße"/>
-      <column name="ADDRESSID" value="f54606ee-ecdd-4859-ad7d-aa096c5e9596"/>
-      <column name="ADDRIDENTIFIER" value="Tor 4"/>
       <column name="ADDR_TYPE" value="OFFICEADDR"/>
-      <column name="BUILDINGNO" value="35"/>
       <column name="CITY" value="München"/>
+      <column name="ADDRIDENTIFIER" value="Tor 4"/>
+      <column name="LON" valueNumeric="11.49639750"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
-      <column name="COUNTRY" value="DE"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:50:21"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ADDRESSID" value="f54606ee-ecdd-4859-ad7d-aa096c5e9596"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="DISTRICT" value="Oberbayern"/>
       <column name="PROVINCE" value="Bayern"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="ZIP" value="80689"/>
-      <column name="LAT" valueNumeric="48.1358663"/>
-      <column name="LON" valueNumeric="11.4963975"/>
+      <column name="BUILDINGNO" value="35"/>
+      <column name="DISTRICT" value="Oberbayern"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:50:21"/>
+      <column name="LAT" valueNumeric="48.13586630"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmail.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmail.xml
index cfc8ad6317..b3142a2cae 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmail.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmail.xml
@@ -1,34 +1,34 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="02a2a6c0-7702-404b-b01d-8493fa3a9435">
+  <changeSet author="autogenerated" id="f94e77db-7363-48ae-9a3b-b2ce36687f63">
     <delete tableName="bulkmail"/>
     <insert tableName="bulkmail">
-      <column name="BULKMAILID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
       <column name="CREATEACTIVITIES" valueNumeric="1"/>
+      <column name="BULKMAILID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
+      <column name="SENDER" value="tadmin@meine-firma.de"/>
+      <column name="SUBJECT" value="Erstkontakt meineFirma"/>
       <column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
       <column name="NAME" value="Serienmail - Newsletter"/>
-      <column name="SENDER" value="tadmin@meine-firma.de"/>
       <column name="STATUS" value="BULKMAILNOTSENT"/>
-      <column name="SUBJECT" value="Erstkontakt meineFirma"/>
     </insert>
     <insert tableName="bulkmail">
-      <column name="BULKMAILID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
       <column name="CREATEACTIVITIES" valueNumeric="1"/>
+      <column name="BULKMAILID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
+      <column name="SENDER" value="tadmin@meine-firma.de"/>
+      <column name="SUBJECT" value="Email Vorlage Erstkontakt"/>
       <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
       <column name="NAME" value="Produktinformationen"/>
-      <column name="SENDER" value="tadmin@meine-firma.de"/>
       <column name="STATUS" value="BULKMAILNOTSENT"/>
-      <column name="SUBJECT" value="Email Vorlage Erstkontakt"/>
     </insert>
     <insert tableName="bulkmail">
-      <column name="BULKMAILID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
       <column name="CREATEACTIVITIES" valueNumeric="1"/>
-      <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
-      <column name="NAME" value="Erstkontakt ADITO"/>
+      <column name="BULKMAILID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
       <column name="SENDER" value="tadmin@meine-firma.de"/>
-      <column name="STATUS" value="BULKMAILNOTSENT"/>
       <column name="SUBJECT" value="Email Vorlage Erstkontakt"/>
+      <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="NAME" value="Erstkontakt ADITO"/>
       <column name="USE_TEMPLATE_ATTACHMENTS" valueNumeric="1"/>
+      <column name="STATUS" value="BULKMAILNOTSENT"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmailrecipient.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmailrecipient.xml
index b7d80e4787..341cc9ce86 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmailrecipient.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/bulkmailrecipient.xml
@@ -1,200 +1,200 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="14caa5f4-e01c-47f6-abad-faf139ddc1f0">
+  <changeSet author="autogenerated" id="4d396410-7295-49a1-a84c-231cc04b23e8">
     <delete tableName="bulkmailrecipient"/>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="103cd20e-63d5-4915-acc1-64ff3e8dfe81"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="BULKMAILRECIPIENTID" value="103cd20e-63d5-4915-acc1-64ff3e8dfe81"/>
       <column name="EMAIL_ADDRESS" value="lsommer@meine-firma.de"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="119b5628-fb77-45ef-9310-17d54cf0e9de"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
+      <column name="BULKMAILRECIPIENTID" value="119b5628-fb77-45ef-9310-17d54cf0e9de"/>
       <column name="EMAIL_ADDRESS" value="psolano@industrial-steel.de"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="1261ad16-5031-4c5b-b3c4-be33778f34bb"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="BULKMAILRECIPIENTID" value="1261ad16-5031-4c5b-b3c4-be33778f34bb"/>
       <column name="EMAIL_ADDRESS" value="fmüller@meine-firma.de"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="1b79925d-8c51-48cc-8201-874c43b122b0"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="BULKMAILRECIPIENTID" value="1b79925d-8c51-48cc-8201-874c43b122b0"/>
       <column name="EMAIL_ADDRESS" value="alindner@industrial-steel.de"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="2eeac840-1cad-4f15-9601-a1d8c6561f6a"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="BULKMAILRECIPIENTID" value="2eeac840-1cad-4f15-9601-a1d8c6561f6a"/>
       <column name="EMAIL_ADDRESS" value="lkanzler@web.de"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="5738d88f-7870-4515-ae4c-51eabd4da745"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="BULKMAILRECIPIENTID" value="5738d88f-7870-4515-ae4c-51eabd4da745"/>
       <column name="EMAIL_ADDRESS" value="jgrüner@web.de"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="59e5eadd-f516-4681-be19-41643d9d78aa"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="BULKMAILRECIPIENTID" value="59e5eadd-f516-4681-be19-41643d9d78aa"/>
       <column name="EMAIL_ADDRESS" value="bleicht@meine-firma.de"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="5b58d59e-3303-4286-9e49-3004c95e6dca"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="BULKMAILRECIPIENTID" value="5b58d59e-3303-4286-9e49-3004c95e6dca"/>
       <column name="EMAIL_ADDRESS" value="amorgenstern@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="5d756301-9d3d-4053-9e1b-b6fbaffdbb66"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="BULKMAILRECIPIENTID" value="5d756301-9d3d-4053-9e1b-b6fbaffdbb66"/>
       <column name="EMAIL_ADDRESS" value="lkanzler@web.de"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="69177b63-1775-4517-a430-d561850523a4"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
+      <column name="BULKMAILRECIPIENTID" value="69177b63-1775-4517-a430-d561850523a4"/>
       <column name="EMAIL_ADDRESS" value="azweisstein@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="772718f6-ee76-47cc-ae4f-015f93cd394f"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
+      <column name="BULKMAILRECIPIENTID" value="772718f6-ee76-47cc-ae4f-015f93cd394f"/>
       <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="80a7616c-cb51-49c0-8887-40d6fd36f591"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="BULKMAILRECIPIENTID" value="80a7616c-cb51-49c0-8887-40d6fd36f591"/>
       <column name="EMAIL_ADDRESS" value="atannenbaum@industiral-steel.de"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="80e2e6e1-13d2-4cb6-b6c9-0d26e0fe7d4a"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="BULKMAILRECIPIENTID" value="80e2e6e1-13d2-4cb6-b6c9-0d26e0fe7d4a"/>
       <column name="EMAIL_ADDRESS" value="cdecker@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="8584fb30-c1c1-47a9-b0c0-1677d850da9f"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="BULKMAILRECIPIENTID" value="8584fb30-c1c1-47a9-b0c0-1677d850da9f"/>
       <column name="EMAIL_ADDRESS" value="hsmith@meine-firma.de"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="8ebef004-1beb-4d35-bc6b-efa067948d09"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="BULKMAILRECIPIENTID" value="8ebef004-1beb-4d35-bc6b-efa067948d09"/>
       <column name="EMAIL_ADDRESS" value="lmatterhorn@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="a2d869c1-dd77-4b4b-8836-dbf903a970d3"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="BULKMAILRECIPIENTID" value="a2d869c1-dd77-4b4b-8836-dbf903a970d3"/>
       <column name="EMAIL_ADDRESS" value="dvortrefflich@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="b0bdd111-6e24-461c-86cc-1332ee1d127e"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="BULKMAILRECIPIENTID" value="b0bdd111-6e24-461c-86cc-1332ee1d127e"/>
       <column name="EMAIL_ADDRESS" value="mericson@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="b8ee064e-91dc-4cb9-91b7-19a3bc180ee4"/>
       <column name="BULKMAIL_ID" value="bbb832fe-8ae4-403a-816a-b24d496933f2"/>
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
+      <column name="BULKMAILRECIPIENTID" value="b8ee064e-91dc-4cb9-91b7-19a3bc180ee4"/>
       <column name="EMAIL_ADDRESS" value="psteiger@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="c44dcedb-01d3-4255-bd2c-3d2e26f60530"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="BULKMAILRECIPIENTID" value="c44dcedb-01d3-4255-bd2c-3d2e26f60530"/>
       <column name="EMAIL_ADDRESS" value="tmosby@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="c74338d9-13a0-4e0e-8295-1407950cfca4"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="BULKMAILRECIPIENTID" value="c74338d9-13a0-4e0e-8295-1407950cfca4"/>
       <column name="EMAIL_ADDRESS" value="pmacher@industrial-steel.de"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="d0a54123-6cfb-412d-9602-2ec2b74d33c9"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="BULKMAILRECIPIENTID" value="d0a54123-6cfb-412d-9602-2ec2b74d33c9"/>
       <column name="EMAIL_ADDRESS" value="alindner@industrial-steel.de"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="d7c58f98-0748-4a9a-bf9e-19d0a77eead4"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="BULKMAILRECIPIENTID" value="d7c58f98-0748-4a9a-bf9e-19d0a77eead4"/>
       <column name="EMAIL_ADDRESS" value="slustig@meine-firma.de"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="dbac2f4d-3f7a-48fb-a146-689e02805147"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="BULKMAILRECIPIENTID" value="dbac2f4d-3f7a-48fb-a146-689e02805147"/>
       <column name="EMAIL_ADDRESS" value="jgrüner@web.de"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="de7d0c8d-dc45-41d8-92ba-762c1e261a92"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="BULKMAILRECIPIENTID" value="de7d0c8d-dc45-41d8-92ba-762c1e261a92"/>
       <column name="EMAIL_ADDRESS" value="bleicht@meine-firma.de"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="f3a01713-c4ce-4f40-80cc-78fe76be992c"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="BULKMAILRECIPIENTID" value="f3a01713-c4ce-4f40-80cc-78fe76be992c"/>
       <column name="EMAIL_ADDRESS" value="cdecker@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="f6072449-afe9-4f98-a87e-4191dbfccfdf"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="BULKMAILRECIPIENTID" value="f6072449-afe9-4f98-a87e-4191dbfccfdf"/>
       <column name="EMAIL_ADDRESS" value="gfk@meine-firma.de"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="f692608f-6672-4b7b-a08f-22493b25844b"/>
       <column name="BULKMAIL_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="BULKMAILRECIPIENTID" value="f692608f-6672-4b7b-a08f-22493b25844b"/>
       <column name="EMAIL_ADDRESS" value="mericson@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
     <insert tableName="bulkmailrecipient">
-      <column name="BULKMAILRECIPIENTID" value="fd25aa0e-484e-49c8-86a8-8159c35ea704"/>
       <column name="BULKMAIL_ID" value="2acfd3da-e986-414f-87cf-7ad2b46e5c59"/>
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="BULKMAILRECIPIENTID" value="fd25aa0e-484e-49c8-86a8-8159c35ea704"/>
       <column name="EMAIL_ADDRESS" value="maltinger@industrial-steel.de"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="STATUS" value="EMAILPENDING"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/campaign.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/campaign.xml
index 4325860e61..4bdc811fe6 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/campaign.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/campaign.xml
@@ -1,48 +1,48 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="be45a6f1-dbfc-4798-ae3e-1529f201916c">
+  <changeSet author="autogenerated" id="dbd6db5d-707a-4f87-a1e9-e0dc07f323ce">
     <delete tableName="campaign"/>
     <insert tableName="campaign">
       <column name="CAMPAIGNID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DESCRIPTION" value="Prüfung unserer Software durch Teilnehmer"/>
-      <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="NAME" value="CRM-Scan"/>
-      <column name="STATUS" value="PLANNING"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
+      <column name="DESCRIPTION" value="Prüfung unserer Software durch Teilnehmer"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+      <column name="STATUS" value="PLANNING"/>
     </insert>
     <insert tableName="campaign">
       <column name="CAMPAIGNID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="NAME" value="Vertriebsmesse"/>
       <column name="DESCRIPTION" value="Messe um neue Kontakte zu akquirieren."/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="NAME" value="Vertriebsmesse"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="STATUS" value="PLANNING"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaign">
       <column name="CAMPAIGNID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="NAME" value="Hannovermesse"/>
       <column name="DESCRIPTION" value="Zweijährige Messe."/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="NAME" value="Hannovermesse"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="STATUS" value="PLANNING"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaign">
       <column name="CAMPAIGNID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="NAME" value="Interner Kundentag"/>
       <column name="DESCRIPTION" value="An unsererem  Kundentag können sich bestehende Kunden und Interessenten  austauschen."/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="NAME" value="Interner Kundentag"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="STATUS" value="PLANNING"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/campaigncost.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/campaigncost.xml
index e69675be11..7c46aee3ca 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/campaigncost.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/campaigncost.xml
@@ -1,82 +1,82 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="418393ec-e9b2-4988-993f-496b24790501">
+  <changeSet author="autogenerated" id="509a936f-d4fe-4f0c-9341-c7be3ba3ad2f">
     <delete tableName="campaigncost"/>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="09e7f86f-983d-4e68-bf19-54018fa9b230"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CATEGORY" value="SHIPCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="250.00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="1d9bc85b-48a6-423b-b59f-dbc32b27c917"/>
       <column name="CAMPAIGNSTEP_ID" value="fd5d676b-94a3-441e-9b55-eceffc2a0b49"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CATEGORY" value="LAYOUTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="250.00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="293f7a24-191a-4ccd-83c2-4adf976d8dcd"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CATEGORY" value="LAYOUTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="1000.00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="2af457dd-d4ef-4faa-8d33-dca3346dfd10"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CATEGORY" value="LAYOUTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="500.00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="7b8fd98d-f947-46d8-ad6b-271378aca137"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CATEGORY" value="PRINTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="250.00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="bb77c632-a0a1-4bfb-89de-8a80dc00d8ff"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CATEGORY" value="LAYOUTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="1000.00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="c2a145a2-3e12-4a1c-825a-d5555256062a"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CATEGORY" value="PRINTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="500.00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="ea5d6362-b629-4026-96fd-adbb89641428"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CATEGORY" value="PRINTCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="100.00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaigncost">
       <column name="CAMPAIGNCOSTID" value="ebbc4865-1646-4c61-afc5-2f0af305f9e2"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CATEGORY" value="SHIPCOST"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="NET" valueNumeric="150.00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipant.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipant.xml
index 0fff301b1d..fdb05e1304 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipant.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipant.xml
@@ -1,504 +1,504 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="d6d6ff73-b506-4ee5-b7dc-eccb8a8820c6">
+  <changeSet author="autogenerated" id="7e59c896-5f76-4ed5-97a6-128e83c93e36">
     <delete tableName="campaignparticipant"/>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="0047c8e1-9057-4a4f-9947-940f38b7d8b1"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="05ba3507-4fc8-4cec-9a45-77773d87984a"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="11bd8015-2a0a-4205-8bd1-400c9f7fbafd"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="182044a9-a2a5-4362-bf00-0f7be031cb1c"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="1c330b1d-f122-4dfc-8450-255141f0c55c"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="28dba2e2-2650-4c2d-a019-87a0df11afb7"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="2a3411ce-ec3c-4d41-8337-bcabf173f580"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="2d40c1c0-975c-4d40-b480-481576d5deb2"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="2e151173-a299-4321-841c-74925273a6b2"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="2f961bb2-5800-44af-8579-02bb6c937b67"/>
       <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="3713db33-4ab3-415e-b4a0-a5856faadbf5"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="3918a273-298d-4e76-a2bb-fe69a1fde114"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="3e2bfe4d-67d6-4ce3-bbd1-277ef02d1ea2"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="41db6815-b3e0-48f2-8aa7-76374bfbe25f"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="47f88082-377a-4e97-beb9-0200a416b715"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="47f8b7ce-e9fc-483a-a66c-c8aa412afdf1"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="4efd91e9-25a5-4033-a48c-dcaca8b64f23"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="50c49ea7-18aa-4a7b-8a11-c022bb833d1b"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="5a9ddff5-27e0-4de5-bda9-792679edfe82"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="5f399c51-6d82-440b-9fc0-aeada3782cb7"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="5f7c3fa5-72f6-4842-82aa-7bb7a7625d21"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="685468f6-16d8-429c-8d0d-87d16cb95c18"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="68ea57cd-3132-4606-830c-4f7d7154d443"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="732cb81a-5971-488c-82ea-cf0f3c7c9587"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="73b14dcd-7005-4379-919c-4ce00fb7f314"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="75ce2f86-dcc2-422d-b110-e57ed2125d8b"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="78f36ab2-5ea6-4126-9049-caf0dfe61b14"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="7b1dd5e1-1cc5-4859-aa6f-823bbd368cc9"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="7f42aa41-c91a-43e6-8875-d5645b6177ca"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="848c2ae9-021a-4c70-bdc6-6e8215ec12d5"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="8b76598e-2ebb-4b07-91b3-a3e1dad583fb"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="8ba9bb82-9310-4ef2-bfb0-775e7f374298"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="8d5eb011-faca-460a-bf33-6f5b76c4aca0"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="8d7effb5-a0ab-409a-bfa4-9576aadc60fc"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="8f32f702-837e-4332-801e-e5daec1bade3"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="92eb3bbe-6030-494b-a802-c7b52e193da1"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="97e5d00f-fa77-4fc4-866c-450597f86974"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="98ca7aae-5352-49f1-9365-5fbebe0f24fc"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="ab2746b9-b687-42be-8643-b1f4e191947e"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="b3217cc7-ffa5-474b-a77a-b87438360f54"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="b54989b2-b67b-46d6-9c4f-3e0acdd6cd58"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="b7d53313-3ca1-47f8-aabe-a2d53ef5ff73"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="b9337d42-9a31-49b4-b961-38d2db4c87ae"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="be9dfe30-14a1-44ea-999c-0934fffa55ad"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="c65fa845-7868-42b5-a744-4fe4b378cab7"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d18242c8-3620-4fbc-be7c-50345f5bbdff"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d542bbe2-6f42-488b-926e-fcf1ff3b5d3c"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d57b5b8c-17ac-46ed-beda-e0d8f327a1f4"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d77a2d30-7982-4190-bad5-37bae77c1aeb"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d83bee3d-bbb3-475b-848d-75e37f94b7b3"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="d8e9d060-2307-4966-998e-99b44b555faf"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="e152db82-5600-46ed-be22-bd9af66e50d4"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="e416fde5-f569-4a18-94a5-8c115af28dfa"/>
       <column name="CAMPAIGNSTEP_ID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="e49b0fa7-dbd5-43d2-997b-322a1efa4580"/>
       <column name="CAMPAIGNSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="f0ece45a-0132-449f-a2bc-63511f481670"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="f34bb261-3b50-439e-bfeb-53067993434b"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="f6b57495-4fdc-44d3-ab08-524c85965493"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="f7ba637f-8361-4f04-a503-2654879887c5"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="fccb6945-6a16-4c63-862c-8bb2e7b2f246"/>
       <column name="CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="fe3bbdb5-63ce-4e25-b55e-eaa03066b190"/>
       <column name="CAMPAIGNSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="campaignparticipant">
       <column name="CAMPAIGNPARTICIPANTID" value="ffa48b3f-5566-48e4-843c-4b0542d27597"/>
       <column name="CAMPAIGNSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipantlog.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipantlog.xml
index 55d609e113..8f666897cd 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipantlog.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignparticipantlog.xml
@@ -1,59 +1,59 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="2600ead6-2b88-45da-9a64-a1a016886ea3">
+  <changeSet author="autogenerated" id="369a9d96-94c9-4067-83d9-da62eab9117b">
     <delete tableName="campaignparticipantlog"/>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="655e9fde-aa16-4d9d-968b-23567c023232"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="11bd8015-2a0a-4205-8bd1-400c9f7fbafd"/>
-      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
       <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
-      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
     </insert>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="0168b2eb-048e-4308-9c3c-f7ad9dcc9647"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="732cb81a-5971-488c-82ea-cf0f3c7c9587"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
-      <column name="CAMPAIGNSTEP_ID" value="0168b2eb-048e-4308-9c3c-f7ad9dcc9647"/>
       <column name="CAMPAIGN_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="DATE_NEW" valueDate="2019-11-15T10:45:26"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-15T10:45:26"/>
     </insert>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="8257e0ed-d762-42b3-9ddd-b3acd59c955f"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="2a3411ce-ec3c-4d41-8337-bcabf173f580"/>
-      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
       <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
-      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
     </insert>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="98ff5478-5f88-4711-9223-3b7637c7b72a"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="28dba2e2-2650-4c2d-a019-87a0df11afb7"/>
-      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
       <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
-      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
     </insert>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="ac8b9ecf-197c-4917-84a2-89ed05b6f2b2"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="2d40c1c0-975c-4d40-b480-481576d5deb2"/>
-      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
       <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
-      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
     </insert>
     <insert tableName="campaignparticipantlog">
+      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="CAMPAIGNPARTICIPANTLOGID" value="f2a7688a-0def-4f8c-b7dd-7f00e7d5f2a3"/>
       <column name="CAMPAIGNPARTICIPANT_ID" value="2f961bb2-5800-44af-8579-02bb6c937b67"/>
-      <column name="CAMPAIGNSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
       <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
-      <column name="PREVIOUS_CAMPAIGNSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-09-04T09:13:56"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignstep.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignstep.xml
index ae0ae1dbbb..941fd17deb 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/campaignstep.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/campaignstep.xml
@@ -1,193 +1,193 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="6cd5f2d8-a3ab-47e9-91c3-6169d20f4d10">
+  <changeSet author="autogenerated" id="016ccb66-e8d3-4e13-91ce-242a64612dda">
     <delete tableName="campaignstep"/>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="07609efc-170a-451e-907a-6f6b236e0a3c"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-09-30"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-23"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Telefonische Kontaktaufnahme"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
+      <column name="DATE_START" valueDate="2019-09-23"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="NAME" value="Telefonische Kontaktaufnahme"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-09-25"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-04"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Hinzugefügt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+      <column name="DATE_START" valueDate="2019-09-04"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="NAME" value="Hinzugefügt"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="2d89fd53-76e4-4dfa-8941-d0a80b040849"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="35"/>
       <column name="DATE_END" valueDate="2019-10-17"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-10-03"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="35"/>
-      <column name="NAME" value="Nachfassen"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="fd5d676b-94a3-441e-9b55-eceffc2a0b49"/>
+      <column name="DATE_START" valueDate="2019-10-03"/>
       <column name="SORTING" valueNumeric="3"/>
+      <column name="NAME" value="Nachfassen"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
       <column name="DATE_END" valueDate="2019-10-02"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-26"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
-      <column name="NAME" value="Einladung versandt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
+      <column name="DATE_START" valueDate="2019-09-26"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="NAME" value="Einladung versandt"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-09-25"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-04"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Hinzugefügt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+      <column name="DATE_START" valueDate="2019-09-04"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="NAME" value="Hinzugefügt"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="72ea7e64-d5bf-44eb-a523-3f2da411fe6d"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="35"/>
       <column name="DATE_END" valueDate="2019-10-28"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-10-18"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="35"/>
-      <column name="NAME" value="Teilnahme bestätigt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="2d89fd53-76e4-4dfa-8941-d0a80b040849"/>
+      <column name="DATE_START" valueDate="2019-10-18"/>
       <column name="SORTING" valueNumeric="4"/>
+      <column name="NAME" value="Teilnahme bestätigt"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="76295722-96f0-4992-a2d4-8defe962bf9a"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
       <column name="DATE_END" valueDate="2019-10-16"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-10-10"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
-      <column name="NAME" value="Teilnahme bestätigt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="67178f4b-600b-4b56-ae79-5c39ecba5593"/>
+      <column name="DATE_START" valueDate="2019-10-10"/>
       <column name="SORTING" valueNumeric="3"/>
+      <column name="NAME" value="Teilnahme bestätigt"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="963dc8b8-55e4-4e22-8162-a706dbeefa94"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-10-09"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-25"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Telefonisch Nachfassen"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="161e57aa-3ea6-46bc-a3eb-5a577b858c20"/>
+      <column name="DATE_START" valueDate="2019-09-25"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="NAME" value="Telefonisch Nachfassen"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNPHONE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="96793400-415d-42a6-b4d1-a52d1b2c5baa"/>
-      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-09-23"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-02"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Hinzugefügt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+      <column name="DATE_START" valueDate="2019-09-02"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="NAME" value="Hinzugefügt"/>
+      <column name="CAMPAIGN_ID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="a91a8a7c-1547-4707-a7aa-cc0ce7056ebe"/>
-      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="15"/>
       <column name="DATE_END" valueDate="2019-10-17"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-10-10"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="15"/>
-      <column name="NAME" value="Bestätigung zugesandt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="963dc8b8-55e4-4e22-8162-a706dbeefa94"/>
+      <column name="DATE_START" valueDate="2019-10-10"/>
       <column name="SORTING" valueNumeric="3"/>
+      <column name="NAME" value="Bestätigung zugesandt"/>
+      <column name="CAMPAIGN_ID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="caf3aad7-9f9a-44de-abd1-129cd00363cf"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
       <column name="DATE_END" valueDate="2019-09-25"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-04"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="100"/>
-      <column name="NAME" value="Hinzugefügt"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+      <column name="DATE_START" valueDate="2019-09-04"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="NAME" value="Hinzugefügt"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="fbfcf9a2-66b3-404f-a5e6-beef285ceb83"/>
-      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
       <column name="DATE_END" valueDate="2019-10-22"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-10-20"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
-      <column name="NAME" value="Teilgenommen"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="76295722-96f0-4992-a2d4-8defe962bf9a"/>
+      <column name="DATE_START" valueDate="2019-10-20"/>
       <column name="SORTING" valueNumeric="4"/>
+      <column name="NAME" value="Teilgenommen"/>
+      <column name="CAMPAIGN_ID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="campaignstep">
       <column name="CAMPAIGNSTEPID" value="fd5d676b-94a3-441e-9b55-eceffc2a0b49"/>
-      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
+      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
       <column name="DATE_END" valueDate="2019-10-02"/>
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
-      <column name="DATE_START" valueDate="2019-09-25"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
       <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="MAXPARTICIPANTS" valueNumeric="50"/>
-      <column name="NAME" value="E-Mail Einladung aussenden"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
       <column name="PREDECESSORSTEP_ID" value="72bc62eb-41b1-49e5-93b7-28afd8b59416"/>
+      <column name="DATE_START" valueDate="2019-09-25"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="NAME" value="E-Mail Einladung aussenden"/>
+      <column name="CAMPAIGN_ID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
       <column name="STATUS" value="OPEN"/>
-      <column name="STEPMEDIUM" value="CAMPAIGNEMAIL"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classification.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classification.xml
index a083c7e957..a8fe8e6873 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classification.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classification.xml
@@ -1,1816 +1,1791 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="0104519d-ae16-488c-810e-82ed2360da0b">
+  <changeSet author="autogenerated" id="672a95af-b8ef-4555-b9e7-8edc920db771">
     <delete tableName="classification"/>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="028181fe-5687-4904-b7cb-c4a1befe7eed"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="90361317-d80e-4466-a45b-3021bf02e2f9"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="0027e606-7932-4e40-9e20-43717b687a64"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="13771cd8-3694-4a44-8793-cd0fc3fb4b53"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="35d8ae15-8993-4ab2-99f6-e57c2ebf0bb3"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="008ac315-31ab-4320-bf29-6681708eda88"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="13985a1a-1660-4a85-86c1-612bd62df8d7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="00c30050-c850-46b0-8e1d-d70f889655e3"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="166f3484-53a8-4c44-aad7-ef47a268ae71"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="421cdeeb-a5d6-4612-b47b-49db966de27f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b1c55bcd-16c6-4b2f-8f73-e16397b40e93"/>
+      <column name="CLASSIFICATIONID" value="028181fe-5687-4904-b7cb-c4a1befe7eed"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="440d25a3-39c1-412e-90c7-c0a6366f0794"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
+      <column name="CLASSIFICATIONID" value="02f2f9a4-0d34-472a-b8b2-461fad057c4e"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="81d75e31-673b-426e-827f-c505b386ce0e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="0359b7b8-7526-4165-8b01-e90403b206eb"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c7b46dff-956a-47e1-8a7f-7d3f56c81da1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
+      <column name="CLASSIFICATIONID" value="03bb8bbb-0644-4376-99fb-b21fc2807f14"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1743c169-ef67-42b9-81af-99fc753d7a64"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="0423c091-7e65-43eb-9ab3-f5a847350845"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0a7ec07b-d429-4b0a-aebb-0a194e76428e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
+      <column name="CLASSIFICATIONID" value="045365c1-9561-4e4f-ad9b-9ce6ef0d0279"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b6d36680-909d-4470-9bf4-0a8b8a7807b1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
+      <column name="CLASSIFICATIONID" value="048a95bd-0a82-494d-b7fd-90f5d750f2c7"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="93f4dfdf-b07b-4dc5-91a3-7db80cc314fc"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="051e9f0f-fc99-4046-90b9-6cfb403844e9"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
+      <column name="CLASSIFICATIONID" value="0521dd6e-49ca-4a3a-9906-12e8359e3db9"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1180d429-0453-4b67-a805-7dc101e6ead2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
+      <column name="CLASSIFICATIONID" value="053f18d1-8fe2-4a79-978d-03cc37454ffe"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b38101bf-3d36-4509-9637-a428beb9999a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="058a9ef7-adca-4278-840a-720665fa3cd3"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c28d914e-ad91-4202-9fe6-0d0d41e53836"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="0759e286-007b-4568-b4d6-0542900d7ba1"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="085d5901-9ab4-4747-a758-660d952a7a2c"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0969044c-33eb-41eb-9aec-fa3795d8c49f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
       <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="0969044c-33eb-41eb-9aec-fa3795d8c49f"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6e187a9b-2e57-4da2-8132-9f576a28d6f7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
+      <column name="CLASSIFICATIONID" value="0a7ec07b-d429-4b0a-aebb-0a194e76428e"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4d67d40e-4656-46b0-b5a0-9c299c1ef9d3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="0f77577a-7a45-4c3f-be39-35ec364e8242"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="58642867-f8fc-45c1-a926-06306498a9c8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
+      <column name="CLASSIFICATIONID" value="0fcfa75f-9844-49d7-a088-56e570be4cd0"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6bbe5de0-4302-4467-9f3b-a0292485b214"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
+      <column name="CLASSIFICATIONID" value="1180d429-0453-4b67-a805-7dc101e6ead2"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1ec41224-e21c-4adf-8b7c-235eca10801c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
+      <column name="CLASSIFICATIONID" value="122116f6-e858-4605-af18-6c8b21da6455"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4164397b-a129-4e37-9586-af6e6133befd"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
-      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="12280a78-1bc8-411d-9556-57b6ea12343f"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
-
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6111dd76-4786-43bf-b6ce-74b36415ad03"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="1249cfe4-d2cd-42c2-9df8-93b8f6c1f272"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9cc46dc2-f40a-4c3b-aabd-c77858f5d770"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="35d8ae15-8993-4ab2-99f6-e57c2ebf0bb3"/>
+      <column name="CLASSIFICATIONID" value="13771cd8-3694-4a44-8793-cd0fc3fb4b53"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="045365c1-9561-4e4f-ad9b-9ce6ef0d0279"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
+      <column name="CLASSIFICATIONID" value="13985a1a-1660-4a85-86c1-612bd62df8d7"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="cd531b73-1390-498e-a83d-a50c964c24ea"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="13f634ef-70ba-440b-91af-e6324cdb20bb"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8f44739a-7103-4dd3-8f1f-25afbae07cd0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="14148c9a-8afb-42ad-a4c5-d1102241e9f8"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="02f2f9a4-0d34-472a-b8b2-461fad057c4e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="14f31249-544a-46f9-a2e4-c3bdcf3e49a3"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3f410195-bca5-41ac-a819-a8d29506f9e5"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="77a11bd3-a521-4701-b564-7f8b07000f0b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
+      <column name="CLASSIFICATIONID" value="166f3484-53a8-4c44-aad7-ef47a268ae71"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9aa3789c-bc9d-43cf-a121-2575090c2dc4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
       <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="fbc32ea9-8350-463a-846e-71a30851f15a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3e9b7598-39a6-4ebc-aa49-8ec3a20f9eb4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="80beaf88-415d-49da-ae0b-c4d6528747a2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="053f18d1-8fe2-4a79-978d-03cc37454ffe"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="208c8324-e7f9-41b9-93ec-ac7e7f7262b7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="1743c169-ef67-42b9-81af-99fc753d7a64"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9f85a0f0-6576-4077-99fc-953d8ab53352"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="1897cf27-f472-4d25-88fe-64bd08915817"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c4dc8a62-edc1-4af6-b7c6-f91f6ab700c5"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="19cd3898-cb8e-4fa3-ade8-89cacb181b7d"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="122116f6-e858-4605-af18-6c8b21da6455"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="1a093afe-066e-4bbc-b6c9-b913ab8dfdc0"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3da8549a-762a-438f-9878-271c52943fd2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="7e569319-5885-452e-9331-a507f3365236"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="1ac75382-0af9-42d2-8fe5-22295a93e8b3"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="28405f79-a635-4ede-8b11-11284c5e7190"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="636af750-fcd3-4480-bfe7-ead42bf85280"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="1af00ea1-11fe-49d7-8a21-29bee4f31991"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="905cae71-9e4b-48f2-9de3-fcb8607d01a1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="1dc7de76-80d9-4240-97ae-cab241301a68"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d33aeb65-0c28-48a1-9a81-105faa882a4c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="c9d4e28d-7935-42c5-9da5-5ce0b51b425a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="da44d022-9ea6-4fcb-9491-c5b7236c642f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
+      <column name="CLASSIFICATIONID" value="1ec41224-e21c-4adf-8b7c-235eca10801c"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
-
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3672003e-0624-4a51-bb15-48f93bbd4342"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="39547328-ccc6-47ad-b31a-d6a149081c44"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="20092371-2723-45e2-aae0-3a697b1265fc"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a027bccd-c894-443e-bdde-f32ee0b88285"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="1f924d71-c500-4cdd-bc52-4718a6b88e45"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="203fb867-ee2f-4c01-8fb5-8e49da32be64"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e10a5ecb-b0f3-4b08-a380-de1a04fbc87f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a177b155-4665-4af1-b50e-0b59e8ac2752"/>
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b7d6e658-96b3-4664-b7db-139b73add7e3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6382b5d7-06a3-4584-8314-e00abdd8e8e9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="94a83ec1-8e6d-4c1b-90a0-54eeac52277b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
+      <column name="CLASSIFICATIONID" value="208c8324-e7f9-41b9-93ec-ac7e7f7262b7"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6017fea2-7e31-4220-86f4-cf72123af805"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="218f1794-26e6-45f2-a26d-98185a49bf4f"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="dfaec9c0-d9fa-4362-a955-341addc3a76d"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="22429945-9c82-493c-a0a6-ff31ecaa4b56"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a28dd724-cd0b-48f4-afd5-840ddc611026"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="2314864a-76f7-4fe9-a01f-c5be6ba0669e"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="25bfa0ce-433a-4bb9-992c-df66b02a76da"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="6bd19de4-691b-4e78-84dc-cf6f41231978"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b06e62a0-53b0-4046-b024-b00293e632f2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="6bd19de4-691b-4e78-84dc-cf6f41231978"/>
+      <column name="CLASSIFICATIONID" value="25bfa0ce-433a-4bb9-992c-df66b02a76da"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="58671a19-6522-46e6-93ba-8f62bf580048"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2a9353ec-78c3-42ae-836f-dcec0a4cfaad"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="2800c5de-2174-46fb-a50a-d5ae4a28c28d"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2abfbf1f-8f2c-4713-a61b-13ba593d1055"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="636af750-fcd3-4480-bfe7-ead42bf85280"/>
+      <column name="CLASSIFICATIONID" value="28405f79-a635-4ede-8b11-11284c5e7190"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a3e22367-c33f-4f2c-ad0c-8f9eb6ab572a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="289cea03-2c65-4557-b0f9-0dd29b26cecc"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="297cc1a1-1813-4f30-ad70-b452292c3371"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
       <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0521dd6e-49ca-4a3a-9906-12e8359e3db9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="297cc1a1-1813-4f30-ad70-b452292c3371"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0fcfa75f-9844-49d7-a088-56e570be4cd0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="08764209-9b5e-4893-96d0-e2a347bccf60"/>
+      <column name="CLASSIFICATIONID" value="2a447c40-23b0-4e45-b932-067c08515da0"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9452b219-64af-4c27-8f35-0ba81210abf3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4e96b522-209b-48ca-b04d-f328416aacdd"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
+      <column name="CLASSIFICATIONID" value="2a9353ec-78c3-42ae-836f-dcec0a4cfaad"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f47c0ea2-3a6d-4d7b-8f89-bb2d9799fd0e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e90c4086-db5f-4099-ba26-67799eb25e44"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
+      <column name="CLASSIFICATIONID" value="2abfbf1f-8f2c-4713-a61b-13ba593d1055"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="35b79ed1-7002-44f1-af61-891cdf863ac9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8502a2c8-fb7e-44f2-91cb-3d44d2d50d98"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="2b0e75e0-0a36-4397-988d-2ae60e5d2658"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8c133476-7e1a-4120-8127-b45228bd5403"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="2c644b64-0404-4eac-841c-d8579ff25fa6"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="965bd86a-ad6d-4440-a7a3-e4bcf1b0a505"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
+      <column name="CLASSIFICATIONID" value="2e3d4c1e-24b2-4362-bee9-b11fa9847d42"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0027e606-7932-4e40-9e20-43717b687a64"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
       <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="3056c0b4-5e4b-4580-ab89-75ac80920415"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2a447c40-23b0-4e45-b932-067c08515da0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="319dec0d-5ed5-40f8-8c98-b912582a8817"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d5db188e-4e30-4179-8c3a-339bc16fa2ab"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="31a22039-ac7d-4bb9-9f36-d1f91c6c4052"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6685c781-a87d-4102-8764-27f0fcb0dc60"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="326d5aff-cb21-4bb6-9c32-7fcac48d175c"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9af237aa-daa0-4195-a301-a815497a75b6"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="55569485-c1f8-4bef-9e94-2b64c9b6bd4e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="32b4f1b2-6cc2-4702-a9e0-0a75184c5698"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2800c5de-2174-46fb-a50a-d5ae4a28c28d"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="342c7c38-ca79-4e46-9677-5da074ceb60b"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="12280a78-1bc8-411d-9556-57b6ea12343f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c9208276-8f53-424d-821b-e37f041f864a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
+      <column name="CLASSIFICATIONID" value="3561883e-bec9-4be7-8f0f-985ca694ff04"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="19cd3898-cb8e-4fa3-ade8-89cacb181b7d"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="359fddf8-baae-497f-8ad6-d2cab1438473"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="085d5901-9ab4-4747-a758-660d952a7a2c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
+      <column name="CLASSIFICATIONID" value="35b79ed1-7002-44f1-af61-891cdf863ac9"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="fcdedb8a-a863-47a8-93af-379c451fedb0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="90361317-d80e-4466-a45b-3021bf02e2f9"/>
+      <column name="CLASSIFICATIONID" value="3672003e-0624-4a51-bb15-48f93bbd4342"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+    </insert>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="36b1ed8c-a4d4-4203-aa20-52cf10f8d8a0"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="971cee9d-9b1f-4b57-9635-9bbfdb792958"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="3807eda2-aa0f-4caf-b3ab-0ff341eb887b"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="39dc9940-eb00-4ed5-82ec-521f5cc62239"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="39dc9940-eb00-4ed5-82ec-521f5cc62239"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
-    
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f7f7022f-57a2-4944-a9d3-e092e1be43b3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="2119cb62-b57c-40be-aff8-ace8e40378d4"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
+      <column name="CLASSIFICATIONID" value="3cc8a674-7934-4b8f-b200-bd19ddcb4689"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6dadd578-7e24-41cd-ab27-7baa29e4691b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="7e569319-5885-452e-9331-a507f3365236"/>
+      <column name="CLASSIFICATIONID" value="3da8549a-762a-438f-9878-271c52943fd2"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="008ac315-31ab-4320-bf29-6681708eda88"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
+      <column name="CLASSIFICATIONID" value="3e9b7598-39a6-4ebc-aa49-8ec3a20f9eb4"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="568cebf1-2494-44e0-9eb8-91bbcf1189eb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
+      <column name="CLASSIFICATIONID" value="3f410195-bca5-41ac-a819-a8d29506f9e5"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d3932d83-8afe-47ff-aff9-7d23bd443669"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
+      <column name="CLASSIFICATIONID" value="4164397b-a129-4e37-9586-af6e6133befd"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e567dc3e-fb98-4b17-b503-499497b691a6"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="421cdeeb-a5d6-4612-b47b-49db966de27f"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5f0cdce4-81b4-4c05-9011-4d76bdc21b65"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
+      <column name="CLASSIFICATIONID" value="440d25a3-39c1-412e-90c7-c0a6366f0794"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1af00ea1-11fe-49d7-8a21-29bee4f31991"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="4444b22f-02d1-4e8f-9073-82d61eba18e0"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f724bcdf-ac46-4296-be41-2febc7747ce1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="445ccf23-4d44-489a-8054-b46194e104e7"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
-    
-      <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="79cc0205-25f8-44a9-b682-a31df2068e3f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="CLASSIFICATIONID" value="46065d3f-a811-430d-8fa2-e048aee894c7"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f7118dce-dac9-4821-a709-bb7e9db8170a"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
+      <column name="CLASSIFICATIONID" value="4a61a0fe-394e-4b2f-897a-092fc2c109b2"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
+      <column name="CLASSIFICATIONID" value="4d67d40e-4656-46b0-b5a0-9c299c1ef9d3"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="4e21e953-7146-43dd-a888-92d9f55f561e"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="4e96b522-209b-48ca-b04d-f328416aacdd"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+    </insert>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="522566b0-6eca-40bb-977c-c9a26f730890"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3561883e-bec9-4be7-8f0f-985ca694ff04"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="52c6bccc-1055-48dc-ad5d-311e80a12d2a"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="98d2e3c1-f308-4a7a-a12f-4d24b45d4db9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
+      <column name="CLASSIFICATIONID" value="55401dae-a111-4e69-9c26-21fa9badd973"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="bb5ee550-320f-491a-a48f-b1ecf41ef90c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="9ac96400-9c47-4d4f-be5b-e053f92a54ce"/>
+      <column name="CLASSIFICATIONID" value="55569485-c1f8-4bef-9e94-2b64c9b6bd4e"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0759e286-007b-4568-b4d6-0542900d7ba1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="555a280b-a2e4-4eb5-bbec-87bca3987395"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="94bbfbe5-136f-40f2-af1f-8a47e1414a8c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
+      <column name="CLASSIFICATIONID" value="568cebf1-2494-44e0-9eb8-91bbcf1189eb"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="84ca4de3-ba44-40b4-8727-c5e23861c2c9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="57a2e5d3-0aa9-48a1-89f8-2db8967ffed6"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="efe87026-b813-4bb7-a3c8-4ef72e2076b8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONID" value="58642867-f8fc-45c1-a926-06306498a9c8"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e14fd7cc-abca-4296-bbd6-d9605d1e6f00"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
+      <column name="CLASSIFICATIONID" value="58671a19-6522-46e6-93ba-8f62bf580048"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="597de33c-b223-4d55-bed7-aeb1d161fc2e"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="ddb5083d-9410-4b9c-82a4-496370b868e3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="5a5e780b-01af-4a0f-bcd6-74c0c588210a"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4a61a0fe-394e-4b2f-897a-092fc2c109b2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="CLASSIFICATIONID" value="5bb5e000-5bba-4895-a5b8-374c2c5bd3a4"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="55401dae-a111-4e69-9c26-21fa9badd973"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="5bb7b949-cc0b-4724-a5e9-37bfcfe55813"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6048f088-dde7-4134-a101-f5e8f8b70cf5"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
       <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="5c1b2604-da33-4268-8400-5fb4b23c436b"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="ccaea5d2-64c3-4255-9825-c91784ba5f54"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="5ce0c1b0-c040-462e-bd19-c8e109449b8e"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="048a95bd-0a82-494d-b7fd-90f5d750f2c7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="5dd419ab-971f-42fd-9bb6-2247a6b4175b"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8fbd5ec4-bb9a-4c33-aa8d-73185d4b0746"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="5f0cdce4-81b4-4c05-9011-4d76bdc21b65"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1249cfe4-d2cd-42c2-9df8-93b8f6c1f272"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
+      <column name="CLASSIFICATIONID" value="6017fea2-7e31-4220-86f4-cf72123af805"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2e3d4c1e-24b2-4362-bee9-b11fa9847d42"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="6048f088-dde7-4134-a101-f5e8f8b70cf5"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8b59888b-ba5c-4a77-b06d-d522037fe3b3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
+      <column name="CLASSIFICATIONID" value="6111dd76-4786-43bf-b6ce-74b36415ad03"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="bc4a31b1-f2e2-4caf-8dcd-ac754c1d7290"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="62b9dacc-7d6f-4e05-81f8-6a425e369489"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="813a990d-a17a-4481-a49d-7fb3a9c6513a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="62cc115a-f80e-4a0f-899e-8060e9ed575e"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d6bf1068-83a5-4bcc-9d97-2efc72cc57a8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="6382b5d7-06a3-4584-8314-e00abdd8e8e9"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="65f45f0d-ab41-4a83-b5f7-795dc21d0fd4"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c5d4a548-7a5a-4695-b746-526ef41f5035"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="6685c781-a87d-4102-8764-27f0fcb0dc60"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1897cf27-f472-4d25-88fe-64bd08915817"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="6800e69f-33b1-44ae-b3a2-d7362bfddbf8"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="75fd708e-78a9-442f-8ddb-913b8fd29cdf"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="688cdc0d-d1a7-46ad-95c3-7503c054ee2c"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5bb7b949-cc0b-4724-a5e9-37bfcfe55813"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="6a6dfe13-6fcc-4ae9-b12b-dced4a55daef"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3cc8a674-7934-4b8f-b200-bd19ddcb4689"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="6bbe5de0-4302-4467-9f3b-a0292485b214"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="6d3464fa-eadd-4afd-b4e1-3031726770d5"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="57a2e5d3-0aa9-48a1-89f8-2db8967ffed6"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="6dadd578-7e24-41cd-ab27-7baa29e4691b"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a3081728-77d9-4c92-96b5-6fa21659a33f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
+      <column name="CLASSIFICATIONID" value="6e187a9b-2e57-4da2-8132-9f576a28d6f7"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="342c7c38-ca79-4e46-9677-5da074ceb60b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="CLASSIFICATIONID" value="717dfb2c-2e2c-46c8-b72c-8d81e61b94c1"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a3e2d764-bd51-4f06-a0a0-0e5f4b37d41b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="740bcc4c-b621-458e-874e-034cf70965bc"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f7504a50-2748-434a-ae08-cff2f4f8035a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="75fd708e-78a9-442f-8ddb-913b8fd29cdf"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="cea579d4-35fa-4376-b791-8b91cbe05d3a"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="76990230-73ec-4026-8a28-871ac5b4edc6"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    </insert>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="77941d3d-e876-44b3-b824-3a075d7dd398"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c6fe5361-777d-4047-99dd-e8495ebb8c73"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONID" value="77a11bd3-a521-4701-b564-7f8b07000f0b"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="77f0f0bd-eaca-44ef-abfa-9156eac6eb7e"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="aa291e2a-646d-4b73-b826-85bd357fd5c0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="7884869d-85ab-458f-9078-e2dd7234be91"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d70e23a7-bc3c-43ae-8b2c-44d85fc7a2d3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+      <column name="CLASSIFICATIONID" value="79cc0205-25f8-44a9-b682-a31df2068e3f"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4e21e953-7146-43dd-a888-92d9f55f561e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="7d131f29-0430-44ad-b4ec-7044a67e0e3b"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a63b089c-f856-4513-8691-57422e400dc4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
+      <column name="CLASSIFICATIONID" value="80beaf88-415d-49da-ae0b-c4d6528747a2"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="813a990d-a17a-4481-a49d-7fb3a9c6513a"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
+      <column name="CLASSIFICATIONID" value="81d75e31-673b-426e-827f-c505b386ce0e"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9772b8f6-08c6-40aa-af16-df68bcecb77f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="81deaf11-9f63-4cc8-b83c-8711f5e3f734"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="83537aae-14a3-499f-a94b-9c630745110b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
       <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a1591490-e7c3-46b1-8d7e-843acbe93b41"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="83537aae-14a3-499f-a94b-9c630745110b"/>
       <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="76990230-73ec-4026-8a28-871ac5b4edc6"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="83d2e0f5-b7f5-4305-8da7-69e27da99f98"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="326d5aff-cb21-4bb6-9c32-7fcac48d175c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="84ca4de3-ba44-40b4-8727-c5e23861c2c9"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8d830242-7eb6-4185-b1cc-3e7977e6c340"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="8502a2c8-fb7e-44f2-91cb-3d44d2d50d98"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
-    
-  <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a5ce852a-83e6-4b0e-b3fa-310ea99c7e87"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+    <insert tableName="classification">
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="CLASSIFICATIONID" value="85b54389-50f9-4bd3-838b-d3941bda2cc1"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="fc10831b-65ea-4ecb-b52e-98c6f54b2a9a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="8b59888b-ba5c-4a77-b06d-d522037fe3b3"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="058a9ef7-adca-4278-840a-720665fa3cd3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="8c133476-7e1a-4120-8127-b45228bd5403"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f11eeaac-645d-416e-a50d-259f6ead0c30"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="8c792586-2d2d-41a3-933b-6f679dd4011e"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="cb7df4e3-e15c-4e65-92f4-ecd5cda09f95"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
       <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="8d830242-7eb6-4185-b1cc-3e7977e6c340"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="dccab9b9-5306-4325-896f-99646139b5ba"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="8f44739a-7103-4dd3-8f1f-25afbae07cd0"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="03bb8bbb-0644-4376-99fb-b21fc2807f14"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="8fbd5ec4-bb9a-4c33-aa8d-73185d4b0746"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5ce0c1b0-c040-462e-bd19-c8e109449b8e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="905cae71-9e4b-48f2-9de3-fcb8607d01a1"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a728d498-dd75-4b96-a5e5-cbdccd10b0b2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="91cd0603-ac46-420b-81d4-0e1c72a916bf"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b923621f-e48e-4a77-9f67-f63f5a0b0fbb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="9260ed8f-3b4a-4c5a-9077-0fe59105883b"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9c457191-c7c7-4a4f-bb91-8a48d27add92"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="9286af56-8942-4e30-8ed3-cde6bf2e77d5"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d6d64590-9299-4348-8e21-0cac9f84f51a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
+      <column name="CLASSIFICATIONID" value="93f4dfdf-b07b-4dc5-91a3-7db80cc314fc"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="da16c6c0-3bdf-4af5-b810-e85babe83e69"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONID" value="9452b219-64af-4c27-8f35-0ba81210abf3"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9fcf5382-f070-4698-a011-748c8584733b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="94a737b7-d4f6-4a13-b06b-05a225d9225b"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a0120295-79d1-429f-aef4-b9cce9c92de2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
+      <column name="CLASSIFICATIONID" value="94a83ec1-8e6d-4c1b-90a0-54eeac52277b"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="8c792586-2d2d-41a3-933b-6f679dd4011e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
+      <column name="CLASSIFICATIONID" value="94bbfbe5-136f-40f2-af1f-8a47e1414a8c"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="7d131f29-0430-44ad-b4ec-7044a67e0e3b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="95f0f027-799b-48fd-b1b5-49f70760a008"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5c1b2604-da33-4268-8400-5fb4b23c436b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="965bd86a-ad6d-4440-a7a3-e4bcf1b0a505"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="971cee9d-9b1f-4b57-9635-9bbfdb792958"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f25ef82a-6466-49c7-aa35-1f4d750218ca"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
+      <column name="CLASSIFICATIONID" value="9772b8f6-08c6-40aa-af16-df68bcecb77f"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="fd0fea13-2322-4664-bf15-8026a91bebd2"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
+      <column name="CLASSIFICATIONID" value="98d2e3c1-f308-4a7a-a12f-4d24b45d4db9"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a7b9862c-6a25-4bbc-92ec-7bfb25cdb6c0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="9aa3789c-bc9d-43cf-a121-2575090c2dc4"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="9af237aa-daa0-4195-a301-a815497a75b6"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="eba1581a-1235-4139-a33a-687513436777"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="9c457191-c7c7-4a4f-bb91-8a48d27add92"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c61069c1-fe41-4585-9d75-cef27d534ceb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
+      <column name="CLASSIFICATIONID" value="9cc46dc2-f40a-4c3b-aabd-c77858f5d770"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="CLASSIFICATIONID" value="9ea74c40-7732-4d0a-a489-f50bc60caf8b"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="81deaf11-9f63-4cc8-b83c-8711f5e3f734"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="CLASSIFICATIONID" value="9ec7bc3e-dc4c-40e4-bcee-bd59ab949d42"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a7d7fd5c-624c-4d64-929b-2b0eb146ab9d"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="9f5975c7-3df6-4fa4-87e4-7a1c0dbd967c"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d3b5f0ad-1a66-4eee-a40d-36daf317d510"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
+      <column name="CLASSIFICATIONID" value="9f85a0f0-6576-4077-99fc-953d8ab53352"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="597de33c-b223-4d55-bed7-aeb1d161fc2e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="9fcf5382-f070-4698-a011-748c8584733b"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6d3464fa-eadd-4afd-b4e1-3031726770d5"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="a0120295-79d1-429f-aef4-b9cce9c92de2"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1ac75382-0af9-42d2-8fe5-22295a93e8b3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="1f924d71-c500-4cdd-bc52-4718a6b88e45"/>
+      <column name="CLASSIFICATIONID" value="a027bccd-c894-443e-bdde-f32ee0b88285"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="522566b0-6eca-40bb-977c-c9a26f730890"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="a03201a8-0858-45e0-a0e2-9b70f5a35061"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="caaa6b4e-34e3-4337-b65f-abe761a8c24c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="a1591490-e7c3-46b1-8d7e-843acbe93b41"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e4d83d98-fcf8-402e-9d81-17f374654df7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
+      <column name="CLASSIFICATIONID" value="a28dd724-cd0b-48f4-afd5-840ddc611026"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="62b9dacc-7d6f-4e05-81f8-6a425e369489"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="a3081728-77d9-4c92-96b5-6fa21659a33f"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="77941d3d-e876-44b3-b824-3a075d7dd398"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
+      <column name="CLASSIFICATIONID" value="a3e22367-c33f-4f2c-ad0c-8f9eb6ab572a"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a03201a8-0858-45e0-a0e2-9b70f5a35061"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="a3e2d764-bd51-4f06-a0a0-0e5f4b37d41b"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3056c0b4-5e4b-4580-ab89-75ac80920415"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
       <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="a51c9515-80bc-4902-8d9b-115179ab40df"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="00c30050-c850-46b0-8e1d-d70f889655e3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="a5ce852a-83e6-4b0e-b3fa-310ea99c7e87"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="4444b22f-02d1-4e8f-9073-82d61eba18e0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="a63b089c-f856-4513-8691-57422e400dc4"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f5e4ebc2-e0a7-4ab0-b7e1-dc43c2913135"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="a653069f-927d-425a-8956-aeb15a2c4bc8"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b6ed4614-ea3d-4b2d-a9c3-44d146724b71"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="a69faa8d-afaa-40cd-97e6-65a851f5dde1"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e7a7da18-7283-4d75-ab9f-06f62972293c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="a728d498-dd75-4b96-a5e5-cbdccd10b0b2"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d6443737-e23b-42fa-81a8-d5e86636fb79"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="a76fcafb-a84d-4505-8c68-1b221482e292"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="94a737b7-d4f6-4a13-b06b-05a225d9225b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="a7b9862c-6a25-4bbc-92ec-7bfb25cdb6c0"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="319dec0d-5ed5-40f8-8c98-b912582a8817"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="a7d7fd5c-624c-4d64-929b-2b0eb146ab9d"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="22429945-9c82-493c-a0a6-ff31ecaa4b56"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a898ffe5-96ec-4eef-9e0c-6a2622fc74fc"/>
       <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="CLASSIFICATIONID" value="a898ffe5-96ec-4eef-9e0c-6a2622fc74fc"/>
       <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0f77577a-7a45-4c3f-be39-35ec364e8242"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="a8c2d3c5-423f-45fa-a8db-cd2ab59c5045"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="cf051c11-5f8e-401c-8e57-aabc55496eb8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="aa291e2a-646d-4b73-b826-85bd357fd5c0"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d18a0dec-5161-488d-958d-3d9ea88f32f3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="ac0944d2-b184-45f5-983a-6c873aadfb8e"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0359b7b8-7526-4165-8b01-e90403b206eb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
+      <column name="CLASSIFICATIONID" value="b06e62a0-53b0-4046-b024-b00293e632f2"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="91cd0603-ac46-420b-81d4-0e1c72a916bf"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="b1cb759c-f17c-4277-bee1-e50717d8934a"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="62cc115a-f80e-4a0f-899e-8060e9ed575e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
+      <column name="CLASSIFICATIONID" value="b38101bf-3d36-4509-9637-a428beb9999a"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="31a22039-ac7d-4bb9-9f36-d1f91c6c4052"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="b3846b7c-e70a-43fe-9637-ea74ed1fe0d7"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="289cea03-2c65-4557-b0f9-0dd29b26cecc"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="b49911f5-fccc-4dba-a46a-32fd56cf8b8f"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="e27e1f4b-bca2-4928-9652-950762723531"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
+      <column name="CLASSIFICATIONID" value="b6d36680-909d-4470-9bf4-0a8b8a7807b1"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="95f0f027-799b-48fd-b1b5-49f70760a008"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="b6ed4614-ea3d-4b2d-a9c3-44d146724b71"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="52c6bccc-1055-48dc-ad5d-311e80a12d2a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
+      <column name="CLASSIFICATIONID" value="b7d6e658-96b3-4664-b7db-139b73add7e3"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5dd419ab-971f-42fd-9bb6-2247a6b4175b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="b828dfb2-943a-4f81-b950-fbe4db3d19b7"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="beb7f0ec-3331-49f9-b440-0099f62205c0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="b923621f-e48e-4a77-9f67-f63f5a0b0fbb"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="359fddf8-baae-497f-8ad6-d2cab1438473"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="bb5ee550-320f-491a-a48f-b1ecf41ef90c"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2314864a-76f7-4fe9-a01f-c5be6ba0669e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="bc4a31b1-f2e2-4caf-8dcd-ac754c1d7290"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="203fb867-ee2f-4c01-8fb5-8e49da32be64"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="bc61586b-a63e-4d69-82ad-62b02ea2b28a"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a51c9515-80bc-4902-8d9b-115179ab40df"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="beb7f0ec-3331-49f9-b440-0099f62205c0"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9260ed8f-3b4a-4c5a-9077-0fe59105883b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="c179fe12-4bb0-495d-99d0-0159d0466bc0"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1a093afe-066e-4bbc-b6c9-b913ab8dfdc0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
+      <column name="CLASSIFICATIONID" value="c28d914e-ad91-4202-9fe6-0d0d41e53836"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="bc61586b-a63e-4d69-82ad-62b02ea2b28a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
+      <column name="CLASSIFICATIONID" value="c4dc8a62-edc1-4af6-b7c6-f91f6ab700c5"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="c58b5e5a-b4fe-4dec-a93d-79848e564b87"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="051e9f0f-fc99-4046-90b9-6cfb403844e9"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="c5d4a548-7a5a-4695-b746-526ef41f5035"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="32b4f1b2-6cc2-4702-a9e0-0a75184c5698"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
       <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="c61069c1-fe41-4585-9d75-cef27d534ceb"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f5dd89ed-f6ae-4676-aa83-906211570a5b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="CLASSIFICATIONID" value="c6fe5361-777d-4047-99dd-e8495ebb8c73"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b3846b7c-e70a-43fe-9637-ea74ed1fe0d7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONID" value="c7b46dff-956a-47e1-8a7f-7d3f56c81da1"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f60f8fe8-5ee9-43b4-a0cd-50b0f354bf79"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="CLASSIFICATIONID" value="c9208276-8f53-424d-821b-e37f041f864a"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="83d2e0f5-b7f5-4305-8da7-69e27da99f98"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="caaa6b4e-34e3-4337-b65f-abe761a8c24c"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="717dfb2c-2e2c-46c8-b72c-8d81e61b94c1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="cb7df4e3-e15c-4e65-92f4-ecd5cda09f95"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="0423c091-7e65-43eb-9ab3-f5a847350845"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="ccaea5d2-64c3-4255-9825-c91784ba5f54"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d9cce938-36d9-4a80-9bc2-9e37e6ed64ce"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
+      <column name="CLASSIFICATIONID" value="cd531b73-1390-498e-a83d-a50c964c24ea"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9ec7bc3e-dc4c-40e4-bcee-bd59ab949d42"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="cea579d4-35fa-4376-b791-8b91cbe05d3a"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="14f31249-544a-46f9-a2e4-c3bdcf3e49a3"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="cf051c11-5f8e-401c-8e57-aabc55496eb8"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="3807eda2-aa0f-4caf-b3ab-0ff341eb887b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="d03c3aa2-c97f-4bd4-b92f-7e09d594cdb8"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="36b1ed8c-a4d4-4203-aa20-52cf10f8d8a0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="CLASSIFICATIONID" value="d18a0dec-5161-488d-958d-3d9ea88f32f3"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d74914a9-05f6-4433-9121-87755b724fb4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="c9d4e28d-7935-42c5-9da5-5ce0b51b425a"/>
+      <column name="CLASSIFICATIONID" value="d33aeb65-0c28-48a1-9a81-105faa882a4c"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a69faa8d-afaa-40cd-97e6-65a851f5dde1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
       <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    
-    <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c179fe12-4bb0-495d-99d0-0159d0466bc0"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="d3932d83-8afe-47ff-aff9-7d23bd443669"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="ed2a3c86-814d-4212-a2da-5875d0d3c598"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="d3b5f0ad-1a66-4eee-a40d-36daf317d510"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="688cdc0d-d1a7-46ad-95c3-7503c054ee2c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="f02cfd28-5a09-42ca-b805-07b7b38e3363"/>
+      <column name="CLASSIFICATIONID" value="d5db188e-4e30-4179-8c3a-339bc16fa2ab"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="77f0f0bd-eaca-44ef-abfa-9156eac6eb7e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="d6443737-e23b-42fa-81a8-d5e86636fb79"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9f5975c7-3df6-4fa4-87e4-7a1c0dbd967c"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="CLASSIFICATIONID" value="d6bf1068-83a5-4bcc-9d97-2efc72cc57a8"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="d03c3aa2-c97f-4bd4-b92f-7e09d594cdb8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="d6d64590-9299-4348-8e21-0cac9f84f51a"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6800e69f-33b1-44ae-b3a2-d7362bfddbf8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+      <column name="CLASSIFICATIONID" value="d70e23a7-bc3c-43ae-8b2c-44d85fc7a2d3"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="218f1794-26e6-45f2-a26d-98185a49bf4f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="d74914a9-05f6-4433-9121-87755b724fb4"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="f738a3d6-b4e0-491e-8d51-a83ce039fbc8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="d9cce938-36d9-4a80-9bc2-9e37e6ed64ce"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a653069f-927d-425a-8956-aeb15a2c4bc8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="da16c6c0-3bdf-4af5-b810-e85babe83e69"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a8c2d3c5-423f-45fa-a8db-cd2ab59c5045"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
+      <column name="CLASSIFICATIONID" value="da44d022-9ea6-4fcb-9491-c5b7236c642f"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="dccab9b9-5306-4325-896f-99646139b5ba"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="fa07168c-6aa5-4b9d-935e-6ece6e1c5bdb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="ddb5083d-9410-4b9c-82a4-496370b868e3"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="14148c9a-8afb-42ad-a4c5-d1102241e9f8"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONID" value="dfaec9c0-d9fa-4362-a955-341addc3a76d"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2b0e75e0-0a36-4397-988d-2ae60e5d2658"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="a177b155-4665-4af1-b50e-0b59e8ac2752"/>
+      <column name="CLASSIFICATIONID" value="e10a5ecb-b0f3-4b08-a380-de1a04fbc87f"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+      <column name="CLASSIFICATIONID" value="e14fd7cc-abca-4296-bbd6-d9605d1e6f00"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b828dfb2-943a-4f81-b950-fbe4db3d19b7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="CLASSIFICATIONID" value="e27e1f4b-bca2-4928-9652-950762723531"/>
+      <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5a5e780b-01af-4a0f-bcd6-74c0c588210a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="e4d83d98-fcf8-402e-9d81-17f374654df7"/>
+      <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="1dc7de76-80d9-4240-97ae-cab241301a68"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="e567dc3e-fb98-4b17-b503-499497b691a6"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="a76fcafb-a84d-4505-8c68-1b221482e292"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="e7a7da18-7283-4d75-ab9f-06f62972293c"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9ea74c40-7732-4d0a-a489-f50bc60caf8b"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
+      <column name="CLASSIFICATIONID" value="e90c4086-db5f-4099-ba26-67799eb25e44"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="CLASSIFICATIONID" value="eba1581a-1235-4139-a33a-687513436777"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="2c644b64-0404-4eac-841c-d8579ff25fa6"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
       <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="ed2a3c86-814d-4212-a2da-5875d0d3c598"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="ac0944d2-b184-45f5-983a-6c873aadfb8e"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="CLASSIFICATIONID" value="efe87026-b813-4bb7-a3c8-4ef72e2076b8"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="5bb5e000-5bba-4895-a5b8-374c2c5bd3a4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="CLASSIFICATIONID" value="f11eeaac-645d-416e-a50d-259f6ead0c30"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b49911f5-fccc-4dba-a46a-32fd56cf8b8f"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="CLASSIFICATIONID" value="f25ef82a-6466-49c7-aa35-1f4d750218ca"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+    </insert>
+    <insert tableName="classification">
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
+      <column name="CLASSIFICATIONID" value="f47c0ea2-3a6d-4d7b-8f89-bb2d9799fd0e"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="65f45f0d-ab41-4a83-b5f7-795dc21d0fd4"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="CLASSIFICATIONID" value="f5dd89ed-f6ae-4676-aa83-906211570a5b"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="13f634ef-70ba-440b-91af-e6324cdb20bb"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="f5e4ebc2-e0a7-4ab0-b7e1-dc43c2913135"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="555a280b-a2e4-4eb5-bbec-87bca3987395"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
       <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="f60f8fe8-5ee9-43b4-a0cd-50b0f354bf79"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="c58b5e5a-b4fe-4dec-a93d-79848e564b87"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="f7118dce-dac9-4821-a709-bb7e9db8170a"/>
+      <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
     </insert>
-    
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="85b54389-50f9-4bd3-838b-d3941bda2cc1"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="CLASSIFICATIONID" value="f724bcdf-ac46-4296-be41-2febc7747ce1"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="9286af56-8942-4e30-8ed3-cde6bf2e77d5"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="CLASSIFICATIONID" value="f738a3d6-b4e0-491e-8d51-a83ce039fbc8"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="445ccf23-4d44-489a-8054-b46194e104e7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="CLASSIFICATIONID" value="f7504a50-2748-434a-ae08-cff2f4f8035a"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="46065d3f-a811-430d-8fa2-e048aee894c7"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="2119cb62-b57c-40be-aff8-ace8e40378d4"/>
+      <column name="CLASSIFICATIONID" value="f7f7022f-57a2-4944-a9d3-e092e1be43b3"/>
+      <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="7884869d-85ab-458f-9078-e2dd7234be91"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="CLASSIFICATIONID" value="fa07168c-6aa5-4b9d-935e-6ece6e1c5bdb"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="6a6dfe13-6fcc-4ae9-b12b-dced4a55daef"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
+      <column name="CLASSIFICATIONID" value="fbc32ea9-8350-463a-846e-71a30851f15a"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="740bcc4c-b621-458e-874e-034cf70965bc"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="fc10831b-65ea-4ecb-b52e-98c6f54b2a9a"/>
+      <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="20092371-2723-45e2-aae0-3a697b1265fc"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="CLASSIFICATIONID" value="fcdedb8a-a863-47a8-93af-379c451fedb0"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="classification">
-      <column name="CLASSIFICATIONID" value="b1cb759c-f17c-4277-bee1-e50717d8934a"/>
-      <column name="CLASSIFICATIONSCORE_ID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONSCORE_ID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="CLASSIFICATIONID" value="fd0fea13-2322-4664-bf15-8026a91bebd2"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgrading.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgrading.xml
index ad66344241..26547da7c1 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgrading.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgrading.xml
@@ -1,127 +1,126 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="2365bd93-fb40-4701-b3c2-4c7fd483261">
+  <changeSet author="autogenerated" id="93e9cf02-abc4-4e98-9717-c63f1785124c">
     <delete tableName="classificationgrading"/>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="68dd4d91-d472-477d-935c-70cbe5606c51"/>
-      <column name="GRADING" value="A"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="GRADING" value="C"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
+      <column name="CLASSIFICATIONGRADINGID" value="03aa277d-873b-4913-9051-d44aa4f77627"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="9437f368-bea1-47f4-b76e-d6a391af438d"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
+      <column name="GRADING" value="C"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
+      <column name="CLASSIFICATIONGRADINGID" value="14da2618-88be-425c-92c3-68d8584aa0bf"/>
+    </insert>
+    <insert tableName="classificationgrading">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
       <column name="GRADING" value="B"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
+      <column name="CLASSIFICATIONGRADINGID" value="29226adf-eb79-4696-a4b8-7be73c9488e6"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="348a2af8-ec01-4a58-8ff6-5e3a837852a4"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="GRADING" value="C"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
+      <column name="CLASSIFICATIONGRADINGID" value="348a2af8-ec01-4a58-8ff6-5e3a837852a4"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="9a823957-0ca9-4972-95df-d894d4e4fc25"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
+      <column name="GRADING" value="A"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
+      <column name="CLASSIFICATIONGRADINGID" value="4ef54a02-ddf8-4238-b9fd-f5a043032b7d"/>
+    </insert>
+    <insert tableName="classificationgrading">
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
       <column name="GRADING" value="D"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
+      <column name="CLASSIFICATIONGRADINGID" value="5e46e499-00c2-4cc2-9f4c-952290484623"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="4ef54a02-ddf8-4238-b9fd-f5a043032b7d"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
+      <column name="GRADING" value="D"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
+      <column name="CLASSIFICATIONGRADINGID" value="5e5c3ffe-3fa6-41e3-8659-1b03e7e1a1cd"/>
+    </insert>
+    <insert tableName="classificationgrading">
+      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="GRADING" value="A"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
+      <column name="CLASSIFICATIONGRADINGID" value="68dd4d91-d472-477d-935c-70cbe5606c51"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="748ef65c-af41-42d8-8ac4-480bc9390591"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
       <column name="GRADING" value="B"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
+      <column name="CLASSIFICATIONGRADINGID" value="748ef65c-af41-42d8-8ac4-480bc9390591"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="8e73dd97-4428-4316-882d-7b2af56330ef"/>
-      <column name="GRADING" value="C"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
       <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
-    </insert>
-    <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="76af9750-a714-4a35-bfd2-6eab3c316e5b"/>
       <column name="GRADING" value="D"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
+      <column name="CLASSIFICATIONGRADINGID" value="76af9750-a714-4a35-bfd2-6eab3c316e5b"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="c021718f-b6ca-4d4d-87f7-e4450d103fe2"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
       <column name="GRADING" value="A"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
-    </insert>
-    <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="8f702450-83fc-4085-92c2-ac09f96dcd6b"/>
-      <column name="GRADING" value="B"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
-    </insert>
-    <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="14da2618-88be-425c-92c3-68d8584aa0bf"/>
-      <column name="GRADING" value="C"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
+      <column name="CLASSIFICATIONGRADINGID" value="7afd58ad-6eae-4d6b-8d4b-2ca4bdd177e6"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="5e5c3ffe-3fa6-41e3-8659-1b03e7e1a1cd"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
       <column name="GRADING" value="D"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
+      <column name="CLASSIFICATIONGRADINGID" value="8408ca43-a4dc-4767-8127-e52c08276815"/>
     </insert>
-    
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="5e46e499-00c2-4cc2-9f4c-952290484623"/>
-      <column name="GRADING" value="D"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
       <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="GRADING" value="C"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
+      <column name="CLASSIFICATIONGRADINGID" value="8c982beb-bc53-4bcf-8b76-7ee919bbf653"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="8c982beb-bc53-4bcf-8b76-7ee919bbf653"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
       <column name="GRADING" value="C"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="CLASSIFICATIONGRADINGID" value="8e73dd97-4428-4316-882d-7b2af56330ef"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="a89c81df-9380-41b1-9c7c-52d3a1862ac7"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="GRADING" value="B"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="CLASSIFICATIONGRADINGID" value="8f702450-83fc-4085-92c2-ac09f96dcd6b"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="7afd58ad-6eae-4d6b-8d4b-2ca4bdd177e6"/>
-      <column name="GRADING" value="A"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
+      <column name="GRADING" value="B"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
+      <column name="CLASSIFICATIONGRADINGID" value="9437f368-bea1-47f4-b76e-d6a391af438d"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="8408ca43-a4dc-4767-8127-e52c08276815"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="GRADING" value="D"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="25"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-    </insert>
-    <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="03aa277d-873b-4913-9051-d44aa4f77627"/>
-      <column name="GRADING" value="C"/>
-      <column name="MAXGRADEFORSCORE" valueNumeric="50"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="CLASSIFICATIONGRADINGID" value="9a823957-0ca9-4972-95df-d894d4e4fc25"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="29226adf-eb79-4696-a4b8-7be73c9488e6"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
       <column name="GRADING" value="B"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="75"/>
-      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="CLASSIFICATIONGRADINGID" value="a89c81df-9380-41b1-9c7c-52d3a1862ac7"/>
     </insert>
     <insert tableName="classificationgrading">
-      <column name="CLASSIFICATIONGRADINGID" value="f8e1c5a4-b0d0-4b73-9700-11ff916adfdd"/>
+      <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="GRADING" value="A"/>
       <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
+      <column name="CLASSIFICATIONGRADINGID" value="c021718f-b6ca-4d4d-87f7-e4450d103fe2"/>
+    </insert>
+    <insert tableName="classificationgrading">
       <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="GRADING" value="A"/>
+      <column name="MAXGRADEFORSCORE" valueNumeric="100"/>
+      <column name="CLASSIFICATIONGRADINGID" value="f8e1c5a4-b0d0-4b73-9700-11ff916adfdd"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgroup.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgroup.xml
index 73d7c48a4d..61598f100b 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgroup.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationgroup.xml
@@ -1,31 +1,31 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="c71ca120-5de6-4a44-a795-1127653c25df">
+  <changeSet author="autogenerated" id="284cc44f-516c-4f51-af74-66aa3b82e011">
     <delete tableName="classificationgroup"/>
     <insert tableName="classificationgroup">
       <column name="CLASSIFICATIONGROUPID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
-      <column name="TITLE" value="1. Classification"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="TITLE" value="1. Classification"/>
     </insert>
     <insert tableName="classificationgroup">
       <column name="CLASSIFICATIONGROUPID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
-      <column name="TITLE" value="2. Classification"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="TITLE" value="2. Classification"/>
     </insert>
     <insert tableName="classificationgroup">
       <column name="CLASSIFICATIONGROUPID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
-      <column name="TITLE" value="3. Classification"/>
       <column name="SORTING" valueNumeric="3"/>
+      <column name="TITLE" value="3. Classification"/>
     </insert>
     <insert tableName="classificationgroup">
       <column name="CLASSIFICATIONGROUPID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
-      <column name="TITLE" value="1. Target group"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="TITLE" value="1. Target group"/>
     </insert>
     <insert tableName="classificationgroup">
       <column name="CLASSIFICATIONGROUPID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-      <column name="TITLE" value="2. Customer value"/>
       <column name="SORTING" valueNumeric="2"/>
-    </insert> 
+      <column name="TITLE" value="2. Customer value"/>
+    </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
index 8f15269199..c5de6229ea 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationscore.xml
@@ -1,722 +1,720 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="9a46a079-1622-40db-9d1c-38272b4c4ba0">
+  <changeSet author="autogenerated" id="f340e2da-d636-426a-8662-fa08a3b5f82c">
     <delete tableName="classificationscore"/>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="01840c9d-2856-4882-a12a-303e58fd9d30"/>
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="01840c9d-2856-4882-a12a-303e58fd9d30"/>
       <column name="SORT" valueNumeric="50"/>
       <column name="TITLE" value="Purchasing"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="0803779b-73d8-47b3-9705-f5771c01e6a3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="100-199 D€"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="0803779b-73d8-47b3-9705-f5771c01e6a3"/>
       <column name="SORT" valueNumeric="140"/>
       <column name="TITLE" value="Automotive"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="10419ecc-335b-43c3-a1e3-8ecfbeda6f2b"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="08764209-9b5e-4893-96d0-e2a347bccf60"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="low"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="09559e61-09ed-4f85-b0cb-fa7b0c66e488"/>
+      <column name="SORT" valueNumeric="150"/>
+      <column name="TITLE" value="Publishing house"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="0b671383-ecc3-440c-aff4-ff485da2755d"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="medium"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="10419ecc-335b-43c3-a1e3-8ecfbeda6f2b"/>
       <column name="SORT" valueNumeric="60"/>
       <column name="TITLE" value="Project management"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="11418754-1667-437b-816b-adec4b9291f3"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="107c199b-b315-4093-add5-48c496794bc9"/>
+      <column name="SORT" valueNumeric="110"/>
+      <column name="TITLE" value="Lottery"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="11418754-1667-437b-816b-adec4b9291f3"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="No project planned"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="1bc2b2aa-2582-4b0c-a2f8-04125b82ba33"/>
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="1bc2b2aa-2582-4b0c-a2f8-04125b82ba33"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="Service"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="1f924d71-c500-4cdd-bc52-4718a6b88e45"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="1f924d71-c500-4cdd-bc52-4718a6b88e45"/>
       <column name="SORT" valueNumeric="70"/>
       <column name="TITLE" value="Consultation"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="2a516661-537d-473e-864a-c2f721b96a42"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="SCORE" valueNumeric="25.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="206fd02f-68ec-42f2-83d1-92848f51dc1a"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="Switzerland"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2119cb62-b57c-40be-aff8-ace8e40378d4"/>
+      <column name="SORT" valueNumeric="120"/>
+      <column name="TITLE" value="Education"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
+      <column name="SORT" valueNumeric="180"/>
+      <column name="TITLE" value="Service"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2745d6c3-fffb-4f72-8bc2-92439a14e919"/>
+      <column name="SORT" valueNumeric="40"/>
+      <column name="TITLE" value="Other"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="0-49 D€"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="2a516661-537d-473e-864a-c2f721b96a42"/>
       <column name="SORT" valueNumeric="180"/>
       <column name="TITLE" value="Service"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="2f3b6088-d78f-4fba-998d-b18a6b981485"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2cd8d11f-ee3f-429b-a16a-7839cf30b62d"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="51-100"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2f3b6088-d78f-4fba-998d-b18a6b981485"/>
       <column name="SORT" valueNumeric="170"/>
       <column name="TITLE" value="Environment"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2f4fddd2-be83-4190-99c3-6de8a7e328c5"/>
       <column name="SORT" valueNumeric="50"/>
       <column name="TITLE" value="0 to 49T"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="2fdb4d7e-24d5-4eb1-a130-3a0aaeebd8db"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Germany"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="3035e36e-ee6a-45d1-9d68-920cd3666362"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="3035e36e-ee6a-45d1-9d68-920cd3666362"/>
       <column name="SORT" valueNumeric="70"/>
       <column name="TITLE" value="Student/Internship"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="35d8ae15-8993-4ab2-99f6-e57c2ebf0bb3"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="35d8ae15-8993-4ab2-99f6-e57c2ebf0bb3"/>
       <column name="SORT" valueNumeric="80"/>
       <column name="TITLE" value="Food"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="39547328-ccc6-47ad-b31a-d6a149081c44"/>
       <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="39547328-ccc6-47ad-b31a-d6a149081c44"/>
       <column name="SORT" valueNumeric="50"/>
       <column name="TITLE" value="0 to 49"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
       <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORE" valueNumeric="30.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="3c9ceefa-5c98-4629-9c6d-d46b6cad8b78"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="251 to 1,000"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
       <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="SCORE" valueNumeric="25.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="3dc5fc76-d2d5-4911-891a-3aacc5a9c925"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Yes"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
       <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
       <column name="SCORE" valueNumeric="12.50"/>
+      <column name="CLASSIFICATIONSCOREID" value="3e1e21b0-c10d-4bcb-882c-ac1b239b9cb2"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Standard"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="Machinery and equipment"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="50.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="3fe9f04b-6a85-4a73-a138-ca90b6d8e61c"/>
       <column name="SORT" valueNumeric="190"/>
       <column name="TITLE" value="Public"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="41300a6c-8dc7-4b5a-9fb1-cecd3d5cbb8c"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="41300a6c-8dc7-4b5a-9fb1-cecd3d5cbb8c"/>
       <column name="SORT" valueNumeric="160"/>
       <column name="TITLE" value="Electric"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="41d43723-7d19-4a7e-936a-df9013db7dfb"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="50.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="41d43723-7d19-4a7e-936a-df9013db7dfb"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="Logistics"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="high"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="Commodity group 1"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="7.50"/>
+      <column name="CLASSIFICATIONSCOREID" value="47ec3dbf-f8f6-4418-8dc2-0062510c1a28"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Sales"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="56a56ec0-34c1-419f-81c2-1c1310d685d2"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="high"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
+      <column name="SORT" valueNumeric="130"/>
+      <column name="TITLE" value="Trade"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="0-50"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="Negative"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="SCORE" valueNumeric="25.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="101-250"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="low"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="56a56ec0-34c1-419f-81c2-1c1310d685d2"/>
       <column name="SORT" valueNumeric="120"/>
       <column name="TITLE" value="Education"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="5ca391a5-9de8-41e6-9792-17cf8deaa7e7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="high"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="5ca391a5-9de8-41e6-9792-17cf8deaa7e7"/>
       <column name="SORT" valueNumeric="90"/>
       <column name="TITLE" value="Energy"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="61fe4e4f-e64d-4195-87b5-658f36ce1736"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="Logistics"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
       <column name="SCORE" valueNumeric="25.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="61fe4e4f-e64d-4195-87b5-658f36ce1736"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Individual"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="636af750-fcd3-4480-bfe7-ead42bf85280"/>
       <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="SCORE" valueNumeric="30.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="636af750-fcd3-4480-bfe7-ead42bf85280"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Choice"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="6bd19de4-691b-4e78-84dc-cf6f41231978"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="6632b510-7094-45d6-b7ef-946e759429a3"/>
+      <column name="SORT" valueNumeric="140"/>
+      <column name="TITLE" value="Automotive"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="6bd19de4-691b-4e78-84dc-cf6f41231978"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Management/Sales Manager"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="6d6653ae-024e-444c-aeae-561874d55569"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="6d6653ae-024e-444c-aeae-561874d55569"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="50 to 99T"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="7d6f716a-97c7-417b-a8c0-3cb71e403dde"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="6fe28489-2383-412b-9bbd-4f01a9421775"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="medium"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="733323d6-ff3d-4ccb-b179-ad1fea05dfe8"/>
+      <column name="SORT" valueNumeric="40"/>
+      <column name="TITLE" value="200-349 D€"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="7d6f716a-97c7-417b-a8c0-3cb71e403dde"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="Other"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="7e569319-5885-452e-9331-a507f3365236"/>
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="7e569319-5885-452e-9331-a507f3365236"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Overarching"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="90361317-d80e-4466-a45b-3021bf02e2f9"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="839cd672-5981-4207-8a82-caddd00107e4"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="50-99 D€"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
+      <column name="SCORE" valueNumeric="0.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="low"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="SCORE" valueNumeric="35.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="8d7bc557-e020-42c9-83d9-ff84fcbd12b7"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="Austria"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="90361317-d80e-4466-a45b-3021bf02e2f9"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="101 to 250"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="9a3183db-8a38-4cf1-a234-3e2cf20a4f77"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
-      <column name="SCORE" valueNumeric="33.30"/>
-      <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="IT"/>
-    </insert>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="904e2dbe-49a1-42a0-a5db-0f274334dd7f"/>
+      <column name="SORT" valueNumeric="160"/>
+      <column name="TITLE" value="Electric"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="9181a683-dcab-47fc-af7b-e282505348d6"/>
+      <column name="SORT" valueNumeric="90"/>
+      <column name="TITLE" value="Energy"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
+      <column name="SORT" valueNumeric="40"/>
+      <column name="TITLE" value="251-1000"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="92c8f126-b31e-4011-bbf0-cb5e57bfc3e5"/>
+      <column name="SORT" valueNumeric="60"/>
+      <column name="TITLE" value="Finance"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
+      <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="9a3183db-8a38-4cf1-a234-3e2cf20a4f77"/>
+      <column name="SORT" valueNumeric="40"/>
+      <column name="TITLE" value="IT"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="9ac96400-9c47-4d4f-be5b-e053f92a54ce"/>
+      <column name="SORT" valueNumeric="40"/>
+      <column name="TITLE" value="IT"/>
+    </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
       <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="a0c55ee2-0d15-4779-a5a6-93774d5bc393"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="OnPremise"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="a0fcd2e2-40c8-40b8-8a5b-e591154c248a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="a0fcd2e2-40c8-40b8-8a5b-e591154c248a"/>
       <column name="SORT" valueNumeric="110"/>
       <column name="TITLE" value="Lottery"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="a177b155-4665-4af1-b50e-0b59e8ac2752"/>
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="SCORE" valueNumeric="7.50"/>
+      <column name="CLASSIFICATIONSCOREID" value="a177b155-4665-4af1-b50e-0b59e8ac2752"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="Switzerland"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="a61e3451-296b-4812-a7b2-425963176f80"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="SCORE" valueNumeric="25.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="Positive"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="a61e3451-296b-4812-a7b2-425963176f80"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Cloud"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="a7e70abc-4d98-467d-a475-66bbd101de1d"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="a7e70abc-4d98-467d-a475-66bbd101de1d"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Head of IT"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="b1c55bcd-16c6-4b2f-8f73-e16397b40e93"/>
       <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORE" valueNumeric="30.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="b1c55bcd-16c6-4b2f-8f73-e16397b40e93"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="from 1,000"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="SCORE" valueNumeric="30.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="b3792b08-4b07-4ed2-9bee-4673182b7349"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Within 6 months"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
+      <column name="SORT" valueNumeric="30"/>
+      <column name="TITLE" value="Commodity group 3"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+      <column name="SCORE" valueNumeric="35.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
+      <column name="SORT" valueNumeric="10"/>
+      <column name="TITLE" value="Germany"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORE" valueNumeric="30.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="ba5d70c3-e77a-45ff-828b-7b3e0a61eec2"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="200 to 349T"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="bf44ae05-a4c4-4ee9-ad6e-7d64474afeff"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="16.60"/>
+      <column name="CLASSIFICATIONSCOREID" value="bf44ae05-a4c4-4ee9-ad6e-7d64474afeff"/>
       <column name="SORT" valueNumeric="60"/>
       <column name="TITLE" value="Finance"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="bf6b1757-11da-49a9-a02c-8340139968ee"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="Service Manager"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="c328cb9e-5cef-4052-a3c1-98e1898eeb63"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="No date yet"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="c6300eeb-0494-4eba-89b1-23afdbb397e9"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="c6300eeb-0494-4eba-89b1-23afdbb397e9"/>
       <column name="SORT" valueNumeric="150"/>
       <column name="TITLE" value="Publishing house"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="c9d4e28d-7935-42c5-9da5-5ce0b51b425a"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="c9d4e28d-7935-42c5-9da5-5ce0b51b425a"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="CRM Manager"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="d032f425-5739-4f0c-8103-e102fe0d3ccf"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+      <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="cddaf52d-37b7-426c-b858-c986e58544e6"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="Stagnated"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d032f425-5739-4f0c-8103-e102fe0d3ccf"/>
       <column name="SORT" valueNumeric="50"/>
       <column name="TITLE" value="Skilled workers"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d0f5c576-e1cd-463e-82d2-e09c46ccb2a0"/>
+      <column name="SORT" valueNumeric="20"/>
+      <column name="TITLE" value="medium"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d2a75f81-d0b3-48ce-be97-5e6add962cbb"/>
+      <column name="SORT" valueNumeric="70"/>
+      <column name="TITLE" value="Consultation"/>
+    </insert>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d578aa09-5d14-4ace-8cd0-572c5efcd82e"/>
+      <column name="SORT" valueNumeric="50"/>
+      <column name="TITLE" value="ab 1000"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="SCORE" valueNumeric="15.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d5beb18f-c53e-438d-8b0b-7699aa20fba7"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Rate"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="d7d807a2-8a97-4a0e-9d1c-fb8c7a703599"/>
       <column name="CLASSIFICATIONTYPE_ID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="d7d807a2-8a97-4a0e-9d1c-fb8c7a703599"/>
       <column name="SORT" valueNumeric="40"/>
       <column name="TITLE" value="50 to 100"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="e6ab210e-6a26-4a12-9d50-ff8bd392c590"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
+      <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="df7ea293-1fd6-4e98-ba3f-7d975fa8eaeb"/>
+      <column name="SORT" valueNumeric="170"/>
+      <column name="TITLE" value="Environment"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="e6ab210e-6a26-4a12-9d50-ff8bd392c590"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="Search"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
       <column name="CLASSIFICATIONTYPE_ID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="SCORE" valueNumeric="12.50"/>
+      <column name="CLASSIFICATIONSCOREID" value="e70a23b4-f2a9-4438-8ba6-742c6c17e5cc"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="No"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="e824d7e3-dfbe-4f34-a5c7-8f2226aade7e"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="e824d7e3-dfbe-4f34-a5c7-8f2226aade7e"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="100 to 199T"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="e8741cb0-9ada-48dd-89d1-f00a1a755c38"/>
       <column name="CLASSIFICATIONTYPE_ID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="e8741cb0-9ada-48dd-89d1-f00a1a755c38"/>
       <column name="SORT" valueNumeric="60"/>
       <column name="TITLE" value="Counsellor"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="ec51d975-bda6-415e-9b91-32f0e981ecd8"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="50.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="ec51d975-bda6-415e-9b91-32f0e981ecd8"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Building and construction suppliers"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="ecf421ef-66b2-4f9f-98c6-ee8a73e753da"/>
       <column name="CLASSIFICATIONTYPE_ID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="ecf421ef-66b2-4f9f-98c6-ee8a73e753da"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Austria"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="ed6a38f7-97bf-4e3d-a34c-4a1e636fa6a7"/>
       <column name="CLASSIFICATIONTYPE_ID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORE" valueNumeric="50.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="ed6a38f7-97bf-4e3d-a34c-4a1e636fa6a7"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="from 350T"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="efec90bd-c99f-49d9-bd52-df0ae6f938a3"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="50.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="efec90bd-c99f-49d9-bd52-df0ae6f938a3"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="Machinery and equipment"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
+      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
+      <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="f02cfd28-5a09-42ca-b805-07b7b38e3363"/>
+      <column name="SORT" valueNumeric="50"/>
+      <column name="TITLE" value="ab 350 D€"/>
+    </insert>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORE" valueNumeric="5.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="f1534026-34cc-4898-8711-41cbe4accb60"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="Marketing"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="f678b3e0-72c4-4b48-90c0-054bf3612dc2"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="f678b3e0-72c4-4b48-90c0-054bf3612dc2"/>
       <column name="SORT" valueNumeric="130"/>
       <column name="TITLE" value="Trade"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="fae1ef0a-5d07-4725-907f-4b2ac5814328"/>
       <column name="CLASSIFICATIONTYPE_ID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORE" valueNumeric="33.30"/>
+      <column name="CLASSIFICATIONSCOREID" value="fae1ef0a-5d07-4725-907f-4b2ac5814328"/>
       <column name="SORT" valueNumeric="100"/>
       <column name="TITLE" value="Industry"/>
     </insert>
     <insert tableName="classificationscore">
-      <column name="CLASSIFICATIONSCOREID" value="fb8cb769-d95b-468a-ac64-7ee0cefd46a7"/>
       <column name="CLASSIFICATIONTYPE_ID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="SCORE" valueNumeric="20.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="fb8cb769-d95b-468a-ac64-7ee0cefd46a7"/>
       <column name="SORT" valueNumeric="20"/>
       <column name="TITLE" value="unknown"/>
     </insert>
-    
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="2cd8d11f-ee3f-429b-a16a-7839cf30b62d"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="51-100"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="4d868dc5-747a-4f22-9134-638198d3084a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="0-50"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="92708239-fd7f-4699-8aaa-b6290fedaac0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="SCORE" valueNumeric="15.00"/>
-      <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="251-1000"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="d578aa09-5d14-4ace-8cd0-572c5efcd82e"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="50"/>
-      <column name="TITLE" value="from 1000"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="51575eb6-4005-42d2-96f3-b35dfd06a86b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-      <column name="SCORE" valueNumeric="25.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="101-250"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="47ca5b54-423f-4bf1-a4d6-a0c55a2488e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="Commodity group 1"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="fd8a348a-dc1f-414b-b95e-b1a6aeb9a8d4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="Commodity group 2"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="b41e180f-db8c-44c3-9fbb-179ab58d5852"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="Commodity group 3"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="206fd02f-68ec-42f2-83d1-92848f51dc1a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="SCORE" valueNumeric="25.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="Switzerland"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="8d7bc557-e020-42c9-83d9-ff84fcbd12b7"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="SCORE" valueNumeric="35.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="Austria"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="2745d6c3-fffb-4f72-8bc2-92439a14e919"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="Other"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="b7b763d4-994d-483d-9a1c-6eb85786d61a"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-      <column name="SCORE" valueNumeric="35.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="Germany"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="9181a683-dcab-47fc-af7b-e282505348d6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="90"/>
-      <column name="TITLE" value="Energy"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="3eb18b76-f51e-4ad2-9080-74b4a603667b"/>
+    <insert tableName="classificationscore">
       <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
       <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="Machinery and equipment"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="618bf0d1-18d4-4a96-900c-80a5a616da9b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="Logistics"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="4c8cfcec-f183-4d82-8a59-ae743ec772b4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="130"/>
-      <column name="TITLE" value="Trade"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="6632b510-7094-45d6-b7ef-946e759429a3"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="140"/>
-      <column name="TITLE" value="Automotive"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="22581c2e-bb4d-43cb-b6b3-80244425e209"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="180"/>
-      <column name="TITLE" value="Service"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
       <column name="CLASSIFICATIONSCOREID" value="fd022500-4cbc-461f-abb9-b0ec3d8e1dd1"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="5.00"/>
       <column name="SORT" valueNumeric="80"/>
       <column name="TITLE" value="Food"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="904e2dbe-49a1-42a0-a5db-0f274334dd7f"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="160"/>
-      <column name="TITLE" value="Electric"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="9ac96400-9c47-4d4f-be5b-e053f92a54ce"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="IT"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="09559e61-09ed-4f85-b0cb-fa7b0c66e488"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="15.00"/>
-      <column name="SORT" valueNumeric="150"/>
-      <column name="TITLE" value="Publishing house"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="d2a75f81-d0b3-48ce-be97-5e6add962cbb"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="15.00"/>
-      <column name="SORT" valueNumeric="70"/>
-      <column name="TITLE" value="Consultation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="92c8f126-b31e-4011-bbf0-cb5e57bfc3e5"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="60"/>
-      <column name="TITLE" value="Finance"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="107c199b-b315-4093-add5-48c496794bc9"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="110"/>
-      <column name="TITLE" value="Lottery"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="df7ea293-1fd6-4e98-ba3f-7d975fa8eaeb"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="170"/>
-      <column name="TITLE" value="Environment"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="2119cb62-b57c-40be-aff8-ace8e40378d4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="120"/>
-      <column name="TITLE" value="Education"/>
-    </insert>
-    
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="4285d598-06c0-435d-bb5e-28dec5f31521"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="SCORE" valueNumeric="15.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="high"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="5564a330-8c13-424f-a24b-5f97185a9036"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="low"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="d0f5c576-e1cd-463e-82d2-e09c46ccb2a0"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="medium"/>
-    </insert>
-      <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="893720f9-3780-4868-af0c-cbef5a564024"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="low"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="0b671383-ecc3-440c-aff4-ff485da2755d"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="medium"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="5be4d454-1f3e-4a3d-b8a4-3eb49ce1bc35"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="high"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="29134094-66f2-4331-9f14-fc6a27ab111e"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="0-49 €"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="07f21cf8-c369-45f3-88fe-40ca586ed11b"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="100-199 €"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="733323d6-ff3d-4ccb-b179-ad1fea05dfe8"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="SCORE" valueNumeric="15.00"/>
-      <column name="SORT" valueNumeric="40"/>
-      <column name="TITLE" value="200-349 €"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="839cd672-5981-4207-8a82-caddd00107e4"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="50-99 €"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="f02cfd28-5a09-42ca-b805-07b7b38e3363"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="50"/>
-      <column name="TITLE" value="from 350 €"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="4982ab85-0961-4d85-8fee-2b55887add96"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="SCORE" valueNumeric="5.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="high"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="08764209-9b5e-4893-96d0-e2a347bccf60"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="SCORE" valueNumeric="20.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="low"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="6fe28489-2383-412b-9bbd-4f01a9421775"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-      <column name="SCORE" valueNumeric="10.00"/>
-      <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="medium"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="cddaf52d-37b7-426c-b858-c986e58544e6"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+    <insert tableName="classificationscore">
+      <column name="CLASSIFICATIONTYPE_ID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
       <column name="SCORE" valueNumeric="10.00"/>
+      <column name="CLASSIFICATIONSCOREID" value="fd8a348a-dc1f-414b-b95e-b1a6aeb9a8d4"/>
       <column name="SORT" valueNumeric="20"/>
-      <column name="TITLE" value="Stagnated"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="4ed5e22f-222a-4a51-83d3-597fa035d2df"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="SCORE" valueNumeric="0.00"/>
-      <column name="SORT" valueNumeric="30"/>
-      <column name="TITLE" value="Negative"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSCORE">
-      <column name="CLASSIFICATIONSCOREID" value="a60aaf2d-88aa-4c72-9606-0eb3ac9493cf"/>
-      <column name="CLASSIFICATIONTYPE_ID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-      <column name="SCORE" valueNumeric="25.00"/>
-      <column name="SORT" valueNumeric="10"/>
-      <column name="TITLE" value="Positive"/>
+      <column name="TITLE" value="Commodity group 2"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationstorage.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationstorage.xml
index aa7419f65c..4d76235c4a 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationstorage.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationstorage.xml
@@ -1,162 +1,162 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="c71ca120-5de6-4a44-a795-1127653c25df">
-    <delete tableName="CLASSIFICATIONSTORAGE"/>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+  <changeSet author="autogenerated" id="489ad8c4-660a-4043-b5ea-09969fee2252">
+    <delete tableName="classificationstorage"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="04b4ac80-a316-437a-b113-e7de14e181a8"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONVALUE" value="ABB"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+    </insert>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="0adb8953-1685-45cf-bcf7-c2c2098aa215"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="AB"/>
+      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+    </insert>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="1251e4b0-195d-4556-a10e-7942f1b0e337"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="AB"/>
+      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    </insert>
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="166e729d-45c6-4dab-bff2-940d2b618f6b"/>
-      <column name="CLASSIFICATIONVALUE" value="BBB"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONVALUE" value="ADB"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="1aafcbf6-6feb-4916-a4fd-58c138eb8f8f"/>
-      <column name="CLASSIFICATIONVALUE" value="DBA"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONVALUE" value="CBA"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="04b4ac80-a316-437a-b113-e7de14e181a8"/>
-      <column name="CLASSIFICATIONVALUE" value="ABB"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="25a1b340-538d-4c4f-8b1e-25126286cd53"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BB"/>
+      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    </insert>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="2ab913d3-e1a8-4fe2-904b-77b02f6be689"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BA"/>
+      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+    </insert>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="3893da8a-f357-46e0-a0b9-65aa58b0dfa6"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BC"/>
+      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="42cc772e-53c6-4849-be29-ebb4e18ab860"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="CLASSIFICATIONVALUE" value="ACB"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="7f7dfe1d-cb98-44c8-8106-858d991d2b06"/>
-      <column name="CLASSIFICATIONVALUE" value="ACA"/>
-      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="471aafd5-a348-453f-8b2a-64bb365fd0ee"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="CLASSIFICATIONVALUE" value="ACB"/>
       <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="4ce62df5-f0ea-4593-a152-6704c61d7cef"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BD"/>
+      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+    </insert>
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="63dd36bb-74b8-487b-811f-521438ef9491"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONVALUE" value="AC"/>
       <column name="OBJECT_ROWID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="4ce62df5-f0ea-4593-a152-6704c61d7cef"/>
-      <column name="CLASSIFICATIONVALUE" value="BD"/>
-      <column name="OBJECT_ROWID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="7a4762f5-90a3-4b6c-8a5d-93125381c18a"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="AC"/>
+      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="821c7eed-7bee-4879-97ec-44d2014a192b"/>
-      <column name="CLASSIFICATIONVALUE" value="BD"/>
-      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="7b2eb62a-b686-4eaf-bde1-2e1dd1028f65"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BC"/>
+      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="7e59d485-01a8-4e43-9655-ba751d5983a4"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONVALUE" value="BC"/>
       <column name="OBJECT_ROWID" value="449080f6-b714-4189-a261-37439d0d4010"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="c64c9f31-a108-4df9-b515-6e523b1341c1"/>
-      <column name="CLASSIFICATIONVALUE" value="AC"/>
-      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="7f7dfe1d-cb98-44c8-8106-858d991d2b06"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="CLASSIFICATIONVALUE" value="ACA"/>
+      <column name="OBJECT_ROWID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="1251e4b0-195d-4556-a10e-7942f1b0e337"/>
-      <column name="CLASSIFICATIONVALUE" value="AB"/>
-      <column name="OBJECT_ROWID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="80eac6e6-f237-455e-96fd-8484722a79d4"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BD"/>
+      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="3893da8a-f357-46e0-a0b9-65aa58b0dfa6"/>
-      <column name="CLASSIFICATIONVALUE" value="BC"/>
-      <column name="OBJECT_ROWID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="821c7eed-7bee-4879-97ec-44d2014a192b"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BD"/>
+      <column name="OBJECT_ROWID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="84a92c36-88df-4c06-a36a-650ed92d4d0a"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONVALUE" value="BD"/>
       <column name="OBJECT_ROWID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="f451479f-97dc-4570-b342-c8d53f04b493"/>
-      <column name="CLASSIFICATIONVALUE" value="AC"/>
-      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="80eac6e6-f237-455e-96fd-8484722a79d4"/>
-      <column name="CLASSIFICATIONVALUE" value="BD"/>
-      <column name="OBJECT_ROWID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="8db70618-5840-4d4b-90e2-66e1919fc6c1"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="AC"/>
+      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="25a1b340-538d-4c4f-8b1e-25126286cd53"/>
-      <column name="CLASSIFICATIONVALUE" value="BB"/>
-      <column name="OBJECT_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="b4d2847f-0548-4cc8-b002-7723b5fc9184"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="BD"/>
+      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="bbc19466-8d76-4f35-be56-8458f677d4a9"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONVALUE" value="BC"/>
       <column name="OBJECT_ROWID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="0adb8953-1685-45cf-bcf7-c2c2098aa215"/>
-      <column name="CLASSIFICATIONVALUE" value="BB"/>
-      <column name="OBJECT_ROWID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="b4d2847f-0548-4cc8-b002-7723b5fc9184"/>
-      <column name="CLASSIFICATIONVALUE" value="BD"/>
-      <column name="OBJECT_ROWID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="c64c9f31-a108-4df9-b515-6e523b1341c1"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="CLASSIFICATIONVALUE" value="AC"/>
+      <column name="OBJECT_ROWID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
+    <insert tableName="classificationstorage">
       <column name="CLASSIFICATIONSTORAGEID" value="e2142492-eeab-482d-a37e-b1c8fe7b2545"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="CLASSIFICATIONVALUE" value="BC"/>
       <column name="OBJECT_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="7a4762f5-90a3-4b6c-8a5d-93125381c18a"/>
-      <column name="CLASSIFICATIONVALUE" value="AC"/>
-      <column name="OBJECT_ROWID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="f451479f-97dc-4570-b342-c8d53f04b493"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="fc665249-9efc-4d90-839d-cdffb4c3f407"/>
       <column name="CLASSIFICATIONVALUE" value="AC"/>
-      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="7b2eb62a-b686-4eaf-bde1-2e1dd1028f65"/>
-      <column name="CLASSIFICATIONVALUE" value="BC"/>
-      <column name="OBJECT_ROWID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="OBJECT_ROWID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
     </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="2ab913d3-e1a8-4fe2-904b-77b02f6be689"/>
-      <column name="CLASSIFICATIONVALUE" value="BB"/>
-      <column name="OBJECT_ROWID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+    <insert tableName="classificationstorage">
+      <column name="CLASSIFICATIONSTORAGEID" value="fc665249-9efc-4d90-839d-cdffb4c3f407"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
-    </insert>
-    <insert tableName="CLASSIFICATIONSTORAGE">
-      <column name="CLASSIFICATIONSTORAGEID" value="8db70618-5840-4d4b-90e2-66e1919fc6c1"/>
       <column name="CLASSIFICATIONVALUE" value="AC"/>
-      <column name="OBJECT_ROWID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="OBJECT_ROWID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
     </insert>
   </changeSet>
-</databaseChangeLog>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationtype.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationtype.xml
index f758025469..60482c030a 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/classificationtype.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/classificationtype.xml
@@ -1,127 +1,126 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="de26cf22-891e-4584-97cd-fe877ebc790c">
+  <changeSet author="autogenerated" id="78633039-6630-4bd9-8498-98950ad97aa3">
     <delete tableName="classificationtype"/>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Headquarters"/>
+      <column name="CLASSIFICATIONTYPEID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
+    </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
       <column name="SCORETYPE" value="ScoreCustomizing"/>
+      <column name="CLASSIFICATIONTYPEID" value="2031525e-6ca3-46b4-91d4-7f90cd31a630"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
       <column name="SCORETYPE" value="ScoreStandard"/>
+      <column name="CLASSIFICATIONTYPEID" value="2a702a31-9907-4f1b-abfd-3342640f1c9e"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
       <column name="SCORETYPE" value="ScoreDepartment"/>
+      <column name="CLASSIFICATIONTYPEID" value="31c169aa-ba5b-4f9d-9dd3-b0d0e8d1b632"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
       <column name="SCORETYPE" value="ScoreUsers"/>
+      <column name="CLASSIFICATIONTYPEID" value="382b311e-b2b2-49da-b6e1-339afae92657"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
       <column name="SCORETYPE" value="ScoreBranch"/>
+      <column name="CLASSIFICATIONTYPEID" value="4977ba88-074c-4fe5-b04a-97c9a5eae982"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Number of employees"/>
+      <column name="CLASSIFICATIONTYPEID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Loyalty"/>
+      <column name="CLASSIFICATIONTYPEID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="00cc7b8f-d99e-46bf-90c3-74e05b5af685"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
       <column name="SCORETYPE" value="ScoreBased"/>
+      <column name="CLASSIFICATIONTYPEID" value="54128957-c80b-4b5a-ad1b-cfce665dfb10"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
       <column name="SCORETYPE" value="ScoreDecisionPhase"/>
+      <column name="CLASSIFICATIONTYPEID" value="57604bc1-d99f-4d61-b28d-55218a72045b"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Creditworthiness"/>
+      <column name="CLASSIFICATIONTYPEID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
       <column name="SCORETYPE" value="ScoreCloud"/>
+      <column name="CLASSIFICATIONTYPEID" value="8c1e8f81-145f-4efe-936f-3f4147f4d59a"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Business development"/>
+      <column name="CLASSIFICATIONTYPEID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Product preference"/>
+      <column name="CLASSIFICATIONTYPEID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
       <column name="SCORETYPE" value="ScorePosition"/>
+      <column name="CLASSIFICATIONTYPEID" value="a43189fc-b712-45ed-9398-58d6e15760ca"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Current supply share"/>
+      <column name="CLASSIFICATIONTYPEID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Industry"/>
+      <column name="CLASSIFICATIONTYPEID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="b2126d9d-8d18-46d4-a48f-1a03fc456ddd"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
       <column name="SCORETYPE" value="ScoreBudget"/>
+      <column name="CLASSIFICATIONTYPEID" value="d8091374-f3fd-41dc-8468-91469618c6fc"/>
     </insert>
     <insert tableName="classificationtype">
       <column name="CLASSIFICATIONGROUP_ID" value="c1305d16-320e-44f8-95f9-e4cff05d3cfb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="CLASSIFICATIONTYPEID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
       <column name="SCORETYPE" value="ScoreProjectStart"/>
+      <column name="CLASSIFICATIONTYPEID" value="f4d3791e-1717-4473-987b-0cd751805387"/>
+    </insert>
+    <insert tableName="classificationtype">
+      <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="SCORETYPE" value="Purchasing potential p. a."/>
+      <column name="CLASSIFICATIONTYPEID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
     </insert>
-    
-    <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="4b72857e-863d-4254-accf-25281bb7bb64"/>
-        <column name="SCORETYPE" value="Number of employees"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="970b251c-ca6e-43f4-9162-ebc5d1142a8b"/>
-        <column name="SCORETYPE" value="Product preference"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="037a9de1-fa6d-4895-9db3-82f7769682ae"/>
-        <column name="SCORETYPE" value="Headquarters"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="e3b0a84f-d2a7-4d7c-b734-82ab4b262e84"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="d67397c5-5e05-433b-b61d-12807906aa5a"/>
-        <column name="SCORETYPE" value="Industry"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="80c6ec8b-eb54-4d25-a4f5-0adaf4cdc84e"/>
-        <column name="SCORETYPE" value="Creditworthiness"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="4d878689-15c0-46cc-acc8-3c524463db5c"/>
-        <column name="SCORETYPE" value="Loyalty"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="f581dcb9-db6f-4a82-995c-695d0a7393d3"/>
-        <column name="SCORETYPE" value="Purchasing potential p. a."/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="be76dab1-c6ab-4b1e-8322-8b052ccda4d9"/>
-        <column name="SCORETYPE" value="Current supply share"/>
-        </insert>
-        <insert tableName="CLASSIFICATIONTYPE">
-        <column name="CLASSIFICATIONGROUP_ID" value="fb1349b6-6dc1-44b7-b7ea-03d5483e7fac"/>
-        <column name="OBJECT_TYPE" value="Organisation"/>
-        <column name="CLASSIFICATIONTYPEID" value="95396ee7-f0e2-41b4-995e-bac5749709ec"/>
-        <column name="SCORETYPE" value="Business development"/>
-        </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/commrestriction.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/commrestriction.xml
index e043a11f6e..4bfd0d305d 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/commrestriction.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/commrestriction.xml
@@ -1,12 +1,12 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="30aad20b-f8cd-4cd4-ad08-200f31686ce3">
+  <changeSet author="autogenerated" id="c663330c-e55f-4804-a18b-64c6693e5e12">
     <delete tableName="commrestriction"/>
     <insert tableName="commrestriction">
       <column name="COMMRESTRICTIONID" value="a07a7061-245f-4674-8482-282f5e5d2a5b"/>
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="EMPLOYEE_INVOLVED" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="MEDIUM" value="CAMPAIGNPHONE"/>
+      <column name="EMPLOYEE_INVOLVED" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="STARTDATE" valueDate="2019-11-25T02:47:33"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/communication.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/communication.xml
index 6e0432c500..355a3ec7dc 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/communication.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/communication.xml
@@ -1,938 +1,938 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="6b9a0b99-36fd-4c6d-8c8e-985b3baa3146">
+  <changeSet author="autogenerated" id="2d5ca29d-0eef-4b22-b1c1-e6766831090c">
     <delete tableName="communication"/>
     <insert tableName="communication">
-      <column name="ADDR" value="www.gfk.de"/>
       <column name="COMMUNICATIONID" value="00d07819-985b-4efe-a634-da71ae482907"/>
+      <column name="ADDR" value="www.gfk.de"/>
       <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
+      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="05d24d50-677f-4c7a-9f39-8a8082f267cd"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:41:44"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:31:52"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="info@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:31:52"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 941 52360"/>
       <column name="COMMUNICATIONID" value="0a4410ef-bd92-4baa-95db-632f82d1de94"/>
-      <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:46:14"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:32:40"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 941 52360"/>
+      <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:32:40"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 7541 56874-15"/>
       <column name="COMMUNICATIONID" value="106b7d14-8973-4122-a9af-4ece26f4fd73"/>
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 7541 56874-15"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 821 42580"/>
       <column name="COMMUNICATIONID" value="11b513f0-4fef-4525-976e-f08740d57c44"/>
-      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:37"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:45:42"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 821 42580"/>
+      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:45:42"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="gfk@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="14a01219-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:39:42"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="gfk@meine-firma.de"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="ppfiffig@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="14d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:48:25"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="ppfiffig@meine-firma.de"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="lsommer@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="14d05619-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:49:15"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="lsommer@meine-firma.de"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 40 63520"/>
       <column name="COMMUNICATIONID" value="1fd3454a-f054-4472-8e53-26f9b4a0ce76"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="DATE_EDIT" valueDate="2019-05-23T11:23:53"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:48:09"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 40 63520"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:48:09"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 887 1333"/>
       <column name="COMMUNICATIONID" value="22d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:38:02"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 887 1333"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 89 3332-0"/>
       <column name="COMMUNICATIONID" value="22d07819-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T10:41:56"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 89 3332-0"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="https://www.industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="2445a63f-85b7-40cc-ad99-0bc261f60db6"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:46:11"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMINTERNET"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="https://www.industrial-steel.de"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="MEDIUM_ID" value="COMMINTERNET"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 40 6352-105"/>
       <column name="COMMUNICATIONID" value="2561b25b-1af2-4512-a77f-97d542c578b7"/>
+      <column name="ADDR" value="+49 40 6352-105"/>
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T08:26:11"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T08:26:11"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 89 36920"/>
       <column name="COMMUNICATIONID" value="270d381e-3d37-40d7-a776-4d6302ed60d2"/>
-      <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:46:49"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:36:39"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 89 36920"/>
+      <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:36:39"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@grobbe-werk.de"/>
       <column name="COMMUNICATIONID" value="2f571583-f8d2-47ad-b183-8d9cab3b3c19"/>
+      <column name="ADDR" value="info@grobbe-werk.de"/>
       <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:11:18"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:11:18"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="psteiger@trans-logistics.de"/>
       <column name="COMMUNICATIONID" value="38d42eff-c782-4ffa-80d7-db812cf1c6db"/>
+      <column name="ADDR" value="psteiger@trans-logistics.de"/>
       <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="tadmin@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="3ccc54d5-dfb0-4da9-a0a0-472025f65994"/>
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:48:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="tadmin@meine-firma.de"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 421 98650"/>
       <column name="COMMUNICATIONID" value="3da6609c-79f0-449e-a236-3636368382f5"/>
-      <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:48"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:46:23"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 421 98650"/>
+      <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:46:23"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="https://skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="417ce25b-8d42-47b2-b7df-1dfcc28075be"/>
+      <column name="ADDR" value="https://skyscraper-bau.de"/>
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 4321 78990"/>
       <column name="COMMUNICATIONID" value="459d704e-f140-4927-aae3-771fecd2891a"/>
-      <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:26"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:34:41"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 4321 78990"/>
+      <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:34:41"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="hsmith@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="4602f1f8-7a40-4c0d-bb92-649935d11bd6"/>
+      <column name="ADDR" value="hsmith@meine-firma.de"/>
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-32"/>
       <column name="COMMUNICATIONID" value="4ba08e1c-7094-412c-b4a4-210a330f6d71"/>
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:36"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:22:23"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 711 8754-32"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:22:23"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@superbauer.de"/>
       <column name="COMMUNICATIONID" value="4f3230c0-41e4-4861-880f-14ad0fcc5a35"/>
+      <column name="ADDR" value="info@superbauer.de"/>
       <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:32:15"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:32:15"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@document-solutions.de"/>
       <column name="COMMUNICATIONID" value="508e1a48-5e0d-4474-8059-ad495f3b629d"/>
-      <column name="CONTACT_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:43:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:24:31"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="info@document-solutions.de"/>
+      <column name="CONTACT_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:24:31"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 9751500"/>
       <column name="COMMUNICATIONID" value="5136702b-2898-4db3-98d2-436772febc35"/>
+      <column name="ADDR" value="+49 871 9751500"/>
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 40 6352-109"/>
       <column name="COMMUNICATIONID" value="5270133a-a59a-41c0-a812-2618c7557215"/>
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T08:26:27"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:04:03"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 40 6352-109"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:04:03"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="bleicht@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="529cadf7-7e9c-4828-9497-6ce6effb1624"/>
+      <column name="ADDR" value="bleicht@meine-firma.de"/>
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="lkanzler@web.de"/>
       <column name="COMMUNICATIONID" value="56e9d5fe-b77d-4321-938c-d331cd5b3e1e"/>
+      <column name="ADDR" value="lkanzler@web.de"/>
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:13:02"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:13:02"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 8763 1333"/>
       <column name="COMMUNICATIONID" value="58d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:47"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 8763 1333"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="5ea00579-3eb5-4c1f-9396-63a15b134f60"/>
+      <column name="ADDR" value="info@industrial-steel.de"/>
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:19:53"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:19:53"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@sevent.de"/>
       <column name="COMMUNICATIONID" value="5f9aaf24-69d7-4089-a31d-e15d6d55dc92"/>
+      <column name="ADDR" value="info@sevent.de"/>
       <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:30:12"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:30:12"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 7541 56874-0"/>
       <column name="COMMUNICATIONID" value="64f4028b-7a2b-405a-a434-61f262abf2c3"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:58:59"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:36:18"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 7541 56874-0"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:36:18"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 65320"/>
       <column name="COMMUNICATIONID" value="66b9cfdf-e289-407f-8418-9436b1d2152b"/>
-      <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:31"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:48:35"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 65320"/>
+      <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:48:35"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="atannenbaum@industiral-steel.de"/>
       <column name="COMMUNICATIONID" value="674a8118-31ef-492c-83c6-6ecfcebc9c9a"/>
+      <column name="ADDR" value="atannenbaum@industiral-steel.de"/>
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:13:19"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:13:19"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 841 32510"/>
       <column name="COMMUNICATIONID" value="6823d32a-0ef1-45af-a112-b43afe5addf6"/>
-      <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:59"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:46:57"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 841 32510"/>
+      <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:46:57"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@kronen.de"/>
       <column name="COMMUNICATIONID" value="69c70cb5-276d-4983-9607-a5fd55196573"/>
+      <column name="ADDR" value="info@kronen.de"/>
       <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:22:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:22:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 89 653250"/>
       <column name="COMMUNICATIONID" value="6a9b52cd-805f-4fec-9601-2b1874990f7b"/>
-      <column name="CONTACT_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:02"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:49:52"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 89 653250"/>
+      <column name="CONTACT_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:49:52"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 89 25630"/>
       <column name="COMMUNICATIONID" value="6b5b76d9-489d-40e1-ac78-3261de6433a6"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:29"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:29:24"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 89 25630"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:29:24"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 170 1212121"/>
       <column name="COMMUNICATIONID" value="6de0cb05-ebf3-4884-ba21-85117fc95dd7"/>
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:36:32"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:56:26"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMMOBIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 170 1212121"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="MEDIUM_ID" value="COMMMOBIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:56:26"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 30 65780"/>
       <column name="COMMUNICATIONID" value="73f6780a-5ef6-4647-b26b-4e7ef29d8364"/>
-      <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:57"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:30:33"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 30 65780"/>
+      <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:30:33"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="mericson@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="76a59a85-c04a-4f37-b276-d022c568e071"/>
+      <column name="ADDR" value="mericson@skyscraper-bau.de"/>
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="https://transatlantik-logistics.de"/>
       <column name="COMMUNICATIONID" value="78496224-0a11-4f2e-bc60-99940a08298d"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="DATE_EDIT" valueDate="2019-06-06T02:50:34"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMINTERNET"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="https://transatlantik-logistics.de"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="MEDIUM_ID" value="COMMINTERNET"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@matthiasbogen.de"/>
       <column name="COMMUNICATIONID" value="786bdaba-c36d-4107-9c6f-abc15ebb4e25"/>
+      <column name="ADDR" value="info@matthiasbogen.de"/>
       <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:10:46"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:10:46"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 2345433"/>
       <column name="COMMUNICATIONID" value="7c3ba80d-52ee-4275-a6b3-3afad4fb59b9"/>
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:32:33"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:03:15"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 2345433"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:03:15"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 393490"/>
       <column name="COMMUNICATIONID" value="7ff7d10a-41ba-4c6e-8c78-c47bd8df7579"/>
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:28"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 393490"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="dvortrefflich@trans-logistics.de"/>
       <column name="COMMUNICATIONID" value="82584c83-5a7d-4923-8907-2953240fb8e5"/>
+      <column name="ADDR" value="dvortrefflich@trans-logistics.de"/>
       <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-25"/>
       <column name="COMMUNICATIONID" value="8600ac7a-7b4a-4db5-8f43-9c104604f423"/>
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:27"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 711 8754-25"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@kältetechnik.de"/>
       <column name="COMMUNICATIONID" value="86784334-c997-4305-8526-35db5047ce93"/>
+      <column name="ADDR" value="info@kältetechnik.de"/>
       <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:20:31"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:20:31"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="pmacher@industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="886854ab-635e-40e5-9427-c90a6642b964"/>
+      <column name="ADDR" value="pmacher@industrial-steel.de"/>
       <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_NEW" valueDate="2019-06-05T03:52:59"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-05T03:52:59"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 89 87750"/>
       <column name="COMMUNICATIONID" value="91195ee8-25f3-47df-b785-8c18510e647a"/>
-      <column name="CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:46"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:32:03"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 89 87750"/>
+      <column name="CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:32:03"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@jpmtouristik.de"/>
       <column name="COMMUNICATIONID" value="920cf62e-5a9f-4c25-9c01-1e22b3f64891"/>
-      <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:44:07"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:21:42"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="info@jpmtouristik.de"/>
+      <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:21:42"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 7541 56874-19"/>
       <column name="COMMUNICATIONID" value="949aae5e-2546-437b-af27-0ac1b18d3970"/>
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:26"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 7541 56874-19"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@aquire.de"/>
       <column name="COMMUNICATIONID" value="954a729a-dd11-4760-86a8-dc09e9c11d1a"/>
+      <column name="ADDR" value="info@aquire.de"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:09:20"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:09:20"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 37484732"/>
       <column name="COMMUNICATIONID" value="98bb2c06-db4c-4188-9676-67fb32881a1f"/>
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:35:59"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 37484732"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 40 6352-111"/>
       <column name="COMMUNICATIONID" value="9a440c7f-5f00-43f0-9c0b-fb1b8a35721e"/>
+      <column name="ADDR" value="+49 40 6352-111"/>
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T08:26:49"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T08:26:49"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@mnfversicherung.de"/>
       <column name="COMMUNICATIONID" value="a0ba95f9-c872-4bfc-9591-868aaa3b2ac3"/>
+      <column name="ADDR" value="info@mnfversicherung.de"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:27:25"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:27:25"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 8131 493828"/>
       <column name="COMMUNICATIONID" value="a7cd429f-b81c-4bfe-9aa1-06d77d728812"/>
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:37:07"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 8131 493828"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="https://www.xing.com/companies/aditosoftwaregmbh"/>
       <column name="COMMUNICATIONID" value="a8dca1e8-f787-446b-b065-8089322b0402"/>
+      <column name="ADDR" value="https://www.xing.com/companies/aditosoftwaregmbh"/>
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T11:42:52"/>
-      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="MEDIUM_ID" value="COMMXING"/>
+      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T11:42:52"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@buchner.de"/>
       <column name="COMMUNICATIONID" value="ab6da5e4-bea2-4a66-b818-b8ad5c57a167"/>
+      <column name="ADDR" value="info@buchner.de"/>
       <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="DATE_NEW" valueDate="2019-05-21T09:10:07"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-21T09:10:07"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="psolano@industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="b3be54f7-884c-4a88-8c4b-b52a4595d547"/>
+      <column name="ADDR" value="psolano@industrial-steel.de"/>
       <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:32:30"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:32:30"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-29"/>
       <column name="COMMUNICATIONID" value="b7a11507-0a52-46e4-bef4-f9bce325844f"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T11:57:53"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 711 8754-29"/>
       <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_EDIT" valueDate="2019-06-11T11:57:53"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="USER_EDIT" value="Admin"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-0"/>
       <column name="COMMUNICATIONID" value="b8789eca-7b8b-4261-8fc5-cd9053a704f2"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:16"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T05:31:22"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 711 8754-0"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T05:31:22"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="contact@globgroup.com"/>
       <column name="COMMUNICATIONID" value="b9773f8a-97bf-4071-9b1e-32b5e89e526a"/>
+      <column name="ADDR" value="contact@globgroup.com"/>
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-22"/>
       <column name="COMMUNICATIONID" value="b986e88b-d637-47e5-8553-addbd8b31488"/>
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:45"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:30:47"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 711 8754-22"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:30:47"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="kontak@schild.de "/>
       <column name="COMMUNICATIONID" value="b9b0499c-ea37-4a41-9a0b-8ed570d91683"/>
+      <column name="ADDR" value="kontak@schild.de "/>
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
-      <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="slustig@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="bde2ff44-c2f1-421e-919f-6e7194c951ec"/>
+      <column name="ADDR" value="slustig@meine-firma.de"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@trans-logistics.de"/>
       <column name="COMMUNICATIONID" value="bf6122eb-b257-4bc3-97a7-f60985e0dc82"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:41:08"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:32:54"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="info@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:32:54"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 821 96690"/>
       <column name="COMMUNICATIONID" value="c68be666-221e-46b4-8fad-d49bb1117c3a"/>
+      <column name="ADDR" value="+49 821 96690"/>
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
-      <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="tmosby@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="c7d84edf-1a48-45fd-8364-e29f45ac1739"/>
+      <column name="ADDR" value="tmosby@skyscraper-bau.de"/>
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:22:24"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:22:24"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="rscherbeatsky@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="cc2f1e5f-9cd9-4bbb-87d4-a98d883ebbc1"/>
+      <column name="ADDR" value="rscherbeatsky@skyscraper-bau.de"/>
       <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:30:48"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:30:48"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 7541 56874-11"/>
       <column name="COMMUNICATIONID" value="d0629982-5797-4eda-b36b-a58d2fc551ec"/>
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:10"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 7541 56874-11"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 176 48525800"/>
       <column name="COMMUNICATIONID" value="d32b5d16-3136-49ff-8c6c-71b7fe501552"/>
+      <column name="ADDR" value="+49 176 48525800"/>
       <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMMOBIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="cdecker@trans-logistics.de"/>
       <column name="COMMUNICATIONID" value="d395f5eb-ff5f-4cd6-9e52-04066349d523"/>
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:50:57"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="cdecker@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="jgrüner@web.de"/>
       <column name="COMMUNICATIONID" value="d5a90157-2c05-474c-aeda-0ab08d26075a"/>
+      <column name="ADDR" value="jgrüner@web.de"/>
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:11:20"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:11:20"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 171 9654874"/>
       <column name="COMMUNICATIONID" value="d6a0723c-5e4d-4771-8808-79b510e864cb"/>
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:37"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:26:03"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 171 9654874"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:26:03"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 7229323"/>
       <column name="COMMUNICATIONID" value="d721d57c-7cb0-45ee-a12f-982ec4efb62c"/>
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:37:23"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 7229323"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 8743 5690"/>
       <column name="COMMUNICATIONID" value="da54f448-f013-428b-85b1-311df2903223"/>
-      <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:43"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:49:12"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 8743 5690"/>
+      <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:49:12"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="lmatterhorn@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="ddcc3940-fdb2-49b1-8812-1e7d2ecf2598"/>
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:52:13"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:42:07"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="lmatterhorn@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:42:07"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="fmüller@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="de32eb0c-672b-4ce5-a80e-63a8ac976599"/>
+      <column name="ADDR" value="fmüller@meine-firma.de"/>
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@netro.de"/>
       <column name="COMMUNICATIONID" value="dead3100-379c-4ca3-958f-006ba17a78ad"/>
+      <column name="ADDR" value="info@netro.de"/>
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:42:41"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:42:41"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 93938292"/>
       <column name="COMMUNICATIONID" value="e0662d2c-ea02-4796-8783-a5ad4a8683fe"/>
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:36:21"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 93938292"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="alindner@industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="e076075c-1d67-4a9d-aed8-1a66bb1adfb2"/>
+      <column name="ADDR" value="alindner@industrial-steel.de"/>
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:10:34"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:10:34"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="hobermeier@meine-firma.de"/>
       <column name="COMMUNICATIONID" value="e21bc8d9-f546-4f97-9c4c-4e4de67512a7"/>
+      <column name="ADDR" value="hobermeier@meine-firma.de"/>
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 711 8754-31"/>
       <column name="COMMUNICATIONID" value="e2fcaf67-b1fd-4d2e-9848-ba45677cf494"/>
+      <column name="ADDR" value="+49 711 8754-31"/>
       <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_NEW" valueDate="2019-06-11T11:58:07"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-06-11T11:58:07"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@waken-neuser.de"/>
       <column name="COMMUNICATIONID" value="e4726063-bcbb-4527-8438-5f9fee077ce1"/>
-      <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:40:05"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:33:16"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="info@waken-neuser.de"/>
+      <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:33:16"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 65320"/>
       <column name="COMMUNICATIONID" value="e5b76921-2067-4f7d-b0b9-6c3d97dd5ca0"/>
-      <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:52"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:49:30"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 65320"/>
+      <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:49:30"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="maltinger@industrial-steel.de"/>
       <column name="COMMUNICATIONID" value="ea561d25-863a-4666-bc57-00a414fa1bf2"/>
+      <column name="ADDR" value="maltinger@industrial-steel.de"/>
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:24:26"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:24:26"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="amorgenstern@trans-logistics.de"/>
       <column name="COMMUNICATIONID" value="ecb6313a-3663-45b0-80db-453a43eb0d0d"/>
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:50:35"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="amorgenstern@trans-logistics.de"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 871 65820"/>
       <column name="COMMUNICATIONID" value="f0ba9565-8b43-46db-80f8-a45f6be9cc4e"/>
-      <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:37"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:42:51"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 871 65820"/>
+      <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:42:51"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="info@pichelmaier-finc.de"/>
       <column name="COMMUNICATIONID" value="f2f8499d-2d00-485f-9d2f-381fd5e8f7ce"/>
+      <column name="ADDR" value="info@pichelmaier-finc.de"/>
       <column name="CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T03:27:48"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T03:27:48"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="+49 7541 56874-16"/>
       <column name="COMMUNICATIONID" value="f31e7b32-cc81-4b6a-868f-e9f4879dcee3"/>
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:36"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMPHONE"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="+49 7541 56874-16"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="MEDIUM_ID" value="COMMPHONE"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
     </insert>
     <insert tableName="communication">
-      <column name="ADDR" value="azweisstein@skyscraper-bau.de"/>
       <column name="COMMUNICATIONID" value="f95dfa47-a5ff-407a-9c1c-826c5aa72c72"/>
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="DATE_EDIT" valueDate="2019-06-05T03:51:51"/>
-      <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
-      <column name="ISSTANDARD" valueNumeric="1"/>
-      <column name="MEDIUM_ID" value="COMMEMAIL"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ADDR" value="azweisstein@skyscraper-bau.de"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
+      <column name="MEDIUM_ID" value="COMMEMAIL"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/contact.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/contact.xml
index 0646343dd3..e9542e1036 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/contact.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/contact.xml
@@ -1,481 +1,481 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="8f44b3ae-6d19-4ae0-b079-305c1b7a1273">
+  <changeSet author="autogenerated" id="9114cd12-9d7f-4c0d-b161-4010fb384453">
     <delete tableName="contact"/>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="0"/>
-      <column name="CONTACTID" value="0"/>
+      <column name="CONTACTID" value="0                                   "/>
+      <column name="ADDRESS_ID" value="0                                   "/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-08-29T02:43:16"/>
+      <column name="ORGANISATION_ID" value="0                                   "/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="ORGANISATION_ID" value="0"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="e1aef1b7-569b-46be-bc50-f02332a42ef1"/>
       <column name="CONTACTID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+      <column name="ADDRESS_ID" value="e1aef1b7-569b-46be-bc50-f02332a42ef1"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:49:58"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
+      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:43:42"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="PERSON_ID" value="09514fe1-a0d6-465e-883b-6cc93cc758a2"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="09514fe1-a0d6-465e-883b-6cc93cc758a2"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTROLE" value="Vertriebsleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:39:57"/>
-      <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="PERSON_ID" value="9f4528ce-3d83-4292-ae23-d9b314271f69"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Vertrieb"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="9f4528ce-3d83-4292-ae23-d9b314271f69"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
       <column name="CONTACTID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="ADDRESS_ID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:42:37"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="PERSON_ID" value="22a497cb-39c3-4e72-9f88-423d7630c7e1"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="22a497cb-39c3-4e72-9f88-423d7630c7e1"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="36723051-8a5f-47d3-8185-71c82d463eb3"/>
       <column name="CONTACTID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
+      <column name="ADDRESS_ID" value="36723051-8a5f-47d3-8185-71c82d463eb3"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:42:16"/>
-      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTROLE" value="Marketingleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:25:07"/>
-      <column name="DEPARTMENT" value="Marketing"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="PERSON_ID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Marketing"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="dd1a1831-b05a-41a7-a4e9-d73be9d77934"/>
       <column name="CONTACTID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
+      <column name="ADDRESS_ID" value="dd1a1831-b05a-41a7-a4e9-d73be9d77934"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:38:50"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTROLE" value="Marketingleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:03:16"/>
-      <column name="DEPARTMENT" value="Marketing"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Marketing"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="ea50cb02-7d4d-433d-9cd3-c262d5a0bb27"/>
       <column name="CONTACTID" value="449080f6-b714-4189-a261-37439d0d4010"/>
+      <column name="ADDRESS_ID" value="ea50cb02-7d4d-433d-9cd3-c262d5a0bb27"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:03:12"/>
-      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTROLE" value="Marketingmitarbeiterin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:08:54"/>
-      <column name="DEPARTMENT" value="Marketing"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="PERSON_ID" value="b4c37f47-b4b8-4fe4-812a-9043530cce84"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Marketing"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="b4c37f47-b4b8-4fe4-812a-9043530cce84"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTROLE" value="Marketingleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:41:40"/>
-      <column name="DEPARTMENT" value="Marketing"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
-      <column name="PERSON_ID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Marketing"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
       <column name="CONTACTID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="ADDRESS_ID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="1a20347c-ab56-41cb-a7dc-bd61de7e2106"/>
       <column name="CONTACTID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
+      <column name="ADDRESS_ID" value="1a20347c-ab56-41cb-a7dc-bd61de7e2106"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:44:27"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:02:26"/>
-      <column name="DEPARTMENT" value="Management"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="528d7307-295c-4829-a2e4-9b59e43cf3bb"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Management"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="528d7307-295c-4829-a2e4-9b59e43cf3bb"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTROLE" value="Vertriebsleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:54:25"/>
-      <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="PERSON_ID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Vertrieb"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:23:13"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
       <column name="CONTACTID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="ADDRESS_ID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="ORGANISATION_ID" value="0                                   "/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="ORGANISATION_ID" value="0"/>
-      <column name="PERSON_ID" value="4a55726c-4ca6-43cb-9d3f-8e55d97b7aaf"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="4a55726c-4ca6-43cb-9d3f-8e55d97b7aaf"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
       <column name="CONTACTID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="ADDRESS_ID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="ORGANISATION_ID" value="0                                   "/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="ORGANISATION_ID" value="0"/>
-      <column name="PERSON_ID" value="7c1efe4c-cc73-4e95-bdf0-208a3ff699b5"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="7c1efe4c-cc73-4e95-bdf0-208a3ff699b5"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="8ac42a08-6e71-4bc4-a46d-5cf17e4a941c"/>
       <column name="CONTACTID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
+      <column name="ADDRESS_ID" value="8ac42a08-6e71-4bc4-a46d-5cf17e4a941c"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:17"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="CONTACTID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="ADDRESS_ID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="CONTACTROLE" value="Berater"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-11-25T01:52:05"/>
-      <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Vertrieb"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTROLE" value="IT-Leiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:04:06"/>
-      <column name="DEPARTMENT" value="IT"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="IT"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="CONTACTID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
+      <column name="ADDRESS_ID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:00:09"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="85ab4644-98f1-41ae-8678-67e76dd03706"/>
       <column name="CONTACTID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
+      <column name="ADDRESS_ID" value="85ab4644-98f1-41ae-8678-67e76dd03706"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:46:35"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="14d01332-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="ADDRESS_ID" value="14d01332-985b-4efe-a634-da71ae482907"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="8923fff3-4294-4892-b3f3-8470ae89555e"/>
       <column name="CONTACTID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="ADDRESS_ID" value="8923fff3-4294-4892-b3f3-8470ae89555e"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:39:15"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="CONTACTPOSITION" value="Produktionsleiter"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:23:15"/>
-      <column name="DEPARTMENT" value="Produktion"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CONTACTPOSITION" value="Produktionsleiter"/>
+      <column name="DEPARTMENT" value="Produktion"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="14d03432-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="ADDRESS_ID" value="14d03432-985b-4efe-a634-da71ae482907"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
       <column name="CONTACTID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="ADDRESS_ID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="b16282bd-254e-4569-a56e-675449821467"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="b16282bd-254e-4569-a56e-675449821467"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="2a03d8cb-ffb7-4d04-b8b2-e55354380fb7"/>
       <column name="CONTACTID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
+      <column name="ADDRESS_ID" value="2a03d8cb-ffb7-4d04-b8b2-e55354380fb7"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:40:51"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
       <column name="CONTACTID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="ADDRESS_ID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTROLE" value="IT-Leiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:11:10"/>
-      <column name="DEPARTMENT" value="IT"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-      <column name="PERSON_ID" value="c4e24800-e9f3-4226-afd7-cfd5dd670d93"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="IT"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="c4e24800-e9f3-4226-afd7-cfd5dd670d93"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:06:15"/>
-      <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Vertrieb"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
       <column name="CONTACTID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="ADDRESS_ID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTROLE" value="Vertriebsleiter"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:04:51"/>
-      <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Vertrieb"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:16:58"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="25360df5-104e-4903-8440-f848d025a24b"/>
       <column name="CONTACTID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
+      <column name="ADDRESS_ID" value="25360df5-104e-4903-8440-f848d025a24b"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:47:59"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="6a3f6232-7a66-4a72-8d2d-66a3a9f1b9ea"/>
       <column name="CONTACTID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="ADDRESS_ID" value="6a3f6232-7a66-4a72-8d2d-66a3a9f1b9ea"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="f54606ee-ecdd-4859-ad7d-aa096c5e9596"/>
       <column name="CONTACTID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
+      <column name="ADDRESS_ID" value="f54606ee-ecdd-4859-ad7d-aa096c5e9596"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="2825d85f-879a-4899-a1bb-a6750ad2aee9"/>
       <column name="CONTACTID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
+      <column name="ADDRESS_ID" value="2825d85f-879a-4899-a1bb-a6750ad2aee9"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="11d01332-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="ADDRESS_ID" value="11d01332-985b-4efe-a634-da71ae482907"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
       <column name="CONTACTID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="ADDRESS_ID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-      <column name="PERSON_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="f682daa0-4da9-435c-b40a-552701d89570"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTROLE" value="Koordinator"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-11-26T08:27:11"/>
-      <column name="DEPARTMENT" value="Produktion"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DEPARTMENT" value="Produktion"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="da05619e-47c6-4144-a698-f0f830d9f755"/>
       <column name="CONTACTID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="ADDRESS_ID" value="da05619e-47c6-4144-a698-f0f830d9f755"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:53:07"/>
-      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:33:57"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="contact">
-      <column name="ADDRESS_ID" value="90726b19-f23c-42dd-847a-7eacf4c71d18"/>
       <column name="CONTACTID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
+      <column name="ADDRESS_ID" value="90726b19-f23c-42dd-847a-7eacf4c71d18"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/contract.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/contract.xml
index ede93c4761..fab6496c05 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/contract.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/contract.xml
@@ -1,102 +1,102 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="426e7df1-5279-47a5-99ec-76d4b979292c">
+  <changeSet author="autogenerated" id="c1895881-e590-4488-9dc5-ce394698b15c">
     <delete tableName="contract"/>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CONTRACTCODE" value="1007"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEMAIN"/>
       <column name="CONTRACTEND" valueDate="2025-03-11T01:00:00"/>
-      <column name="CONTRACTID" value="28234066-ad12-451d-9cd2-fbc9f8ee0412"/>
-      <column name="CONTRACTSTART" valueDate="2019-03-11T01:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEMAIN"/>
+      <column name="CONTRACTID" value="28234066-ad12-451d-9cd2-fbc9f8ee0412"/>
       <column name="PAYMENT" value="CONTRACTPAYSEMIANNUAL"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="CONTRACTCODE" value="1007"/>
+      <column name="CONTRACTSTART" valueDate="2019-03-11T01:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="CONTRACTCODE" value="1000"/>
-      <column name="CONTRACTDUE" valueDate="2019-01-01T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2019-09-30T02:00:00"/>
-      <column name="CONTRACTID" value="384c9d31-9923-4e6a-8a7f-2d2890470b70"/>
-      <column name="CONTRACTSTART" valueDate="2018-10-01T02:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="384c9d31-9923-4e6a-8a7f-2d2890470b70"/>
       <column name="PAYMENT" value="CONTRACTPAYQUARTER"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CONTRACTDUE" valueDate="2019-01-01T01:00:00"/>
+      <column name="CONTRACTCODE" value="1000"/>
+      <column name="CONTRACTSTART" valueDate="2018-10-01T02:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CONTRACTCODE" value="1008"/>
-      <column name="CONTRACTDUE" valueDate="2019-11-17T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2022-05-17T02:00:00"/>
       <column name="CONTRACTID" value="5fcfa9a9-2f3d-43f0-8be0-21241a5f2ec3"/>
-      <column name="CONTRACTSTART" valueDate="2019-05-17T02:00:00"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="PAYMENT" value="CONTRACTPAYSEMIANNUAL"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="CONTRACTDUE" valueDate="2019-11-17T01:00:00"/>
+      <column name="CONTRACTCODE" value="1008"/>
+      <column name="CONTRACTSTART" valueDate="2019-05-17T02:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CONTRACTCODE" value="1003"/>
-      <column name="CONTRACTDUE" valueDate="2021-01-01T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2021-09-15T02:00:00"/>
-      <column name="CONTRACTID" value="6fc9483c-fcfc-48fb-b48f-18e6b11f31fc"/>
-      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="6fc9483c-fcfc-48fb-b48f-18e6b11f31fc"/>
       <column name="PAYMENT" value="CONTRACTPAYQUARTER"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CONTRACTDUE" valueDate="2021-01-01T01:00:00"/>
+      <column name="CONTRACTCODE" value="1003"/>
+      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="CONTRACTCODE" value="1001"/>
-      <column name="CONTRACTDUE" valueDate="2018-01-01T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2018-09-15T02:00:00"/>
-      <column name="CONTRACTID" value="8b95a074-086e-44c8-bd45-fb8e33803da3"/>
-      <column name="CONTRACTSTART" valueDate="2017-05-01T02:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="8b95a074-086e-44c8-bd45-fb8e33803da3"/>
       <column name="PAYMENT" value="CONTRACTPAYQUARTER"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CONTRACTDUE" valueDate="2018-01-01T01:00:00"/>
+      <column name="CONTRACTCODE" value="1001"/>
+      <column name="CONTRACTSTART" valueDate="2017-05-01T02:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CONTRACTCODE" value="1004"/>
-      <column name="CONTRACTDUE" valueDate="2022-01-01T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2022-09-15T02:00:00"/>
-      <column name="CONTRACTID" value="a944b07c-aaed-4bcf-820c-9e6031bc3d6c"/>
-      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="a944b07c-aaed-4bcf-820c-9e6031bc3d6c"/>
       <column name="PAYMENT" value="CONTRACTPAYQUARTER"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="CONTRACTDUE" valueDate="2022-01-01T01:00:00"/>
+      <column name="CONTRACTCODE" value="1004"/>
+      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CONTRACTCODE" value="1005"/>
-      <column name="CONTRACTDUE" valueDate="2020-02-03T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2021-02-11T01:00:00"/>
-      <column name="CONTRACTID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
-      <column name="CONTRACTSTART" valueDate="2019-05-16T02:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="af3dcbe7-c76f-47a2-8441-891fec6877b5"/>
       <column name="PAYMENT" value="CONTRACTPAYSEMIANNUAL"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="CONTRACTDUE" valueDate="2020-02-03T01:00:00"/>
+      <column name="CONTRACTCODE" value="1005"/>
+      <column name="CONTRACTSTART" valueDate="2019-05-16T02:00:00"/>
     </insert>
     <insert tableName="contract">
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
+      <column name="CONTRACTID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
+      <column name="PAYMENT" value="CONTRACTPAYANNUAL"/>
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CONTRACTCODE" value="1006"/>
       <column name="CONTRACTDUE" valueDate="2020-06-01T02:00:00"/>
-      <column name="CONTRACTID" value="b2c211a7-6dcf-450b-b420-9f04d790de7a"/>
+      <column name="CONTRACTCODE" value="1006"/>
       <column name="CONTRACTSTART" valueDate="2019-05-17T02:00:00"/>
-      <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
-      <column name="PAYMENT" value="CONTRACTPAYANNUAL"/>
     </insert>
     <insert tableName="contract">
-      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="CONTRACTCODE" value="1002"/>
-      <column name="CONTRACTDUE" valueDate="2020-01-01T01:00:00"/>
+      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
       <column name="CONTRACTEND" valueDate="2020-09-15T02:00:00"/>
-      <column name="CONTRACTID" value="eb182167-1e33-4290-a160-a86d09685cba"/>
-      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
       <column name="CONTRACTSTATUS" value="CONTRACTSTATVALIDLI"/>
-      <column name="CONTRACTTYPE" value="CONTRACTTYPEFRAME"/>
+      <column name="CONTRACTID" value="eb182167-1e33-4290-a160-a86d09685cba"/>
       <column name="PAYMENT" value="CONTRACTPAYQUARTER"/>
+      <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+      <column name="CONTRACTDUE" valueDate="2020-01-01T01:00:00"/>
+      <column name="CONTRACTCODE" value="1002"/>
+      <column name="CONTRACTSTART" valueDate="2015-03-20T01:00:00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/descriptiontranslation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/descriptiontranslation.xml
index 11b8cf6c91..b0b4302c96 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/descriptiontranslation.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/descriptiontranslation.xml
@@ -1,27 +1,27 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="4c67662d-0212-4096-94c5-4533e2add418">
+  <changeSet author="autogenerated" id="9695b68c-0526-4d85-a7af-1951a33b1118">
     <delete tableName="descriptiontranslation"/>
     <insert tableName="descriptiontranslation">
-      <column name="DESCRIPTION" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
       <column name="DESCRIPTIONTRANSLATIONID" value="020ca255-eae8-4771-a4a3-e62d6702f9f0"/>
+      <column name="OBJECT_TYPE" value="Product"/>
+      <column name="DESCRIPTION" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
       <column name="LANG" value="deu"/>
       <column name="OBJECT_ROWID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
-      <column name="OBJECT_TYPE" value="Product"/>
     </insert>
     <insert tableName="descriptiontranslation">
-      <column name="DESCRIPTION" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
       <column name="DESCRIPTIONTRANSLATIONID" value="70108db9-2c27-438d-9dff-d01c8b54c8c7"/>
+      <column name="OBJECT_TYPE" value="Product"/>
+      <column name="DESCRIPTION" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
       <column name="LANG" value="deu"/>
       <column name="OBJECT_ROWID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="OBJECT_TYPE" value="Product"/>
     </insert>
     <insert tableName="descriptiontranslation">
-      <column name="DESCRIPTION" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
       <column name="DESCRIPTIONTRANSLATIONID" value="91f7d8e8-136c-46de-8d01-ba231ebb49e3"/>
+      <column name="OBJECT_TYPE" value="Product"/>
+      <column name="DESCRIPTION" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
       <column name="LANG" value="deu"/>
       <column name="OBJECT_ROWID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
-      <column name="OBJECT_TYPE" value="Product"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/district.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/district.xml
new file mode 100644
index 0000000000..0c520cdad3
--- /dev/null
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/district.xml
@@ -0,0 +1,51 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="ec5e2484-6162-4455-9356-fede3aeb8002">
+    <delete tableName="district"/>
+    <insert tableName="district">
+      <column name="DISTRICT_NAME" value="Norddeutschland"/>
+      <column name="DISTRICTID" value="08026817-e05f-469f-9a55-00fee0ec0fac"/>
+      <column name="DISTRICT_INFO" value="Hamburg"/>
+      <column name="PARENTDISTRICT_DISTRICTID" value="7fc6c55e-f4af-4f77-8c09-b6cc2d95862f"/>
+      <column name="DISTRICT_NUMBER" valueNumeric="2"/>
+      <column name="DISTRICT_FILTER" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;Addresses.CITY&quot;,&quot;operator&quot;:&quot;EQUAL&quot;,&quot;value&quot;:&quot;Hamburg&quot;,&quot;key&quot;:&quot;Hamburg&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ISO3" value="deu"/>
+      <column name="DISTRICT_STATUS" valueNumeric="0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:25:04"/>
+    </insert>
+    <insert tableName="district">
+      <column name="DISTRICT_NAME" value="MAB"/>
+      <column name="DISTRICTID" value="502d71dd-a26a-41b9-a762-8c5bde80ca4e"/>
+      <column name="DISTRICT_INFO" value="Maschinen- und Anlagenbau"/>
+      <column name="DISTRICT_NUMBER" valueNumeric="4"/>
+      <column name="DISTRICT_FILTER" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;#EXTENSION.ClassificationType_filter.d67397c5-5e05-433b-b61d-12807906aa5a#TEXT&quot;,&quot;operator&quot;:&quot;EQUAL&quot;,&quot;value&quot;:&quot;Maschinen und Anlagen&quot;,&quot;key&quot;:&quot;3eb18b76-f51e-4ad2-9080-74b4a603667b&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ISO3" value="deu"/>
+      <column name="DISTRICT_STATUS" valueNumeric="0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:29:18"/>
+    </insert>
+    <insert tableName="district">
+      <column name="DISTRICT_NAME" value="Deutschland"/>
+      <column name="DISTRICTID" value="7fc6c55e-f4af-4f77-8c09-b6cc2d95862f"/>
+      <column name="DISTRICT_INFO" value="Deutschland Gesamt"/>
+      <column name="DISTRICT_NUMBER" valueNumeric="1"/>
+      <column name="DISTRICT_FILTER" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;#EXTENSION.ClassificationType_filter.037a9de1-fa6d-4895-9db3-82f7769682ae#TEXT&quot;,&quot;operator&quot;:&quot;EQUAL&quot;,&quot;value&quot;:&quot;Deutschland&quot;,&quot;key&quot;:&quot;b7b763d4-994d-483d-9a1c-6eb85786d61a&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ISO3" value="deu"/>
+      <column name="DISTRICT_STATUS" valueNumeric="0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:18:23"/>
+    </insert>
+    <insert tableName="district">
+      <column name="DISTRICT_NAME" value="München"/>
+      <column name="DISTRICTID" value="eef5f9a1-c849-4530-8068-1927d2b0e4d7"/>
+      <column name="PARENTDISTRICT_DISTRICTID" value="7fc6c55e-f4af-4f77-8c09-b6cc2d95862f"/>
+      <column name="DISTRICT_NUMBER" valueNumeric="3"/>
+      <column name="DISTRICT_FILTER" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;Addresses.CITY&quot;,&quot;operator&quot;:&quot;EQUAL&quot;,&quot;value&quot;:&quot;München&quot;,&quot;key&quot;:&quot;München&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="ISO3" value="deu"/>
+      <column name="DISTRICT_STATUS" valueNumeric="0"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:28:09"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/districtresponsible.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/districtresponsible.xml
new file mode 100644
index 0000000000..b7363d7442
--- /dev/null
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/districtresponsible.xml
@@ -0,0 +1,34 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="cb1c6baa-9478-45d3-9476-c72d6a8cbf50">
+    <delete tableName="districtresponsible"/>
+    <insert tableName="districtresponsible">
+      <column name="DISTRICTRESPONSIBLEID" value="79423e23-9079-4d60-98ae-efb08c082f32"/>
+      <column name="DISTRICT_ID" value="08026817-e05f-469f-9a55-00fee0ec0fac"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="EMPLOYEE_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:31:52"/>
+    </insert>
+    <insert tableName="districtresponsible">
+      <column name="DISTRICTRESPONSIBLEID" value="83117f7a-b0b2-4cc9-b654-3d4833e9bd34"/>
+      <column name="DISTRICT_ID" value="eef5f9a1-c849-4530-8068-1927d2b0e4d7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="EMPLOYEE_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:28:58"/>
+    </insert>
+    <insert tableName="districtresponsible">
+      <column name="DISTRICTRESPONSIBLEID" value="ddeb50e7-b838-45a7-99ed-75053a0201c9"/>
+      <column name="DISTRICT_ID" value="7fc6c55e-f4af-4f77-8c09-b6cc2d95862f"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="EMPLOYEE_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:21:13"/>
+    </insert>
+    <insert tableName="districtresponsible">
+      <column name="DISTRICTRESPONSIBLEID" value="e4a51357-23dd-4904-b62e-7cccaaa6eb2c"/>
+      <column name="DISTRICT_ID" value="502d71dd-a26a-41b9-a762-8c5bde80ca4e"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="EMPLOYEE_CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T08:30:33"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplate.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplate.xml
index e067029773..3edae4a977 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplate.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplate.xml
@@ -1,107 +1,107 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="bf3a07e0-44e0-4712-bd42-a17f949675b0">
-        <delete tableName="documenttemplate"/>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="3"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:07:01"/>
-            <column name="DOCUMENTTEMPLATEID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="TEX"/>
-            <column name="NAME" value="Angebotskopftext mit Dank"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="2"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:03:43"/>
-            <column name="DOCUMENTTEMPLATEID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="MAI"/>
-            <column name="NAME" value="Erstkontakt ADITO"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="1"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:03:22"/>
-            <column name="DOCUMENTTEMPLATEID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="LET"/>
-            <column name="NAME" value="Standardbriefvorlage"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="2"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T06:59:35"/>
-            <column name="DESCRIPTION" value="Diese Email wird an Interessenten versendet, um ihnen erste Informationen zukommen zu lassen."/>
-            <column name="DOCUMENTTEMPLATEID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="MAI"/>
-            <column name="NAME" value="Erstkontakt meineFirma"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="1"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:03:08"/>
-            <column name="DOCUMENTTEMPLATEID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="LET"/>
-            <column name="NAME" value="Kostenübernahmeerklärung"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="2"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:02:46"/>
-            <column name="DOCUMENTTEMPLATEID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="LET"/>
-            <column name="NAME" value="Geschaeftspapiere"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="2"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:00:37"/>
-            <column name="DOCUMENTTEMPLATEID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="MAI"/>
-            <column name="NAME" value="Telefonkonferenz-Einladung"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="4"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:10:02"/>
-            <column name="DOCUMENTTEMPLATEID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="TEX"/>
-            <column name="NAME" value="Angebotsfußtext mit Dank"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="7"/>
-            <column name="DATE_NEW" valueDate="2019-10-17T07:01:34"/>
-            <column name="DESCRIPTION" value="Fußtext mit Logo, Informationen und Links zu meineFirma."/>
-            <column name="DOCUMENTTEMPLATEID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="TEX"/>
-            <column name="NAME" value="footer_meineFrima"/>
-            <column name="REPLACEMENTNAME" value="footermeineFirma"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="DATE_NEW" valueDate="2019-10-17T07:04:35"/>
-            <column name="DOCUMENTTEMPLATEID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="ATT"/>
-            <column name="NAME" value="Rahmenvertrag"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-        <insert tableName="documenttemplate">
-            <column name="CLASSIFICATION" value="2"/>
-            <column name="DATE_NEW" valueDate="2020-03-24T14:50:41"/>
-            <column name="DOCUMENTTEMPLATEID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
-            <column name="ISOLANGUAGE" value="deu"/>
-            <column name="KIND" value="MAI"/>
-            <column name="NAME" value="Angebotsanfrage"/>
-            <column name="USER_NEW" value="Admin"/>
-        </insert>
-    </changeSet>
+  <changeSet author="autogenerated" id="895063dd-6f2e-4a52-ab28-f004cca7dff4">
+    <delete tableName="documenttemplate"/>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="TEX"/>
+      <column name="NAME" value="Angebotskopftext mit Dank"/>
+      <column name="CLASSIFICATION" value="3"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:07:01"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="MAI"/>
+      <column name="NAME" value="Erstkontakt ADITO"/>
+      <column name="CLASSIFICATION" value="2"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:03:43"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="LET"/>
+      <column name="NAME" value="Standardbriefvorlage"/>
+      <column name="CLASSIFICATION" value="1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:03:22"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="MAI"/>
+      <column name="NAME" value="Erstkontakt meineFirma"/>
+      <column name="DESCRIPTION" value="Diese Email wird an Interessenten versendet, um ihnen erste Informationen zukommen zu lassen."/>
+      <column name="CLASSIFICATION" value="2"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T06:59:35"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="LET"/>
+      <column name="NAME" value="Kostenübernahmeerklärung"/>
+      <column name="CLASSIFICATION" value="1"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:03:08"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="LET"/>
+      <column name="NAME" value="Geschaeftspapiere"/>
+      <column name="CLASSIFICATION" value="2"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:02:46"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="MAI"/>
+      <column name="NAME" value="Telefonkonferenz-Einladung"/>
+      <column name="CLASSIFICATION" value="2"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:00:37"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="TEX"/>
+      <column name="NAME" value="Angebotsfußtext mit Dank"/>
+      <column name="CLASSIFICATION" value="4"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:10:02"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="REPLACEMENTNAME" value="footermeineFirma"/>
+      <column name="KIND" value="TEX"/>
+      <column name="NAME" value="footer_meineFrima"/>
+      <column name="DESCRIPTION" value="Fußtext mit Logo, Informationen und Links zu meineFirma."/>
+      <column name="CLASSIFICATION" value="7"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:01:34"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="ATT"/>
+      <column name="NAME" value="Rahmenvertrag"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-10-17T07:04:35"/>
+    </insert>
+    <insert tableName="documenttemplate">
+      <column name="DOCUMENTTEMPLATEID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="KIND" value="MAI"/>
+      <column name="NAME" value="Angebotsanfrage"/>
+      <column name="CLASSIFICATION" value="2"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-03-24T02:50:41"/>
+    </insert>
+  </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplatelink.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplatelink.xml
index bc4b2e4b83..9f02bd2271 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplatelink.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplatelink.xml
@@ -1,20 +1,20 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="17856652-ace7-45c3-9f9f-640e8ed24fe3">
+  <changeSet author="autogenerated" id="00e5216b-c7a5-4c08-a60c-22d1ebf89d17">
     <delete tableName="documenttemplatelink"/>
     <insert tableName="documenttemplatelink">
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="DOCUMENTTEMPLATELINKID" value="b6704427-602c-4e5b-8e57-5207136e0413"/>
-      <column name="DOCUMENTTEMPLATE_ID_CHILD" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
       <column name="DOCUMENTTEMPLATE_ID_PARENT" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
+      <column name="DOCUMENTTEMPLATE_ID_CHILD" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
     <insert tableName="documenttemplatelink">
-      <column name="DATE_NEW" valueDate="2020-06-26T00:00:00"/>
       <column name="DOCUMENTTEMPLATELINKID" value="f55b35f4-c915-455a-9e18-70f1709ea72b"/>
-      <column name="DOCUMENTTEMPLATE_ID_CHILD" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
       <column name="DOCUMENTTEMPLATE_ID_PARENT" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="DOCUMENTTEMPLATE_ID_CHILD" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
index 318aef6335..7f90602fe8 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
@@ -1,100 +1,106 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="62ad16a9-7312-4dda-9e4b-460673b9af82">
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b3af9285-63cc-4bc1-abf6-58091e18d10f"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0003e431-4355-4de5-aae8-2e08cf0703c9"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="78227d81-7af4-4f6c-95f0-348b87e8862e"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="256dad02-7433-45b3-9584-ec335e0bdcab"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="98022888-3232-4688-a2f5-17efdf440e85"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="97233a7f-d454-4cd3-8ead-49e3caa820a0"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0938ed90-7191-48b4-81b9-daf9244bbe71"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0c546f3e-11bb-4fbf-b2f0-a06bf36f55fa"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="32259cb7-f9ec-407b-9f91-807049ab013f"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="95985522-1197-4ba6-8e48-6f3eab25510a"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="464d1fa7-6a07-4ed0-8d4b-46e394cc4d56"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="9a2f13e5-68d9-4db4-919e-f9ee89c79439"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="1dcf4e02-79ad-463d-8956-a3886eba9546"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="f43bc91d-7fc1-4549-8a41-903c62673e43"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="ebbec7a2-a396-424a-aab5-1726254fc2e9"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="7fa4140f-7489-416e-83df-459f36628917"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="6329678a-70cf-4216-b529-99c90524fdb2"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
-            <column name="PLACEOFUSE" value="Organisation"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="ca93ae0d-bd78-44a6-b781-e060da44e17e"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
-            <column name="PLACEOFUSE" value="Person"/>
-        </insert>
-        <insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
-            <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="8e40cdb0-6754-4b88-b779-a10d354edcf7"/>
-            <column name="DOCUMENTTEMPLATE_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
-            <column name="PLACEOFUSE" value="Offer"/>
-        </insert>
-    </changeSet>
-</databaseChangeLog>
+  <changeSet author="autogenerated" id="f40ae58d-f9bd-4aba-877a-3296c5af7b57">
+    <delete tableName="documenttemplateplaceofuse"/>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0003e431-4355-4de5-aae8-2e08cf0703c9"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0938ed90-7191-48b4-81b9-daf9244bbe71"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="21a32662-687e-4592-b92e-1e0a93969e1f"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="0c546f3e-11bb-4fbf-b2f0-a06bf36f55fa"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="1dcf4e02-79ad-463d-8956-a3886eba9546"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="256dad02-7433-45b3-9584-ec335e0bdcab"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="32259cb7-f9ec-407b-9f91-807049ab013f"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="464d1fa7-6a07-4ed0-8d4b-46e394cc4d56"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="6329678a-70cf-4216-b529-99c90524fdb2"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="78227d81-7af4-4f6c-95f0-348b87e8862e"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="7fa4140f-7489-416e-83df-459f36628917"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
+      <column name="PLACEOFUSE" value="Offer"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="8e40cdb0-6754-4b88-b779-a10d354edcf7"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="95985522-1197-4ba6-8e48-6f3eab25510a"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="97233a7f-d454-4cd3-8ead-49e3caa820a0"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="98022888-3232-4688-a2f5-17efdf440e85"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="9106d24f-8afc-491d-8309-ea20377466ac"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="9a2f13e5-68d9-4db4-919e-f9ee89c79439"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="034a68c9-81bb-46f9-b936-3b195a8d54fd"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b3af9285-63cc-4bc1-abf6-58091e18d10f"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b4fafa76-73f2-43ee-8a88-12d30946f1bb"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="151fcb6f-683b-4398-9fa0-afc202d688f0"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="ca93ae0d-bd78-44a6-b781-e060da44e17e"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="e70b9ef1-f0a3-4cd2-b3cd-fa7b4229ee73"/>
+      <column name="PLACEOFUSE" value="Person"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="ebbec7a2-a396-424a-aab5-1726254fc2e9"/>
+    </insert>
+    <insert tableName="documenttemplateplaceofuse">
+      <column name="DOCUMENTTEMPLATE_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="f43bc91d-7fc1-4549-8a41-903c62673e43"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvo.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvo.xml
index 0f3a184082..00fe7cc3ef 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvo.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvo.xml
@@ -1,1384 +1,1384 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="f74c5d61-ca3b-43cd-a5d8-6f8d65c6fb0c">
+  <changeSet author="autogenerated" id="377e3790-2edd-4465-9db9-0ebf5b9a5095">
     <delete tableName="dsgvo"/>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:05:43"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="04bd12aa-d5a6-4c83-b3fa-4155008a2f9c"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:05:43"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:26"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="04ee4f0c-0d40-49e2-984d-fbca4d4adbf5"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2023-11-14T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:26"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2023-11-14T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:18:00"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="056930c0-2eb8-4c04-a467-72caff2813b6"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="4ba08e1c-7094-412c-b4a4-210a330f6d71"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:18:00"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="4ba08e1c-7094-412c-b4a4-210a330f6d71"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:11:54"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="0675a250-3145-42e0-ae9d-1589db5bdaaf"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:11:54"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:58:34"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:27:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="09a62d74-866e-4370-bec8-04d09028bcc4"/>
-      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:58:34"/>
+      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:27:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:54:28"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="0efa86aa-28c7-4201-9733-3be3e4556705"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-14T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:54:28"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="af5ac56e-a0e2-4693-b92b-7ea275721372"/>
+      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-14T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:03:43"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="0f468c3f-9d96-4fc1-b702-f6df2a7dbae6"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="9a440c7f-5f00-43f0-9c0b-fb1b8a35721e"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:03:43"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="9a440c7f-5f00-43f0-9c0b-fb1b8a35721e"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:03:59"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="0fbb3a7d-d20f-4fe1-bead-db8015f1913a"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="58d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:03:59"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="58d01219-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:02"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="106d5c23-2afe-45ea-860c-fa92489aa5f8"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="38d42eff-c782-4ffa-80d7-db812cf1c6db"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:02"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="38d42eff-c782-4ffa-80d7-db812cf1c6db"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:28:48"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="19b1bab3-7073-47fb-93a5-936fb8e4b3d2"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:28:48"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:58:25"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="1c836321-afe8-40bb-919b-4aa772ea4a6b"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:58:25"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:10:22"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="1d399e11-e3d0-4319-b4ad-50485a19dea2"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:10:22"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:34:13"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="1dcc0c19-75fa-4055-9d3e-7469c6f97672"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:34:13"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:55:46"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="211213ae-943a-4f28-986a-a3ab7bc429ae"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="5270133a-a59a-41c0-a812-2618c7557215"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:55:46"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="5270133a-a59a-41c0-a812-2618c7557215"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:13:53"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="234691e7-3ca9-48f0-a374-5f5d55b63445"/>
-      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:13:53"/>
+      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:04:25"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="23a744ab-b203-435b-8100-fe02587602d0"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="14d05619-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:04:25"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="14d05619-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:52"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="28a96745-50d5-4820-ac6b-7bcb01e07af2"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:52"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:10:44"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="2e42e6cd-2f7a-4ca5-b14f-9a0ed7d82694"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="e2fcaf67-b1fd-4d2e-9848-ba45677cf494"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:10:44"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e2fcaf67-b1fd-4d2e-9848-ba45677cf494"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:36:41"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="314df6d4-0098-4b77-9e97-92e5f0d12535"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d721d57c-7cb0-45ee-a12f-982ec4efb62c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:36:41"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d721d57c-7cb0-45ee-a12f-982ec4efb62c"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:21:21"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="33ea7122-84bd-41b8-8231-51dd64ac6f93"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="3ccc54d5-dfb0-4da9-a0a0-472025f65994"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:21:21"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="3ccc54d5-dfb0-4da9-a0a0-472025f65994"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:09:28"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="369ae4bd-e6d2-4792-add3-77eb2ee4d5ca"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:09:28"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:02"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="3ce75887-f859-4df8-8ea2-e56ca31e74bf"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:02"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:25:50"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:22:47"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="42c9409a-5176-43fe-b8fd-4dded90f93ad"/>
-      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="PURPOSE" value="DSGVOADS"/>
-      <column name="ROW_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:25:50"/>
+      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/>
+      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:22:47"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:14:12"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="4a6e2dd5-cbf8-45f8-9546-152c73fc73b4"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:14:12"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:45:40"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="4e1e9d77-53e5-4805-91a3-69127e96f45a"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:45:40"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:58:45"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="5233c17e-d4e7-49ad-8594-6bb4706c0d88"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="43b8aea1-2444-448f-87c5-f12fe1ef4ca0"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:58:45"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="43b8aea1-2444-448f-87c5-f12fe1ef4ca0"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:56:11"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="52d25355-29c5-4b41-a5bb-4496b2fd1b3e"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:56:11"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:02:26"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="582c1721-8efa-4d21-bcdd-5199eca01a7b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="b3be54f7-884c-4a88-8c4b-b52a4595d547"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:02:26"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="b3be54f7-884c-4a88-8c4b-b52a4595d547"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:21:14"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="599403df-754b-4d93-bfe2-3e8e7d4d2633"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="ecb6313a-3663-45b0-80db-453a43eb0d0d"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:21:14"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ecb6313a-3663-45b0-80db-453a43eb0d0d"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:03"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="5a6fdfa7-9f75-4eaa-8c5d-e81836ef1d31"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:03"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:04:43"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="5d30593a-d3f1-45b6-be69-7bd3c3efa54b"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:04:43"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:02:08"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="5f7ead22-10a9-447c-82c8-850881f179be"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d6a0723c-5e4d-4771-8808-79b510e864cb"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:02:08"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d6a0723c-5e4d-4771-8808-79b510e864cb"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:46"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="5fac03b6-10e5-4cfd-b889-21920b91d981"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:56:46"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:11:06"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="60ae12ad-befd-451d-bab7-90ca4329faa4"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="ddcc3940-fdb2-49b1-8812-1e7d2ecf2598"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:11:06"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ddcc3940-fdb2-49b1-8812-1e7d2ecf2598"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:10:17"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:50:43"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="62213c13-1462-4fa2-8355-97f59a81640e"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2023-11-08T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:50:43"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
+      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2023-11-08T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:06:40"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="6605f260-6540-491d-a650-95469f742206"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d5a90157-2c05-474c-aeda-0ab08d26075a"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2027-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:06:40"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d5a90157-2c05-474c-aeda-0ab08d26075a"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2027-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:41"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="715da210-7de6-474d-84f5-765b8fc07ffc"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="22d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2021-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:41"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="22d01219-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2021-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:44:20"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7363cf90-0e3f-4417-a748-b929c1c0b417"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="cc2f1e5f-9cd9-4bbb-87d4-a98d883ebbc1"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:44:20"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="cc2f1e5f-9cd9-4bbb-87d4-a98d883ebbc1"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:02:39"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="76cabafa-30ac-4926-97c4-9e89a718301b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="76a59a85-c04a-4f37-b276-d022c568e071"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:02:39"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="76a59a85-c04a-4f37-b276-d022c568e071"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:58:59"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7a088406-3629-4da4-b18b-228aa932f0dd"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d0629982-5797-4eda-b36b-a58d2fc551ec"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:58:59"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d0629982-5797-4eda-b36b-a58d2fc551ec"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:37:04"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7aece091-dfa4-48f2-bec9-d98d755c7e4a"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="e21bc8d9-f546-4f97-9c4c-4e4de67512a7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:37:04"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e21bc8d9-f546-4f97-9c4c-4e4de67512a7"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:08:47"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7c8aeec0-b7be-4122-9150-f0933176cf01"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-07T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:08:47"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-07T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:05"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7dfa8520-6046-4797-8940-80365c6e9656"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:05"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:04"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="7e1f5ad1-c265-4779-a8d6-a524deafe75e"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:04"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:26"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="8030b2e3-71d7-4383-a179-9ce98fbca092"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="82584c83-5a7d-4923-8907-2953240fb8e5"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:26"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="82584c83-5a7d-4923-8907-2953240fb8e5"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:07:13"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="8048338e-03c3-4e53-bf6d-36b4ca49b0c2"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="2561b25b-1af2-4512-a77f-97d542c578b7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:07:13"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="2561b25b-1af2-4512-a77f-97d542c578b7"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:17:36"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="81db0957-1a05-4921-87bd-985331a78731"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:17:36"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T01:24:49"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="82dda6d8-8870-4d37-8167-d590e1d51ad0"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOADS"/>
-      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-30T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T01:24:49"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-30T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:11:47"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="849b4cf4-3d68-4797-9f59-e1c6c70bfb4f"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:11:47"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:21:38"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="87517c3e-8d43-4da6-8816-32af7e9b33ac"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="106b7d14-8973-4122-a9af-4ece26f4fd73"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:21:38"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="106b7d14-8973-4122-a9af-4ece26f4fd73"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:21"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="87e72010-ddcc-48a7-9b80-b8ef021f4222"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="7c3ba80d-52ee-4275-a6b3-3afad4fb59b9"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2023-11-09T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:21"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="7c3ba80d-52ee-4275-a6b3-3afad4fb59b9"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2023-11-09T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
     </insert>
-    <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:04:48"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
+    <insert tableName="dsgvo">
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="88e1d8a3-9b86-4316-ae00-d71102900d09"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:04:48"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:43:52"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="8a5cc591-31ae-4cad-9bec-47ab49f07156"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="b986e88b-d637-47e5-8553-addbd8b31488"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:43:52"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="b986e88b-d637-47e5-8553-addbd8b31488"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:57:11"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="8be7973a-0e1c-4e86-ab33-96b16f3dab18"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="56e9d5fe-b77d-4321-938c-d331cd5b3e1e"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:57:11"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="56e9d5fe-b77d-4321-938c-d331cd5b3e1e"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:55:56"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:43:34"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="8e66d62d-3d03-46d1-85e5-ce34f289906c"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:43:34"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:43:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:08:23"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="905dad1c-b539-4836-9e79-50a7de5ddf6b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="e0662d2c-ea02-4796-8783-a5ad4a8683fe"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-09T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:08:23"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e0662d2c-ea02-4796-8783-a5ad4a8683fe"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-09T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:02"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="91bd44c6-0767-438b-b91c-9c5bc81795f3"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="7ff7d10a-41ba-4c6e-8c78-c47bd8df7579"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:02"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="7ff7d10a-41ba-4c6e-8c78-c47bd8df7579"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:02:10"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="92391423-29d3-437e-bba3-ade28c25bb3f"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="e076075c-1d67-4a9d-aed8-1a66bb1adfb2"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:02:10"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="e076075c-1d67-4a9d-aed8-1a66bb1adfb2"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:03:40"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="9600335c-a726-49e3-990a-1b9c42d53ff0"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-23T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:03:40"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-23T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:24:11"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="98e053e6-cce6-41fa-944d-f49087c0317d"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:24:11"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:35"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="9a046718-1dc4-4f5f-ae24-c38879d80b5d"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-10T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:35"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-10T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:03:45"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="9b1e6393-da94-47eb-9681-c39a87a57934"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-09T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:03:45"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-09T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:03:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:29:10"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="9b8c9d82-3617-4668-ab8e-43ed2473d242"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="de32eb0c-672b-4ce5-a80e-63a8ac976599"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:29:10"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="de32eb0c-672b-4ce5-a80e-63a8ac976599"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:59:30"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="9be8a5ac-5f56-473a-9f85-b8bf69055c68"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="98bb2c06-db4c-4188-9676-67fb32881a1f"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:59:30"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="98bb2c06-db4c-4188-9676-67fb32881a1f"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:59"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="9dc03519-9192-41c8-b022-66c7ddee3017"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:40:59"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:15:29"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="a039f1de-1d62-487d-85d6-4b9549daf511"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="f95dfa47-a5ff-407a-9c1c-826c5aa72c72"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:15:29"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="f95dfa47-a5ff-407a-9c1c-826c5aa72c72"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:22:55"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:22:47"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="a2433fd9-0e04-409e-8275-d3fcd7c543f4"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:22:55"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
+      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2019-11-30T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:22:47"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:18"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="a823a345-1fba-483a-a5a6-ad3dc5f0a7a9"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="949aae5e-2546-437b-af27-0ac1b18d3970"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-23T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:06:18"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="949aae5e-2546-437b-af27-0ac1b18d3970"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-23T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:05:38"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:05:07"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="aaf42438-36d4-41b1-87b8-ddff78495244"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="11d01332-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:05:07"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="11d01332-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:03:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:33:42"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="ace78b90-1900-4b28-8374-9a1ac4ffd045"/>
+      <column name="PURPOSE" value="DSGVOINTEREST"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:33:42"/>
       <column name="DSGVOTYPE" value="TYPE_NAME"/>
-      <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:20:31"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="ae8a092a-44bf-4ca2-a528-725cadbd56ab"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:20:31"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:20:26"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:07:49"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="b06700e7-aa36-4105-8cfd-239a8ca1c1af"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:07:49"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:09:49"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="b2b9b066-c011-4e98-aef5-a64a2f00a446"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="bde2ff44-c2f1-421e-919f-6e7194c951ec"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-15T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:09:49"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="bde2ff44-c2f1-421e-919f-6e7194c951ec"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-15T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:02:05"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="b4539a30-645d-46a9-8541-4ee153a0a93e"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="8600ac7a-7b4a-4db5-8f43-9c104604f423"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:02:05"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="8600ac7a-7b4a-4db5-8f43-9c104604f423"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:15:09"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="b5fb15bf-5831-4759-a590-5269d0db50a2"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="b7a11507-0a52-46e4-bef4-f9bce325844f"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2023-11-15T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:15:09"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="b7a11507-0a52-46e4-bef4-f9bce325844f"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2023-11-15T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:59:52"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="b7ebeae3-b2dc-4832-8e29-91f119f2a477"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="529cadf7-7e9c-4828-9497-6ce6effb1624"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:59:52"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="529cadf7-7e9c-4828-9497-6ce6effb1624"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:14:38"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="b93ca9a1-ea30-4380-82f0-f2f2e000352c"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="6de0cb05-ebf3-4884-ba21-85117fc95dd7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:14:38"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="6de0cb05-ebf3-4884-ba21-85117fc95dd7"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:54:51"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="ba8892ba-b0a4-4e88-ae41-3d3289b1e68a"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d32b5d16-3136-49ff-8c6c-71b7fe501552"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-10T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:54:51"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d32b5d16-3136-49ff-8c6c-71b7fe501552"/>
+      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-10T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T03:50:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:59:21"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="bad6f84f-94a0-4b5e-8a93-78301aef5c94"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d395f5eb-ff5f-4cd6-9e52-04066349d523"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:59:21"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d395f5eb-ff5f-4cd6-9e52-04066349d523"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:37:29"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="bb96556b-4673-4a21-a157-e0a3cf683343"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:37:29"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:33:36"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:30:55"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="bc0b2645-dfac-45c7-b3d1-7a6c9e299238"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="a7cd429f-b81c-4bfe-9aa1-06d77d728812"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:30:55"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="a7cd429f-b81c-4bfe-9aa1-06d77d728812"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:40"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="bc31e8d5-d674-4b32-bec9-c5dea9f86f99"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-11T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:48:40"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-11T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:56:37"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="bc93bbb0-7f19-4a4d-8a11-293acf5a6421"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="ea561d25-863a-4666-bc57-00a414fa1bf2"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:56:37"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ea561d25-863a-4666-bc57-00a414fa1bf2"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:08:43"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="be12b2d9-d9b0-4e0a-a091-d7ebfc056201"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="674a8118-31ef-492c-83c6-6ecfcebc9c9a"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:08:43"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="674a8118-31ef-492c-83c6-6ecfcebc9c9a"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:15:57"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="c497f993-f768-4127-a609-0ca9b689d44b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="886854ab-635e-40e5-9427-c90a6642b964"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:15:57"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="886854ab-635e-40e5-9427-c90a6642b964"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:41:20"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="c737115f-3f5b-449d-905d-a9e2cb610952"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="14d01219-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:41:20"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="14d01219-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:11:17"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="c73795f2-8240-4a40-b81b-fac269a7cf50"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:11:17"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:07:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:01:46"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="cb413cc3-087d-4f30-887b-e4e9c5903ca9"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-02T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:01:46"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-02T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:01:40"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:01:51"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="cb8517c0-3d64-4d87-9b60-e824d5aeee1f"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:01:51"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:45"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="cbe02663-bd3f-41f1-9465-83d2ad3ab86b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="f31e7b32-cc81-4b6a-868f-e9f4879dcee3"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:12:45"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="f31e7b32-cc81-4b6a-868f-e9f4879dcee3"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:11:42"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:49:44"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="cdfff3f2-d5e0-4c99-9a5c-d25cd5b03aa1"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:49:44"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-18T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:53:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:44:56"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="d472dfd8-7022-4da2-a544-6349dc6509ee"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:44:56"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:54"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="db9b3ed2-b682-49f5-81ff-0c0d803f6623"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="4602f1f8-7a40-4c0d-bb92-649935d11bd6"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2023-11-15T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:46:54"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="4602f1f8-7a40-4c0d-bb92-649935d11bd6"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2023-11-15T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:44:49"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:16:53"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="dcb948ef-d09b-4678-a3f3-2a7470dda81a"/>
-      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:16:53"/>
+      <column name="DSGVOTYPE" value="TYPE_ATTR"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:11:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:57:11"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="decb41e4-312c-4266-bd11-8826d55fcd87"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="a8dca1e8-f787-446b-b065-8089322b0402"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:57:11"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="a8dca1e8-f787-446b-b065-8089322b0402"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T07:51:59"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:18:47"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="e026f337-922d-411a-a212-97536f35629b"/>
-      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="c7d84edf-1a48-45fd-8364-e29f45ac1739"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:18:47"/>
+      <column name="DSGVOTYPE" value="TYPE_COMM"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="c7d84edf-1a48-45fd-8364-e29f45ac1739"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:17:30"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:32:19"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="e9efdc04-a24e-4755-a3cb-dc751c201457"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:32:19"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:14:52"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
       <column name="DSGVOID" value="ea7c493d-7f18-4768-afe0-5a145937e82c"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONSENT"/>
+      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:14:52"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-24T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:14:48"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:00:18"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="ed2a38da-894e-4a9d-8611-c6177e721a00"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:00:18"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T04:01:45"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="ef8defee-d85d-4a84-83f7-643e0ef64ddc"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T04:01:45"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:01:37"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:01:15"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="f53458cf-dcba-4e0a-a06d-26810bfdcde0"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:01:15"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T04:58:18"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T09:09:26"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="f593030e-4f07-45f1-b64b-1d63b0f1e045"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVONEWS"/>
-      <column name="ROW_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T09:09:26"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T09:06:46"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:41:38"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="f7ba18de-ca9f-4084-bded-c4e555d3960e"/>
-      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="14d01332-985b-4efe-a634-da71ae482907"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:41:38"/>
+      <column name="DSGVOTYPE" value="TYPE_ADDRESS"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="14d01332-985b-4efe-a634-da71ae482907"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:38:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T03:59:48"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="f97dc957-3dbf-41c5-9334-45552930162d"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T03:59:48"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-16T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T01:24:28"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:26:42"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="fa987d76-2ec3-4a0e-be60-6e000b9c1352"/>
-      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:26:42"/>
+      <column name="DSGVOTYPE" value="TYPE_NAME"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:26:34"/>
     </insert>
     <insert tableName="dsgvo">
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T05:04:09"/>
-      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
+      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
       <column name="DSGVOID" value="fae320aa-8cc1-4000-9dc0-05a267f7eb84"/>
-      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="PURPOSE" value="DSGVOINTEREST"/>
-      <column name="ROW_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-      <column name="STATUORITYSOURCE" value="DSGVOCONTRACT"/>
+      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T05:04:09"/>
+      <column name="DSGVOTYPE" value="TYPE_BIRTH"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="ROW_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VALID_TO" valueDate="2022-11-17T12:00:00"/>
+      <column name="DATE_NEW" valueDate="2019-11-25T05:01:43"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvoinfo.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvoinfo.xml
index 3833595792..9d3ad487ec 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvoinfo.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/dsgvoinfo.xml
@@ -1,12 +1,12 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="12efdf16-b433-4e71-b204-b215e17149f3">
+  <changeSet author="autogenerated" id="0382d26e-d391-49d0-9ddc-48b8314d2883">
     <delete tableName="dsgvoinfo"/>
     <insert tableName="dsgvoinfo">
-      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
+      <column name="TRANSMISSION" value="DSGVONONE"/>
       <column name="DATASOURCE" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="CONTACT_ID" value="b3906c2d-7b2e-4f64-8c97-ae92e39f96b6"/>
       <column name="DSGVOINFOID" value="6b117aad-02f4-4746-985a-de931059b72e"/>
-      <column name="TRANSMISSION" value="DSGVONONE"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/duplicatescanner.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/duplicatescanner.xml
new file mode 100644
index 0000000000..c7e0ec1fa9
--- /dev/null
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/duplicatescanner.xml
@@ -0,0 +1,30 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="1e234cd9-4ae8-4b7f-9e10-503494099a89">
+    <delete tableName="duplicatescanner"/>
+    <insert tableName="duplicatescanner">
+      <column name="FILTER_NAME" value="OrganisationDuplicates"/>
+      <column name="EXTERNAL_SERVICE_USAGE_ALLOWED" valueNumeric="0"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
+      <column name="ENTITY_TO_SCAN_NAME" value="Organisation_entity"/>
+      <column name="ID" value="8fa3ab66-cc01-45b6-88f3-a9e76bad7db0"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="ID_FIELD_NAME" value="CONTACTID"/>
+      <column name="SCAN_PATTERN" value="{&quot;entity&quot;:&quot;Organisation_entity&quot;,&quot;provider&quot;:&quot;indexP&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;NAME&quot;,&quot;operator&quot;:&quot;CONTAINSNOT&quot;,&quot;value&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;key&quot;:&quot;[\&quot;gmbh\&quot;, \&quot;co\&quot;, \&quot;kg\&quot;, \&quot;ag\&quot;, \&quot;bank\&quot;, \&quot;deutsche\&quot;, \&quot;van\&quot;, \&quot;software\&quot;, \&quot;medien\&quot;, \&quot;print\&quot;]&quot;,&quot;contenttype&quot;:&quot;LONG_TEXT&quot;},{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;STANDARD_CITY&quot;,&quot;operator&quot;:&quot;ISNOTNULL&quot;,&quot;value&quot;:&quot;&quot;,&quot;key&quot;:&quot;&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+    </insert>
+    <insert tableName="duplicatescanner">
+      <column name="FILTER_NAME" value="PersonDuplicates"/>
+      <column name="EXTERNAL_SERVICE_USAGE_ALLOWED" valueNumeric="0"/>
+      <column name="DATE_EDIT" valueDate="2020-06-26T12:00:00"/>
+      <column name="ENTITY_TO_SCAN_NAME" value="Person_entity"/>
+      <column name="ID" value="a8363f75-dc0a-412c-afe1-80ebacc26744"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="ID_FIELD_NAME" value="CONTACTID"/>
+      <column name="SCAN_PATTERN" value="{&quot;entity&quot;:&quot;Person_entity&quot;,&quot;provider&quot;:&quot;indexP&quot;,&quot;filter&quot;:{&quot;type&quot;:&quot;group&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;childs&quot;:[{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;FIRSTNAME&quot;,&quot;operator&quot;:&quot;ISNOTNULL&quot;,&quot;value&quot;:&quot;&quot;,&quot;key&quot;:&quot;&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;},{&quot;type&quot;:&quot;row&quot;,&quot;name&quot;:&quot;LASTNAME&quot;,&quot;operator&quot;:&quot;ISNOTNULL&quot;,&quot;value&quot;:&quot;&quot;,&quot;key&quot;:&quot;&quot;,&quot;contenttype&quot;:&quot;TEXT&quot;}]}}"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-06-26T12:00:00"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml
index 9888701686..8a24b9cb3f 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml
@@ -1,56 +1,53 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="62ad16a9-7312-4dda-9e4b-460673b9af82">
-    <insert tableName="EXPORTTEMPLATE">
-      <column name="EXPORTTEMPLATEID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:23"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
-      <column name="TITLE" value="Personen mit Anschriften"/>
-      <column name="FIELDSEPARATOR" value="semicolon"/>
-      <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
+  <changeSet author="autogenerated" id="fd5c82f7-945e-4b49-9242-18fd4ba50b70">
+    <delete tableName="exporttemplate"/>
+    <insert tableName="exporttemplate">
       <column name="FIELDDELIMITER" value="quotation mark"/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="DESCRIPTION" value="Name mit Anrede, Titel und vollständiger Addresse"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATE">
-      <column name="EXPORTTEMPLATEID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:23"/>
       <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
-      <column name="TITLE" value="Firmen mit Addressen"/>
-      <column name="FIELDSEPARATOR" value="comma"/>
-      <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
-      <column name="FIELDDELIMITER" value="quotation mark"/>
-      <column name="ISOLANGUAGE" value="deu"/>
-      <column name="DESCRIPTION" value="Firmen und deren Addressen"/>
+      <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer"/>
       <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATE">
-      <column name="EXPORTTEMPLATEID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:23"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
       <column name="TITLE" value="Personen und Kontaktmöglichkeiten"/>
+      <column name="EXPORTTEMPLATEID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
       <column name="FIELDSEPARATOR" value="tabulator"/>
       <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
+      <column name="USER_NEW" value="Admin"/>
+    </insert>
+    <insert tableName="exporttemplate">
       <column name="FIELDDELIMITER" value="quotation mark"/>
-      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="eng"/>
+      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
       <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="TITLE" value="Personen und Kontaktmöglichkeiten (Englisch)"/>
+      <column name="EXPORTTEMPLATEID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELDSEPARATOR" value="tabulator"/>
+      <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATE">
-      <column name="EXPORTTEMPLATEID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
-      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:23"/>
+    <insert tableName="exporttemplate">
+      <column name="FIELDDELIMITER" value="quotation mark"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
-      <column name="TITLE" value="Personen und Kontaktmöglichkeiten (Englisch)"/>
-      <column name="FIELDSEPARATOR" value="tabulator"/>
+      <column name="DESCRIPTION" value="Name mit Anrede, Titel und vollständiger Addresse"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="TITLE" value="Personen mit Anschriften"/>
+      <column name="EXPORTTEMPLATEID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+      <column name="FIELDSEPARATOR" value="semicolon"/>
       <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
+      <column name="USER_NEW" value="Admin"/>
+    </insert>
+    <insert tableName="exporttemplate">
       <column name="FIELDDELIMITER" value="quotation mark"/>
-      <column name="ISOLANGUAGE" value="eng"/>
-      <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/>
+      <column name="DESCRIPTION" value="Firmen und deren Addressen"/>
       <column name="USER_EDIT" value="Admin"/>
+      <column name="TITLE" value="Firmen mit Addressen"/>
+      <column name="EXPORTTEMPLATEID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
+      <column name="FIELDSEPARATOR" value="comma"/>
+      <column name="SENTENCESEPARATOR" value="carriage return and line feed"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml
index 96fc7f44fe..e282cf20af 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml
@@ -1,143 +1,144 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="62ad16a9-7312-4dda-9e4b-460673b9af82">
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="acb36d07-089e-4a25-a0c2-694b06e74ae5"/>
-      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@salutation@}"/>
-      <column name="SORTING" valueNumeric="1"/>
+  <changeSet author="autogenerated" id="365f6f08-7dd5-4bff-9556-faf94de8574f">
+    <delete tableName="exporttemplatefield"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="FIELD" value="{@lastname@}"/>
+      <column name="SORTING" valueNumeric="3"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="0804cb9a-0cfb-43d6-bd37-2680e24604b0"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="e1b5c9c8-846a-4195-af5c-09e923c1c1c6"/>
-      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@title@}"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELD" value="{@firstname@}"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="10194e81-65d8-4a12-acd3-123d6a692fba"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="34c65722-937f-4741-9c08-48a841e19527"/>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@firstname@}"/>
-      <column name="SORTING" valueNumeric="3"/>
+      <column name="FIELD" value="{@country@}"/>
+      <column name="SORTING" valueNumeric="5"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="224cf307-fe26-4a6b-aae8-61190a2bff19"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="330bc05f-501e-4774-85bc-046347829dda"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="FIELD" value="{@salutation@}"/>
+      <column name="SORTING" valueNumeric="1"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="300aeca0-0de8-4225-99ce-bcbb850016aa"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
       <column name="FIELD" value="{@lastname@}"/>
       <column name="SORTING" valueNumeric="4"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="330bc05f-501e-4774-85bc-046347829dda"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="224cf307-fe26-4a6b-aae8-61190a2bff19"/>
-      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@country@}"/>
-      <column name="SORTING" valueNumeric="5"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="FIELD" value="{@phone@}"/>
+      <column name="SORTING" valueNumeric="4"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="334146d9-7950-4c59-9b07-d89eb57a0da2"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="e9f1cd83-5652-4f5b-913b-40dea9eda1c8"/>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@region@}"/>
-      <column name="SORTING" valueNumeric="6"/>
+      <column name="FIELD" value="{@firstname@}"/>
+      <column name="SORTING" valueNumeric="3"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="34c65722-937f-4741-9c08-48a841e19527"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="779f6222-d1e8-4ec3-953a-31cb27115b9a"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
+      <column name="FIELD" value="{@address@}"/>
+      <column name="SORTING" valueNumeric="5"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="5ebc3ae4-80dd-497e-a26e-f275769f81e4"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
       <column name="FIELD" value="{@zipCode@}"/>
       <column name="SORTING" valueNumeric="7"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="779f6222-d1e8-4ec3-953a-31cb27115b9a"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="bffb3d69-7774-438e-85b2-81fc0629462a"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="FIELD" value="{@email@}"/>
+      <column name="SORTING" valueNumeric="5"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="8fd83e1e-e2ef-499c-9425-0da511fdb6fb"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELD" value="{@salutation@}"/>
+      <column name="SORTING" valueNumeric="1"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="a9fae3fa-e2c1-4c34-a264-e74bc93e6ac9"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
-      <column name="FIELD" value="{@address@}"/>
-      <column name="SORTING" valueNumeric="8"/>
+      <column name="FIELD" value="{@salutation@}"/>
+      <column name="SORTING" valueNumeric="1"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="acb36d07-089e-4a25-a0c2-694b06e74ae5"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="bfeb9284-6db4-4d15-a07b-9b3f21fe9c22"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELD" value="{@lastname@}"/>
+      <column name="SORTING" valueNumeric="3"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="ba303e1b-40c9-4fef-bbdf-6d16ab0dbeb0"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
       <column name="FIELD" value="{@country@}"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="bfeb9284-6db4-4d15-a07b-9b3f21fe9c22"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="c245bf8e-1d99-4d85-834c-64613bad5042"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+      <column name="FIELD" value="{@address@}"/>
+      <column name="SORTING" valueNumeric="8"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="bffb3d69-7774-438e-85b2-81fc0629462a"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
       <column name="FIELD" value="{@region@}"/>
       <column name="SORTING" valueNumeric="3"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="c245bf8e-1d99-4d85-834c-64613bad5042"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="c39bb945-ecd2-4836-9cee-002178ae9709"/>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
       <column name="FIELD" value="{@zipCode@}"/>
       <column name="SORTING" valueNumeric="4"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="c39bb945-ecd2-4836-9cee-002178ae9709"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="5ebc3ae4-80dd-497e-a26e-f275769f81e4"/>
-      <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
-      <column name="FIELD" value="{@address@}"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELD" value="{@phone@}"/>
+      <column name="SORTING" valueNumeric="4"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="cacce4e9-c9ad-4dd3-ac43-79684ef57008"/>
+    </insert>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="FIELD" value="{@email@}"/>
       <column name="SORTING" valueNumeric="5"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="d01169d3-aab0-4233-b5ec-02ede86995cf"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="e153ea76-5e68-497a-8a3e-9bb40ce734b3"/>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
       <column name="FIELD" value="{@orgname@}"/>
       <column name="SORTING" valueNumeric="1"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="e153ea76-5e68-497a-8a3e-9bb40ce734b3"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="e319ac75-3468-4167-8f0d-568a0dfaef7d"/>
-      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="FIELD" value="{@firstname@}"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+      <column name="FIELD" value="{@title@}"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="e1b5c9c8-846a-4195-af5c-09e923c1c1c6"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="0804cb9a-0cfb-43d6-bd37-2680e24604b0"/>
-      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="FIELD" value="{@lastname@}"/>
-      <column name="SORTING" valueNumeric="3"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="300aeca0-0de8-4225-99ce-bcbb850016aa"/>
-      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="FIELD" value="{@salutation@}"/>
-      <column name="SORTING" valueNumeric="1"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="334146d9-7950-4c59-9b07-d89eb57a0da2"/>
-      <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="FIELD" value="{@phone@}"/>
-      <column name="SORTING" valueNumeric="4"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="8fd83e1e-e2ef-499c-9425-0da511fdb6fb"/>
+    <insert tableName="exporttemplatefield">
       <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
-      <column name="FIELD" value="{@email@}"/>
-      <column name="SORTING" valueNumeric="5"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="10194e81-65d8-4a12-acd3-123d6a692fba"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
       <column name="FIELD" value="{@firstname@}"/>
       <column name="SORTING" valueNumeric="2"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="e319ac75-3468-4167-8f0d-568a0dfaef7d"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="ba303e1b-40c9-4fef-bbdf-6d16ab0dbeb0"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
-      <column name="FIELD" value="{@lastname@}"/>
-      <column name="SORTING" valueNumeric="3"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="a9fae3fa-e2c1-4c34-a264-e74bc93e6ac9"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
-      <column name="FIELD" value="{@salutation@}"/>
-      <column name="SORTING" valueNumeric="1"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="cacce4e9-c9ad-4dd3-ac43-79684ef57008"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
-      <column name="FIELD" value="{@phone@}"/>
-      <column name="SORTING" valueNumeric="4"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEFIELD">
-      <column name="EXPORTTEMPLATEFIELDID" value="d01169d3-aab0-4233-b5ec-02ede86995cf"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
-      <column name="FIELD" value="{@email@}"/>
-      <column name="SORTING" valueNumeric="5"/>
+    <insert tableName="exporttemplatefield">
+      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+      <column name="FIELD" value="{@region@}"/>
+      <column name="SORTING" valueNumeric="6"/>
+      <column name="EXPORTTEMPLATEFIELDID" value="e9f1cd83-5652-4f5b-913b-40dea9eda1c8"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml
index 02caafcd5a..a934feaf1a 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml
@@ -1,25 +1,26 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="62ad16a9-7312-4dda-9e4b-460673b9af82">
-    <insert tableName="EXPORTTEMPLATEPLACEOFUSE">
-      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819"/>
-      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+  <changeSet author="autogenerated" id="a8cceeec-17f1-4b4c-a68e-92689b9ba6c9">
+    <delete tableName="exporttemplateplaceofuse"/>
+    <insert tableName="exporttemplateplaceofuse">
+      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="135975c6-6c7a-408b-93e3-f04239503ff0"/>
       <column name="PLACEOFUSE" value="Person"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEPLACEOFUSE">
-      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="86865c59-aa8b-4511-bf3d-b069395c684d"/>
-      <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
-      <column name="PLACEOFUSE" value="Organisation"/>
-    </insert>
-    <insert tableName="EXPORTTEMPLATEPLACEOFUSE">
-      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f"/>
+    <insert tableName="exporttemplateplaceofuse">
       <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
+      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f"/>
       <column name="PLACEOFUSE" value="Person"/>
     </insert>
-    <insert tableName="EXPORTTEMPLATEPLACEOFUSE">
-      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="135975c6-6c7a-408b-93e3-f04239503ff0"/>
-      <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/>
+    <insert tableName="exporttemplateplaceofuse">
+      <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/>
+      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819"/>
       <column name="PLACEOFUSE" value="Person"/>
     </insert>
+    <insert tableName="exporttemplateplaceofuse">
+      <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/>
+      <column name="EXPORTTEMPLATEPLACEOFUSEID" value="86865c59-aa8b-4511-bf3d-b069395c684d"/>
+      <column name="PLACEOFUSE" value="Organisation"/>
+    </insert>
   </changeSet>
-</databaseChangeLog>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/forecast.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/forecast.xml
index 99435652dc..a47c729277 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/forecast.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/forecast.xml
@@ -1,78 +1,87 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="9946d88b-33c6-4bcc-81a6-e3c27aee669a">
+  <changeSet author="autogenerated" id="d5d62ca3-5ab3-4535-921a-c6ad83d5d8f0">
     <delete tableName="forecast"/>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-12-23T01:00:00"/>
-      <column name="FORECASTID" value="02f21967-1303-4a82-b4f7-3959097dca9c"/>
-      <column name="GROUPCODE" value="PRODUCTGROUP2"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="VOLUME" valueNumeric="25000"/>
+      <column name="FORECASTID" value="2d5c65fe-708b-4e54-96cf-d2fcdc98001f"/>
+      <column name="DATE_START" valueDate="2020-10-29T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="GROUPCODE" value="PRODUCTGROUP3"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="INFO" value="fc"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-05-17T02:00:00"/>
-      <column name="FORECASTID" value="2ba9de60-4c59-4441-96d8-2bee798b80fb"/>
+      <column name="VOLUME" valueNumeric="80000"/>
+      <column name="FORECASTID" value="37016eaa-ce14-45cd-8977-930cf6a20bb1"/>
+      <column name="DATE_START" valueDate="2020-12-30T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="GROUPCODE" value="PRODUCTGROUP3"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="75000"/>
+      <column name="INFO" value="fc"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-05-22T02:00:00"/>
-      <column name="FORECASTID" value="3379d40c-a21c-42ba-a9db-29eef26fcb35"/>
-      <column name="GROUPCODE" value="PRODUCTGROUP1"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="VOLUME" valueNumeric="100000"/>
-    </insert>
-    <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2018-04-17T02:00:00"/>
-      <column name="FORECASTID" value="5470f7bb-5917-4c11-8c24-b6c91cf4bd29"/>
-      <column name="GROUPCODE" value="PRODUCTGROUP3"/>
-      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+      <column name="FORECASTID" value="44bc5ce9-2456-4e04-8ff1-f35f2a71798f"/>
+      <column name="DATE_START" valueDate="2020-05-23T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="250000"/>
+      <column name="GROUPCODE" value="PRODUCTSERVICE"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="INFO" value="fc"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-09-23T02:00:00"/>
-      <column name="FORECASTID" value="6e36057c-1cf3-442a-ab7c-d608195c4290"/>
+      <column name="VOLUME" valueNumeric="25000"/>
+      <column name="FORECASTID" value="4cc2db79-5263-4ee7-a651-00e7ecb6cc33"/>
+      <column name="DATE_START" valueDate="2020-10-22T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="GROUPCODE" value="PRODUCTGROUP3"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="80000"/>
+      <column name="INFO" value="fc"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-05-23T02:00:00"/>
-      <column name="FORECASTID" value="a537b090-4292-446f-bdec-db491023a6bf"/>
-      <column name="GROUPCODE" value="PRODUCTSERVICE"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="VOLUME" valueNumeric="150000"/>
+      <column name="FORECASTID" value="655bf6c0-713a-4738-a649-b1f6e212bd92"/>
+      <column name="DATE_START" valueDate="2021-01-28T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="100000"/>
+      <column name="GROUPCODE" value="PRODUCTGROUP3"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="INFO" value="fc"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2016-05-02T02:00:00"/>
-      <column name="FORECASTID" value="b161df55-a04b-484f-b337-5e83bf4f38d3"/>
+      <column name="VOLUME" valueNumeric="100000"/>
+      <column name="FORECASTID" value="74d72ac5-11ba-414f-a8b4-d31481e90e7f"/>
+      <column name="DATE_START" valueDate="2020-10-29T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="GROUPCODE" value="PRODUCTGROUP3"/>
       <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="100000"/>
+      <column name="INFO" value="W3 "/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2019-10-17T02:00:00"/>
-      <column name="FORECASTID" value="b17a9912-07d3-46b7-90e3-cc912f3d85d8"/>
-      <column name="GROUPCODE" value="PRODUCTGROUP3"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="VOLUME" valueNumeric="100000"/>
+      <column name="FORECASTID" value="82dccf63-165f-4345-87a6-e3535ae58349"/>
+      <column name="DATE_START" valueDate="2020-05-22T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="25000"/>
+      <column name="GROUPCODE" value="PRODUCTGROUP1"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="INFO" value="FC"/>
     </insert>
     <insert tableName="forecast">
-      <column name="DATE_START" valueDate="2017-10-03T02:00:00"/>
-      <column name="FORECASTID" value="fbddbffb-dca1-4a83-95ea-0c518ed63363"/>
+      <column name="VOLUME" valueNumeric="75000"/>
+      <column name="FORECASTID" value="9b3c76ad-5fac-4c26-af9b-3b05f097763f"/>
+      <column name="DATE_START" valueDate="2020-11-18T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="GROUPCODE" value="PRODUCTGROUP3"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="INFO" value="fc"/>
+    </insert>
+    <insert tableName="forecast">
+      <column name="VOLUME" valueNumeric="25000"/>
+      <column name="FORECASTID" value="f87ad5ed-943e-4008-a3fa-291699e3df28"/>
+      <column name="DATE_START" valueDate="2020-11-19T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="VOLUME" valueNumeric="150000"/>
+      <column name="GROUPCODE" value="PRODUCTGROUP3"/>
+      <column name="OBJECT_ROWID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
+      <column name="INFO" value="fc"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/letterrecipient.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/letterrecipient.xml
index 980eae9707..82c4d12930 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/letterrecipient.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/letterrecipient.xml
@@ -1,191 +1,191 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="2e2a85a5-ed32-49c4-9592-028dbfd46626">
+  <changeSet author="autogenerated" id="828a267a-0162-4f17-923b-eed92399a8c4">
     <delete tableName="letterrecipient"/>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="LETTERRECIPIENTID" value="005dd385-f43f-4632-ba72-66275ade78d6"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="LETTERRECIPIENTID" value="0d91e8c7-9826-44dc-9151-6f80d622b675"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="LETTERRECIPIENTID" value="13ed5820-264b-4234-8d56-93113a8fc779"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="LETTERRECIPIENTID" value="184eef7a-86aa-4008-82c0-7d460235d318"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="LETTERRECIPIENTID" value="2625270b-94f1-45dd-a1ca-c5d4488db428"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
       <column name="LETTERRECIPIENTID" value="267ce41c-c1a1-408a-bf4a-c694de882199"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="LETTERRECIPIENTID" value="2d350bbb-6fad-4fd3-8d4b-8f6f0a80b83d"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="LETTERRECIPIENTID" value="35bd730b-41c5-4124-9e37-75225ad62d34"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="LETTERRECIPIENTID" value="39fbfe6c-6b6d-4681-9303-d701699e7135"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="LETTERRECIPIENTID" value="4208507c-0a1a-41a4-8281-28c512d81ecd"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="LETTERRECIPIENTID" value="45faadcd-5e27-49d4-9360-7184f57c772d"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="LETTERRECIPIENTID" value="470ee064-fa57-40c0-a2c2-d49e23e56ef5"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="LETTERRECIPIENTID" value="66ad2562-fbba-4e31-8822-e951c910701d"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="LETTERRECIPIENTID" value="759bbc2e-3a60-4a10-bbf7-32b3fddf82a5"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="LETTERRECIPIENTID" value="7858a7a6-32f6-4cac-9fe5-9f470a1c67f0"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="LETTERRECIPIENTID" value="7d437556-56e2-4db9-adde-758664d573de"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="LETTERRECIPIENTID" value="8308b2ac-9e39-446a-8b65-44fcd6cec0d2"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="LETTERRECIPIENTID" value="858c9b55-55d7-49bb-b84e-d62b28a74965"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="LETTERRECIPIENTID" value="9cced8ce-0377-4379-a200-6d0185dde6d8"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="LETTERRECIPIENTID" value="9cea7ed1-e43f-4dc7-81ea-ee5e4a8c7222"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="LETTERRECIPIENTID" value="9ddb79fd-fa88-4fd8-ad49-befaa4a6e06b"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="LETTERRECIPIENTID" value="a3e5ed3a-dbc8-4cec-b5a2-732d9c150b60"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="LETTERRECIPIENTID" value="a4640084-a43e-49c5-b4c3-ff4f76f5a484"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="LETTERRECIPIENTID" value="a62ca319-ffca-475e-bc37-babf5b59507d"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="LETTERRECIPIENTID" value="a747794b-1716-4146-901a-2ea3cbd1dcbb"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="LETTERRECIPIENTID" value="b14acb56-114f-4f24-8b5e-a2b6c6b8273c"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="LETTERRECIPIENTID" value="b816e644-3177-4773-adde-7bf20e042cf1"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="LETTERRECIPIENTID" value="bbf2eb47-ee90-49d4-87ef-25f03ee52450"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="LETTERRECIPIENTID" value="bdf8e00e-2cd9-423f-8f82-df3da400ecdc"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="LETTERRECIPIENTID" value="bee79ca6-4519-414a-911b-200d3c5fbb80"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="LETTERRECIPIENTID" value="ce1fe220-0bb1-4159-bfd6-8d6ac34a2bab"/>
       <column name="SERIALLETTER_ID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="LETTERRECIPIENTID" value="de6392be-ef74-4a1a-b591-8235303b5659"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="LETTERRECIPIENTID" value="e08ad04a-b876-454f-8a35-39ffe4e2a52c"/>
       <column name="SERIALLETTER_ID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
+      <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="LETTERRECIPIENTID" value="f103f51a-027b-419b-8dbd-5d816712547b"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="LETTERRECIPIENTID" value="f3f6bcd1-3f4c-479c-aad9-bcf7f4da58a1"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="LETTERRECIPIENTID" value="f507d4bd-0a0f-43eb-a7e6-c63f51041075"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
     </insert>
     <insert tableName="letterrecipient">
-      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="LETTERRECIPIENTID" value="fed18481-a0b6-4953-8a5e-65ba45a683e5"/>
       <column name="SERIALLETTER_ID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
+      <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/objectmember.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/objectmember.xml
index ae2735e5c2..04f2154819 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/objectmember.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/objectmember.xml
@@ -1,116 +1,116 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="b9e5af07-4762-4252-9196-a54f8b8751ad">
+  <changeSet author="autogenerated" id="05850d31-344c-4076-828e-76685ce09ecd">
     <delete tableName="objectmember"/>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="094fa52f-28ee-4988-9169-c4fcf0fd58e7"/>
       <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="MEMBERROLE" value="MEMROLEADVISE"/>
-      <column name="OBJECTMEMBERID" value="094fa52f-28ee-4988-9169-c4fcf0fd58e7"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="100e2d29-2d34-4a5d-adc9-c09f9949d136"/>
       <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="MEMBERROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
-      <column name="OBJECTMEMBERID" value="100e2d29-2d34-4a5d-adc9-c09f9949d136"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="1133f149-e2d4-41b6-a4a1-1fb852104635"/>
+      <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="336e8c10-376c-422e-afd9-1faef77c6f0c"/>
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="MEMBERROLE" value="MEMROLEPROJMANAG"/>
-      <column name="OBJECTMEMBERID" value="336e8c10-376c-422e-afd9-1faef77c6f0c"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="3bd6db09-063c-43a5-828d-9fe6e958d142"/>
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="MEMBERROLE" value="MEMROLEADVISE"/>
-      <column name="OBJECTMEMBERID" value="3bd6db09-063c-43a5-828d-9fe6e958d142"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="57c66172-4480-4925-a3e5-c506551563e1"/>
+      <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="685666f6-6545-4a51-8340-d98115b3d710"/>
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="MEMBERROLE" value="MEMROLEPROJMANAG"/>
-      <column name="OBJECTMEMBERID" value="685666f6-6545-4a51-8340-d98115b3d710"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="84eb003b-c333-48a2-9679-8a135dbbc02c"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_ROWID" value="a10eaf09-7230-4889-a601-776de71cb71b"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="8d69dc7e-ae24-46e8-b0a0-3217b208c564"/>
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="MEMBERROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
-      <column name="OBJECTMEMBERID" value="8d69dc7e-ae24-46e8-b0a0-3217b208c564"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="a0a9d509-d613-471b-a972-da5de4475688"/>
+      <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="OBJECT_ROWID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="b576c100-af39-43b2-ba64-d2ce05c62a9b"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="b91e741e-6e23-4a0a-a3de-06b9be398ed6"/>
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="MEMBERROLE" value="MEMROLEEXSALEMANAG"/>
-      <column name="OBJECTMEMBERID" value="b91e741e-6e23-4a0a-a3de-06b9be398ed6"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="OBJECTMEMBERID" value="c3b8a835-e9b2-40d1-aa4d-83838c5714ba"/>
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="MEMBERROLE" value="MEMROLEPROJASSIST"/>
-      <column name="OBJECTMEMBERID" value="c3b8a835-e9b2-40d1-aa4d-83838c5714ba"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="cd84d91a-f8fc-413b-8649-f53a7f8f3b88"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_ROWID" value="680de39f-7f1c-4dca-8c67-9c16c3395c3f"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="d5c0fef8-1a11-4c76-8683-479ca4b99804"/>
+      <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="OBJECT_ROWID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="e81a6bf2-bf1b-45f6-a4e5-f99db96af0ed"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_ROWID" value="d633ce70-5841-4a26-aaed-95980af49966"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
     <insert tableName="objectmember">
-      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="OBJECT_TYPE" value="Campaign"/>
       <column name="OBJECTMEMBERID" value="e8a497ce-e0d4-4a5d-9c36-618c36343d23"/>
+      <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="OBJECT_ROWID" value="996b8af6-13f4-4606-a303-69f941cf6f13"/>
-      <column name="OBJECT_TYPE" value="Campaign"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml
index 835e1db734..8be28d744e 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml
@@ -1,290 +1,323 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="92444eb2-cca0-4ebd-883f-a030cc44e138">
+  <changeSet author="autogenerated" id="5b87aacd-f065-4b4c-8c20-2fc971cc4c39">
     <delete tableName="offer"/>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1003"/>
+      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="OFFERDATE" valueDate="2018-02-23T01:00:00"/>
-      <column name="OFFERID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="PROBABILITY" value="0"/>
-      <column name="STATUS" value="OFFERSTATCHECK"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1003"/>
       <column name="VAT" valueNumeric="79.80"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="STATUS" value="OFFERSTATCHECK"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1001"/>
+      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="OFFERDATE" valueDate="2018-08-12T02:00:00"/>
-      <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATSENT"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1001"/>
       <column name="VAT" valueNumeric="79.80"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="STATUS" value="OFFERSTATSENT"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="210.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1000"/>
+      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="OFFERDATE" valueDate="2018-11-21T01:00:00"/>
-      <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="PROBABILITY" value="100"/>
-      <column name="STATUS" value="OFFERSTATSENT"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1000"/>
       <column name="VAT" valueNumeric="39.90"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="STATUS" value="OFFERSTATSENT"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Transatlantik Logistics GmbH&#10;Hafenstraße 12&#10;88045 Friedrichshafen"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:03:46"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T09:10:08"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="192500.00"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="ADDRESS" value="Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen"/>
+      <column name="OFFERDATE" valueDate="2020-05-20T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1008"/>
-      <column name="OFFERDATE" valueDate="2019-02-22T01:00:00"/>
-      <column name="OFFERID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1008"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:03:46"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATWON"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_EDIT" valueDate="2019-05-23T11:33:16"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:04:28"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
-      <column name="HEADER" value="Für die bisherigen Gespräche möchten wir uns bei Ihnen bedanken. Gerne bieten wir Ihnen wie folgt an:&#10;&#10;"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:20:44"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="25000.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="ADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="OFFERDATE" valueDate="2020-03-16T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1013"/>
-      <column name="OFFERDATE" valueDate="2019-03-25T01:00:00"/>
-      <column name="OFFERID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="PROBABILITY" value="75"/>
+      <column name="OFFERCODE" valueNumeric="1013"/>
+      <column name="VAT" valueNumeric="4750.00"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:04:28"/>
+      <column name="HEADER" value="Für die bisherigen Gespräche möchten wir uns bei Ihnen bedanken. Gerne bieten wir Ihnen wie folgt an:&#10;&#10;"/>
       <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_EDIT" value="Admin"/>
+    </insert>
+    <insert tableName="offer">
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="FOOTER" value="Vielen Dank!"/>
+      <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="USER_NEW" value="Admin"/>
-      <column name="VAT" valueNumeric="4750.00"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="NET" valueNumeric="145000.00"/>
+      <column name="ADDRESS" value="Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg"/>
+      <column name="OFFERDATE" valueDate="2020-04-06T12:00:00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="PROBABILITY" value="0"/>
+      <column name="OFFERCODE" valueNumeric="1014"/>
+      <column name="VAT" valueNumeric="0.00"/>
+      <column name="DATE_NEW" valueDate="2020-09-16T09:11:19"/>
+      <column name="LETTERSALUTATION" value="Sehr geehrte Damen und Herren,"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T11:40:03"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:29:52"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="53500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart"/>
+      <column name="OFFERDATE" valueDate="2020-07-06T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1011"/>
-      <column name="OFFERDATE" valueDate="2017-07-11T02:00:00"/>
-      <column name="OFFERID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1011"/>
       <column name="VAT" valueNumeric="10165.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T11:40:03"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_EDIT" valueDate="2019-05-17T11:01:46"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:27:21"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:30:15"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="28500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart"/>
+      <column name="OFFERDATE" valueDate="2020-08-12T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OFFERCODE" valueNumeric="1007"/>
-      <column name="OFFERDATE" valueDate="2019-05-17T02:00:00"/>
-      <column name="OFFERID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:27:21"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="630.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1002"/>
+      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="OFFERDATE" valueDate="2018-06-14T02:00:00"/>
-      <column name="OFFERID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="PROBABILITY" value="75"/>
-      <column name="STATUS" value="OFFERSTATSENT"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1002"/>
       <column name="VAT" valueNumeric="119.70"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="STATUS" value="OFFERSTATSENT"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_EDIT" valueDate="2019-05-17T08:26:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:23:52"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="DELIVERYTERMS" value="FREE"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:30:37"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="3500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="ADDRESS" value="Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart"/>
+      <column name="OFFERDATE" valueDate="2020-08-19T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1006"/>
-      <column name="OFFERDATE" valueDate="2019-03-08T01:00:00"/>
-      <column name="OFFERID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="PROBABILITY" value="25"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1006"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:23:52"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:28:20"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:23:28"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="17500.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="ADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="OFFERDATE" valueDate="2020-05-15T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1010"/>
-      <column name="OFFERDATE" valueDate="2019-05-17T02:00:00"/>
-      <column name="OFFERID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
       <column name="PROBABILITY" value="25"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1010"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:28:20"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:35:17"/>
+      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:23:42"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="210.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="ADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="OFFERDATE" valueDate="2020-05-14T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1005"/>
-      <column name="OFFERDATE" valueDate="2019-05-16T02:00:00"/>
-      <column name="OFFERID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
-      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1005"/>
       <column name="VAT" valueNumeric="39.90"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:35:17"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="840.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
-      <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1004"/>
+      <column name="ADDRESS" value="Gfk AG  Wilhelm-Straße 4 80807 München"/>
       <column name="OFFERDATE" valueDate="2017-11-09T01:00:00"/>
-      <column name="OFFERID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATCHECK"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1004"/>
       <column name="VAT" valueNumeric="159.60"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="STATUS" value="OFFERSTATCHECK"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T09:00:44"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T07:21:01"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="45000.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="ADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="OFFERDATE" valueDate="2020-03-23T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1012"/>
-      <column name="OFFERDATE" valueDate="2019-03-25T01:00:00"/>
-      <column name="OFFERID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
       <column name="PROBABILITY" value="50"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1012"/>
       <column name="VAT" valueNumeric="8550.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T09:00:44"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
     <insert tableName="offer">
-      <column name="ADDRESS" value="Transatlantik Logistics GmbH&#10;Hafenstraße 12&#10;88045 Friedrichshafen"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:43:39"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:27:12"/>
+      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
-      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="VERSNR" valueNumeric="1"/>
+      <column name="OFFERID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="DATE_EDIT" valueDate="2020-09-16T09:16:12"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="175000.00"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="ADDRESS" value="Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen"/>
+      <column name="OFFERDATE" valueDate="2020-07-06T12:00:00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFERCODE" valueNumeric="1009"/>
-      <column name="OFFERDATE" valueDate="2018-08-14T02:00:00"/>
-      <column name="OFFERID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
-      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
       <column name="PROBABILITY" value="75"/>
-      <column name="STATUS" value="OFFERSTATOPEN"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
+      <column name="OFFERCODE" valueNumeric="1009"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VERSNR" valueNumeric="1"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:27:12"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="STATUS" value="OFFERSTATOPEN"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml
index be7cec5a9e..06d2014637 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml
@@ -1,492 +1,502 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="fb66eb21-7b8a-4190-9254-83f1f5e19a88">
+  <changeSet author="autogenerated" id="baf9b40f-da28-42c6-a194-f190623feb16">
     <delete tableName="offeritem"/>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.2"/>
-      <column name="ITEMPOSITION" value="1.3"/>
-      <column name="ITEMSORT" valueNumeric="8"/>
       <column name="OFFERITEMID" value="092eb124-8cc1-456e-a5e8-dacdba4abc15"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="8"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
+      <column name="ITEMPOSITION" value="1.3"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.1"/>
-      <column name="ITEMPOSITION" value="1.2"/>
-      <column name="ITEMSORT" valueNumeric="7"/>
       <column name="OFFERITEMID" value="0f42ddc3-717d-4844-9f96-8dbab2800c24"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
+      <column name="ITEMPOSITION" value="1.2"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Gipsplatten"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="178c6049-0b01-4f5b-8431-08ef637f9c97"/>
-      <column name="OFFER_ID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="15000.00"/>
       <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.2"/>
-      <column name="ITEMPOSITION" value="1.3"/>
-      <column name="ITEMSORT" valueNumeric="7"/>
       <column name="OFFERITEMID" value="1b70642f-dc5a-4073-b10a-2eeb52f4dbba"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
+      <column name="ITEMPOSITION" value="1.3"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Bremsscheiben"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="1e935422-82b7-4d2b-8f78-749b3c8f2fc3"/>
-      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="1000.00"/>
       <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
+      <column name="QUANTITY" valueNumeric="10.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="Stahlträger Standard"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="1f732309-fa65-4b1e-b8e0-69fa152f3537"/>
-      <column name="OFFER_ID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYKGS"/>
       <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="QUANTITY" valueNumeric="10.00"/>
-      <column name="UNIT" value="QUANTITYKGS"/>
+      <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Ersatzteil 1"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="22f6c80c-8bd3-4b30-af56-0e080ca18f48"/>
-      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Turbolader"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="302aa616-37f7-415b-bcc7-e57e84da9d11"/>
-      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="3500.00"/>
       <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX47"/>
-      <column name="ITEMPOSITION" value="1.1"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
+      <column name="ITEMPOSITION" value="1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="WG2 Proudkt 3"/>
-      <column name="ITEMPOSITION" value="3"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
       <column name="OFFERITEMID" value="3a38dbeb-2dac-4ba6-8142-7e3a4a85f2d5"/>
-      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="ITEMPOSITION" value="3"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="50000.00"/>
       <column name="PRODUCT_ID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="42444090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="OFFER_ID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.1"/>
-      <column name="ITEMPOSITION" value="1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
       <column name="OFFERITEMID" value="44b75a12-ae8b-4003-9347-9952843425a9"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
+      <column name="ITEMPOSITION" value="1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="WG2 Produkt 4"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="4f307ab3-8f26-4cc3-a40b-eb7b54f6bbee"/>
-      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.1"/>
-      <column name="ITEMPOSITION" value="1.2"/>
-      <column name="ITEMSORT" valueNumeric="6"/>
       <column name="OFFERITEMID" value="50cd83bc-f7ad-46aa-82a2-fca1a506c0ee"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
+      <column name="ITEMPOSITION" value="1.2"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="44b75a12-ae8b-4003-9347-9952843425a9"/>
-      <column name="GROUPCODEID" value="PRODUCTDISCOUNT"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTDISCOUNT                     "/>
       <column name="ITEMNAME" value="Sonderrabatt"/>
-      <column name="ITEMPOSITION" value="1.1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="4"/>
       <column name="OFFERITEMID" value="564b5ba4-05ef-4702-b6d8-35417b94abae"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="44b75a12-ae8b-4003-9347-9952843425a9"/>
+      <column name="ITEMPOSITION" value="1.1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="1000.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Gipsplatten"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="57d25821-f8a9-43e3-be6c-023e4a3039a1"/>
-      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="150.00"/>
       <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
-      <column name="QUANTITY" valueNumeric="1000.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="bd35c94b-5ad8-43eb-a131-501e3577d9c9"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.2"/>
-      <column name="ITEMPOSITION" value="1.1.1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="5"/>
       <column name="OFFERITEMID" value="5814617f-8977-4ba4-9567-695767017848"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="bd35c94b-5ad8-43eb-a131-501e3577d9c9"/>
+      <column name="ITEMPOSITION" value="1.1.1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.2a"/>
-      <column name="ITEMPOSITION" value="1.1.2"/>
-      <column name="ITEMSORT" valueNumeric="5"/>
       <column name="OFFERITEMID" value="58ce593c-a1af-41ad-91ee-df7c8a27e142"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
+      <column name="ITEMPOSITION" value="1.1.2"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSERVICE                      "/>
       <column name="ITEMNAME" value="Service Einsatz"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="61c663b3-b1b0-4564-9534-4be4e32cb643"/>
-      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRICE" valueNumeric="1000.00"/>
       <column name="PRODUCT_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="9809d10a-5979-458f-9e32-2d3771285d65"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.1"/>
-      <column name="ITEMPOSITION" value="1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
       <column name="OFFERITEMID" value="6c60f55e-27d3-44a5-a324-d184a067237a"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="9809d10a-5979-458f-9e32-2d3771285d65"/>
+      <column name="ITEMPOSITION" value="1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="OFFERITEMID" value="76b2aed9-ef76-4682-8dcb-2f042257eedb"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="PRICE" valueNumeric="145000.00"/>
+      <column name="PRODUCT_ID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
+    </insert>
+    <insert tableName="offeritem">
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="WG1 Standardprodukt 1"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="82d27c88-a3da-4c64-a933-6031ec56e64a"/>
-      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYKGS"/>
       <column name="PRICE" valueNumeric="10000.00"/>
       <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYKGS"/>
-      <column name="VAT" valueNumeric="19.00"/>
+      <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Klimaanlage 2-Zonen"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="948637d2-10eb-4962-906e-0b54496855fa"/>
-      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRODUCT_ID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX47"/>
-      <column name="ITEMPOSITION" value="1.1"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="9809d10a-5979-458f-9e32-2d3771285d65"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
+      <column name="ITEMPOSITION" value="1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="DISCOUNT" valueNumeric="5.00"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="Förderanlage"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="aeaf7c50-b4c2-41ef-8e92-945ed64218e8"/>
-      <column name="OFFER_ID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="DISCOUNT" valueNumeric="5.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="150000.00"/>
       <column name="PRODUCT_ID" value="155ac430-ccfc-4814-95fc-189631779064"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="10.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Vollstange"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="ba695281-f4b6-4004-aea7-40f902d4b1ac"/>
-      <column name="OFFER_ID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="a4fd6030-bb7e-419e-877c-816d343feea7"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="250.00"/>
       <column name="PRODUCT_ID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
-      <column name="QUANTITY" valueNumeric="10.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="bb444011-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="OFFER_ID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="bb444090-b57a-4620-ae65-12c9ade05c79"/>
-      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="bb444090-b57a-4620-ae65-12c9ade05caa"/>
-      <column name="OFFER_ID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="6c60f55e-27d3-44a5-a324-d184a067237a"/>
-      <column name="GROUPCODEID" value="PRODUCTDISCOUNT"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTDISCOUNT                     "/>
       <column name="ITEMNAME" value="Sonderrabatt"/>
-      <column name="ITEMPOSITION" value="1.1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="4"/>
       <column name="OFFERITEMID" value="bd35c94b-5ad8-43eb-a131-501e3577d9c9"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="6c60f55e-27d3-44a5-a324-d184a067237a"/>
+      <column name="ITEMPOSITION" value="1.1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="WG1 Standardprodukt 3"/>
-      <column name="ITEMPOSITION" value="3"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
       <column name="OFFERITEMID" value="be3e3840-20ff-49be-b067-00b7f9a41786"/>
-      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="OFFER_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="ITEMPOSITION" value="3"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="30000.00"/>
       <column name="PRODUCT_ID" value="155ac430-ccfc-4814-95fc-189631779064"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
+      <column name="QUANTITY" valueNumeric="5.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Klimaanlage 4-Zonen"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="dfcb49b3-e819-441a-8812-0dc1f2c57384"/>
-      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
-      <column name="QUANTITY" valueNumeric="5.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="WG2 Produkt 5"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="f81bad1d-baed-425b-8751-fd297161fdc7"/>
-      <column name="OFFER_ID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="25000.00"/>
       <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
       <column name="OFFERITEMID" value="fbf00bb1-b048-4b04-b585-392f87b5c591"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Standard Gerüst"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
       <column name="OFFERITEMID" value="fbfae671-be8f-468e-81a6-de3d6b002bec"/>
-      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="25000.00"/>
       <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="offeritem">
-      <column name="ASSIGNEDTO" value="9809d10a-5979-458f-9e32-2d3771285d65"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.2a"/>
-      <column name="ITEMPOSITION" value="1.1.2"/>
-      <column name="ITEMSORT" valueNumeric="6"/>
       <column name="OFFERITEMID" value="fe58567c-54f9-4194-b798-2571a5ed4e86"/>
-      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
       <column name="OPTIONAL" valueNumeric="1"/>
-      <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="OFFER_ID" value="a9b597f0-a353-48f3-b5eb-f47d2968ebaa"/>
+      <column name="ASSIGNEDTO" value="9809d10a-5979-458f-9e32-2d3771285d65"/>
+      <column name="ITEMPOSITION" value="1.1.2"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/organisation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/organisation.xml
index 631d6e9831..9edca5ffee 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/organisation.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/organisation.xml
@@ -1,210 +1,210 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="e4c18c14-05db-444e-8d2d-fb81e2d1c84a">
+  <changeSet author="autogenerated" id="d891b3f2-41c2-44db-858e-a1722cee4e8e">
     <delete tableName="organisation"/>
     <insert tableName="organisation">
-      <column name="DATE_NEW" valueDate="2019-08-29T02:43:16"/>
+      <column name="ORGANISATIONID" value="0                                   "/>
       <column name="KIND" value="ORGCUTOMER"/>
       <column name="NAME" value="privat"/>
-      <column name="ORGANISATIONID" value="0"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-08-29T02:43:16"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="3698"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:17:51"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:49:58"/>
-      <column name="NAME" value="Bucher Unternehmensgruppe"/>
-      <column name="ORGANISATIONID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
+      <column name="ORGANISATIONID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
+      <column name="NAME" value="Lichtenstein Document Solutions GmbH&#10;"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:21:44"/>
+      <column name="CUSTOMERCODE" value="2419"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="7878"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:26:25"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:42:16"/>
-      <column name="INFO" value="Automobilvermietung"/>
+      <column name="ORGANISATIONID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Sevent SE"/>
-      <column name="ORGANISATIONID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
+      <column name="NAME" value="meine Firma"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:24:21"/>
+      <column name="CUSTOMERCODE" value="0001"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="6354"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:37:36"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T08:38:50"/>
-      <column name="KIND" value="ORGMANUF"/>
-      <column name="NAME" value="Netro AG"/>
-      <column name="ORGANISATIONID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
+      <column name="ORGANISATIONID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
+      <column name="KIND" value="ORGCUTOMER"/>
+      <column name="NAME" value="Grobbe-Werk GmbH"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:19:24"/>
+      <column name="CUSTOMERCODE" value="4758"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:47:59"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="3469"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:17:06"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:03:12"/>
-      <column name="KIND" value="ORGMANUF"/>
-      <column name="NAME" value="Aquire GmbH"/>
-      <column name="ORGANISATIONID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="ORGANISATIONID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
+      <column name="KIND" value="ORGCUTOMER"/>
+      <column name="NAME" value="Firmengruppe Matthias Bogen"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:18:19"/>
+      <column name="CUSTOMERCODE" value="4567"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:00:09"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="5612"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:28:03"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:44:27"/>
-      <column name="NAME" value="Waken Neuser SE"/>
-      <column name="ORGANISATIONID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
+      <column name="ORGANISATIONID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
+      <column name="KIND" value="ORGCUTOMER"/>
+      <column name="NAME" value="JPM Touristik GmbH"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:20:35"/>
+      <column name="CUSTOMERCODE" value="4545"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:40:51"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="1235"/>
-      <column name="DATE_EDIT" valueDate="2019-05-28T08:00:12"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:23:13"/>
-      <column name="INFO" value="Die Transatlantik Logistic Gruppe ist ein Zusammenschluss aus mehreren Logistik Unternehmen.  Über 3.000 Mitarbeiter sind bei dem europäischen Logistikriesen beschäftigt. "/>
+      <column name="ORGANISATIONID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Transatlantik Logistics GmbH"/>
-      <column name="ORGANISATIONID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
+      <column name="NAME" value="Industrial Steel AG"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T10:38:08"/>
+      <column name="CUSTOMERCODE" value="1234"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="Die Industrial Steal AG ist einer der führenden Stahlhersteller weltweit. Das Unternehmen agiert mit über 5.000 Mitarbeitern in über 30 Ländern. "/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:16:58"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="6758"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:37:48"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:54:17"/>
-      <column name="KIND" value="ORGPARTNER"/>
-      <column name="NAME" value="Schild AG"/>
-      <column name="ORGANISATIONID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
+      <column name="ORGANISATIONID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="NAME" value="Kronen AG"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:21:07"/>
+      <column name="CUSTOMERCODE" value="5874"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:39:15"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="4567"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:18:19"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T10:00:09"/>
+      <column name="ORGANISATIONID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Firmengruppe Matthias Bogen"/>
-      <column name="ORGANISATIONID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
+      <column name="NAME" value="Glob Group"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:36:56"/>
+      <column name="CUSTOMERCODE" value="1212"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:53:07"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="3232"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:27:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:46:35"/>
+      <column name="ORGANISATIONID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="SuperBauer AG"/>
-      <column name="ORGANISATIONID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
+      <column name="NAME" value="Transatlantik Logistics GmbH"/>
+      <column name="DATE_EDIT" valueDate="2019-05-28T08:00:12"/>
+      <column name="CUSTOMERCODE" value="1235"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="Die Transatlantik Logistic Gruppe ist ein Zusammenschluss aus mehreren Logistik Unternehmen.  Über 3.000 Mitarbeiter sind bei dem europäischen Logistikriesen beschäftigt. "/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:23:13"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="5874"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:21:07"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:39:15"/>
-      <column name="NAME" value="Kronen AG"/>
-      <column name="ORGANISATIONID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
+      <column name="ORGANISATIONID" value="756662b5-f5e4-479c-8d97-abd6a395bd79"/>
+      <column name="KIND" value="ORGMANUF"/>
+      <column name="NAME" value="Aquire GmbH"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:17:06"/>
+      <column name="CUSTOMERCODE" value="3469"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T10:03:12"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="0001"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:24:21"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="meine Firma"/>
-      <column name="ORGANISATIONID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
+      <column name="ORGANISATIONID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
+      <column name="NAME" value="Pichelmaier Financial  AG&#13;&#10;"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:25:36"/>
+      <column name="CUSTOMERCODE" value="3579"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="4545"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:20:35"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:40:51"/>
+      <column name="ORGANISATIONID" value="8f4f43e0-669b-4e1f-b050-42193f8d2998"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="JPM Touristik GmbH"/>
-      <column name="ORGANISATIONID" value="22f1ca45-e633-4080-9d5c-9a8c2e06d3f9"/>
+      <column name="NAME" value="Sevent SE"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:26:25"/>
+      <column name="CUSTOMERCODE" value="7878"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="Automobilvermietung"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:42:16"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="1234"/>
-      <column name="DATE_EDIT" valueDate="2019-11-15T10:38:08"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:16:58"/>
-      <column name="INFO" value="Die Industrial Steal AG ist einer der führenden Stahlhersteller weltweit. Das Unternehmen agiert mit über 5.000 Mitarbeitern in über 30 Ländern. "/>
-      <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Industrial Steel AG"/>
-      <column name="ORGANISATIONID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
+      <column name="ORGANISATIONID" value="97b66b3c-a9f5-4dc4-902e-850d69973d1d"/>
+      <column name="NAME" value="Bucher Unternehmensgruppe"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:17:51"/>
+      <column name="CUSTOMERCODE" value="3698"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:49:58"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="4758"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:19:24"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T09:47:59"/>
+      <column name="ORGANISATIONID" value="a5d107ac-f796-430e-a686-5a132f96650b"/>
       <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Grobbe-Werk GmbH"/>
-      <column name="ORGANISATIONID" value="09281be8-8cb5-4201-9758-8c86b3d2bb85"/>
+      <column name="NAME" value="SuperBauer AG"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:27:17"/>
+      <column name="CUSTOMERCODE" value="3232"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:46:35"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="7691"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:24:53"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="NAME" value="MNF Versicherung"/>
-      <column name="ORGANISATIONID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
+      <column name="ORGANISATIONID" value="aed65442-06aa-4cdc-b924-1d9728b444d3"/>
+      <column name="KIND" value="ORGPARTNER"/>
+      <column name="NAME" value="Schild AG"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:37:48"/>
+      <column name="CUSTOMERCODE" value="6758"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T10:54:17"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="2419"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:21:44"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="NAME" value="Lichtenstein Document Solutions GmbH&#10;"/>
-      <column name="ORGANISATIONID" value="03e09527-21cc-489a-b37f-0dd7df553c20"/>
+      <column name="ORGANISATIONID" value="b043cd42-058c-48bd-8326-4c92e0e74c48"/>
+      <column name="NAME" value="Waken Neuser SE"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:28:03"/>
+      <column name="CUSTOMERCODE" value="5612"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T09:44:27"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="6983"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:20:08"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="NAME" value="International Kältetechnik AG&#10;"/>
-      <column name="ORGANISATIONID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
+      <column name="ORGANISATIONID" value="bd92680c-fb4b-4f9b-b434-da4fcee5b079"/>
+      <column name="KIND" value="ORGMANUF"/>
+      <column name="NAME" value="Netro AG"/>
+      <column name="DATE_EDIT" valueDate="2019-06-07T02:37:36"/>
+      <column name="CUSTOMERCODE" value="6354"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-23T08:38:50"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="1212"/>
-      <column name="DATE_EDIT" valueDate="2019-06-07T02:36:56"/>
-      <column name="DATE_NEW" valueDate="2019-05-23T10:53:07"/>
-      <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Glob Group"/>
-      <column name="ORGANISATIONID" value="692e1f81-9f05-4e22-b74d-56d34c671067"/>
+      <column name="ORGANISATIONID" value="d3707591-5620-49a8-a63f-19e88ca7a21c"/>
+      <column name="NAME" value="MNF Versicherung"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:24:53"/>
+      <column name="CUSTOMERCODE" value="7691"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="1236"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:26:56"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:33:57"/>
-      <column name="INFO" value="Die Skyscraper Bau GmbH zählt zu den führenden Unternehmen in der Baubranche. Mit ihrem breiten Portfolio überzeugen sie regelmäßig und diversifizieren sich von ihren Mitbewerbern. "/>
-      <column name="KIND" value="ORGCUTOMER"/>
-      <column name="NAME" value="Skyscraper Bau GmbH"/>
-      <column name="ORGANISATIONID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="ORGANISATIONID" value="ea07af40-4918-4ea2-94ad-031d01aeaab4"/>
+      <column name="NAME" value="International Kältetechnik AG&#10;"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:20:08"/>
+      <column name="CUSTOMERCODE" value="6983"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
     </insert>
     <insert tableName="organisation">
-      <column name="CUSTOMERCODE" value="3579"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T06:25:36"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="NAME" value="Pichelmaier Financial  AG&#13;&#10;"/>
-      <column name="ORGANISATIONID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
+      <column name="ORGANISATIONID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
+      <column name="KIND" value="ORGCUTOMER"/>
+      <column name="NAME" value="Skyscraper Bau GmbH"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T06:26:56"/>
+      <column name="CUSTOMERCODE" value="1236"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="INFO" value="Die Skyscraper Bau GmbH zählt zu den führenden Unternehmen in der Baubranche. Mit ihrem breiten Portfolio überzeugen sie regelmäßig und diversifizieren sich von ihren Mitbewerbern. "/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:33:57"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/person.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/person.xml
index 4ab59795d0..12c47e48c0 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/person.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/person.xml
@@ -1,286 +1,286 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="e7d8e590-238a-4fd0-8fa7-f048263d18a6">
+  <changeSet author="autogenerated" id="42f7a5b9-f36d-4be4-89ec-07a0814f3073">
     <delete tableName="person"/>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1980-05-12"/>
-      <column name="DATE_EDIT" valueDate="2019-11-26T01:01:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T03:54:25"/>
       <column name="FIRSTNAME" value="Peter"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/d1dcf573078c44cf550e0567bcffd823"/>
       <column name="LASTNAME" value="Macher"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T03:54:25"/>
+      <column name="DATE_EDIT" valueDate="2019-11-26T01:01:17"/>
       <column name="PERSONID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/d1dcf573078c44cf550e0567bcffd823"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_NEW" valueDate="2019-05-17T08:43:42"/>
       <column name="FIRSTNAME" value="Peter"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Steiger"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:43:42"/>
       <column name="PERSONID" value="09514fe1-a0d6-465e-883b-6cc93cc758a2"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-05-19T08:03:46"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:23:15"/>
       <column name="FIRSTNAME" value="Markus"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Altinger"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:23:15"/>
+      <column name="DATE_EDIT" valueDate="2019-05-19T08:03:46"/>
       <column name="PERSONID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1990-04-05"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T03:57:28"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Susanne"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/5dbfcfef4e102c68982c8dccc390f3e0"/>
       <column name="LASTNAME" value="Lustig"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T03:57:28"/>
       <column name="PERSONID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/5dbfcfef4e102c68982c8dccc390f3e0"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1978-06-08"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:42:37"/>
       <column name="FIRSTNAME" value="Daniel"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Vortrefflich"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:42:37"/>
       <column name="PERSONID" value="22a497cb-39c3-4e72-9f88-423d7630c7e1"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-11-12T02:39:57"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:04:06"/>
       <column name="FIRSTNAME" value="Ted"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Mausbeier"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:04:06"/>
+      <column name="DATE_EDIT" valueDate="2019-11-12T02:39:57"/>
       <column name="PERSONID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:40:47"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:06:16"/>
       <column name="FIRSTNAME" value="Marshel"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Ericsan"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:06:16"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:40:47"/>
       <column name="PERSONID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1994-08-03"/>
-      <column name="DATE_EDIT" valueDate="2019-05-19T08:12:40"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Ludwig"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Kanzler"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-19T08:12:40"/>
       <column name="PERSONID" value="4a55726c-4ca6-43cb-9d3f-8e55d97b7aaf"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_NEW" valueDate="2019-05-17T08:02:26"/>
       <column name="FIRSTNAME" value="Albert"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Zweistein"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:02:26"/>
       <column name="PERSONID" value="528d7307-295c-4829-a2e4-9b59e43cf3bb"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1996-10-05"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:51"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Herbert"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/9386121ffea926a30b9fa54870968dd1"/>
       <column name="LASTNAME" value="Obermeier"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:51"/>
       <column name="PERSONID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/9386121ffea926a30b9fa54870968dd1"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-11-12T02:40:52"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:04:51"/>
       <column name="FIRSTNAME" value="Lorenzo"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="von Alpenhorn"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:04:51"/>
+      <column name="DATE_EDIT" valueDate="2019-11-12T02:40:52"/>
       <column name="PERSONID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1993-01-20"/>
-      <column name="DATE_EDIT" valueDate="2019-05-19T08:10:37"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Jerome"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Grüner"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-19T08:10:37"/>
       <column name="PERSONID" value="7c1efe4c-cc73-4e95-bdf0-208a3ff699b5"/>
       <column name="SALUTATION" value="Monsieur"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-11-12T02:40:22"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:03:16"/>
       <column name="FIRSTNAME" value="Robin"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Scherbatstein"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:03:16"/>
+      <column name="DATE_EDIT" valueDate="2019-11-12T02:40:22"/>
       <column name="PERSONID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1980-06-06"/>
-      <column name="DATE_EDIT" valueDate="2019-05-19T08:18:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:39:57"/>
       <column name="FIRSTNAME" value="Andreas"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Morgenstern"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:39:57"/>
+      <column name="DATE_EDIT" valueDate="2019-05-19T08:18:55"/>
       <column name="PERSONID" value="9f4528ce-3d83-4292-ae23-d9b314271f69"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1991-02-01"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:01"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Peter"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/9052404f642301dfa02140a5dc34b592"/>
       <column name="LASTNAME" value="Pfiffig"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:01"/>
       <column name="PERSONID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/9052404f642301dfa02140a5dc34b592"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1993-05-07"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T03:56:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="FIRSTNAME" value="Tim"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/fb4e7cd5e2815300d1858079eadae3ca"/>
       <column name="LASTNAME" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T03:56:17"/>
       <column name="PERSONID" value="b16282bd-254e-4569-a56e-675449821467"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/fb4e7cd5e2815300d1858079eadae3ca"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1987-03-04"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:08:54"/>
       <column name="FIRSTNAME" value="Anja"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Lindner"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:08:54"/>
       <column name="PERSONID" value="b4c37f47-b4b8-4fe4-812a-9043530cce84"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1987-05-01"/>
-      <column name="DATE_EDIT" valueDate="2019-11-25T01:27:14"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T08:41:41"/>
       <column name="FIRSTNAME" value="Chloe"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="TITLE" value="Dr."/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Decken"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T08:41:41"/>
+      <column name="DATE_EDIT" valueDate="2019-11-25T01:27:14"/>
       <column name="PERSONID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="TITLE" value="Dr."/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1975-01-01"/>
-      <column name="DATE_NEW" valueDate="2019-05-15T05:11:10"/>
       <column name="FIRSTNAME" value="Andreas"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Tannenbaum"/>
+      <column name="DATE_NEW" valueDate="2019-05-15T05:11:10"/>
       <column name="PERSONID" value="c4e24800-e9f3-4226-afd7-cfd5dd670d93"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1985-05-10"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:10"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Harold"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
       <column name="LASTNAME" value="Smith"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:10"/>
       <column name="PERSONID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/5f2406211e3a21439aed5714ab3db571"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="2001-05-07"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:09"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Birgit"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/75df8e492ebe7d8363abd71906e2c471"/>
       <column name="LASTNAME" value="Leicht"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:09"/>
       <column name="PERSONID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/75df8e492ebe7d8363abd71906e2c471"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
-      <column name="DATE_EDIT" valueDate="2019-11-15T08:40:17"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:25:07"/>
       <column name="FIRSTNAME" value="Petra"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
       <column name="LASTNAME" value="Solana"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:25:07"/>
+      <column name="DATE_EDIT" valueDate="2019-11-15T08:40:17"/>
       <column name="PERSONID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1989-01-01"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:24"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Lisa"/>
       <column name="GENDER" value="f"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/58d526fe1ec32f07facc7c52e04619b3"/>
       <column name="LASTNAME" value="Sommer"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:02:24"/>
       <column name="PERSONID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/58d526fe1ec32f07facc7c52e04619b3"/>
       <column name="SALUTATION" value="Frau"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="person">
       <column name="DATEOFBIRTH" valueDate="1989-12-03"/>
-      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:41"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="FIRSTNAME" value="Franz"/>
       <column name="GENDER" value="m"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/cdd7846a9bc763c20ff79b7559a015a1"/>
       <column name="LASTNAME" value="Müller"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="DATE_EDIT" valueDate="2019-05-29T04:01:41"/>
       <column name="PERSONID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
-      <column name="PICTURE" valueBlobFile="person/PICTURE/blobFiles/cdd7846a9bc763c20ff79b7559a015a1"/>
       <column name="SALUTATION" value="Herr"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
index f5f054c9d8..2de3cd44d1 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
@@ -1,230 +1,230 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="f28aa607-c9e7-4e02-a371-841d0e503c42">
+  <changeSet author="autogenerated" id="ecc3f53c-f7a8-464e-a85a-327745dd8ec4">
     <delete tableName="product"/>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:14:32"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="MINSTOCK" valueNumeric="50"/>
       <column name="PRODUCTCODE" value="ET1009"/>
       <column name="PRODUCTID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="PRODUCTNAME" value="Ersatzteil 4"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="MINSTOCK" valueNumeric="50"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T11:14:32"/>
+      <column name="PRODUCTNAME" value="Ersatzteil 4"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:32:19"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
       <column name="PRODUCTCODE" value="WG1005"/>
       <column name="PRODUCTID" value="155ac430-ccfc-4814-95fc-189631779064"/>
-      <column name="PRODUCTNAME" value="WG1 Standardprodukt 3"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:32:19"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG1 Standardprodukt 3"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:30:01"/>
-      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
       <column name="PRODUCTCODE" value="DL1001"/>
       <column name="PRODUCTID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
+      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
+      <column name="ADVERTISING" value="N"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:30:01"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRODUCTNAME" value="Service Einsatz"/>
       <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:53:18"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
       <column name="PRODUCTCODE" value="WG2004"/>
       <column name="PRODUCTID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/>
-      <column name="PRODUCTNAME" value="WG2 Proudkt 3"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:53:18"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG2 Proudkt 3"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:48:31"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
       <column name="PRODUCTCODE" value="WG2002"/>
       <column name="PRODUCTID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
-      <column name="PRODUCTNAME" value="WG2 Produkt 1"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:48:31"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG2 Produkt 1"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:14:05"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="MINSTOCK" valueNumeric="15"/>
       <column name="PRODUCTCODE" value="ET1004"/>
       <column name="PRODUCTID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="PRODUCTNAME" value="Ersatzteil 3"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="MINSTOCK" valueNumeric="15"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T11:14:05"/>
+      <column name="PRODUCTNAME" value="Ersatzteil 3"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:23:33"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
       <column name="PRODUCTCODE" value="WG2005"/>
       <column name="PRODUCTID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="PRODUCTNAME" value="WG2 Produkt 4"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:23:33"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG2 Produkt 4"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:49:51"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
       <column name="PRODUCTCODE" value="WG2003"/>
       <column name="PRODUCTID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
-      <column name="PRODUCTNAME" value="WG2 Produkt 2"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:49:51"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG2 Produkt 2"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:25:18"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
       <column name="PRODUCTCODE" value="WG2006"/>
       <column name="PRODUCTID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
-      <column name="PRODUCTNAME" value="WG2 Produkt 5"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:25:18"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG2 Produkt 5"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-16T01:43:25"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="MINSTOCK" valueNumeric="10"/>
       <column name="PRODUCTCODE" value="WG0001"/>
       <column name="PRODUCTID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="PRODUCTNAME" value="WG1 Standardprodukt 1"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYKGS"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="MINSTOCK" valueNumeric="10"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-16T01:43:25"/>
+      <column name="UNIT" value="QUANTITYKGS"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG1 Standardprodukt 1"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:35"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:45:10"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
       <column name="PRODUCTCODE" value="WG3003"/>
       <column name="PRODUCTID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
-      <column name="PRODUCTNAME" value="WG3 Produkt C"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:45:10"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:35"/>
+      <column name="PRODUCTNAME" value="WG3 Produkt C"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:13:42"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="MINSTOCK" valueNumeric="10"/>
       <column name="PRODUCTCODE" value="ET1005"/>
       <column name="PRODUCTID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="PRODUCTNAME" value="Ersatzteil 2"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="MINSTOCK" valueNumeric="10"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T11:13:42"/>
+      <column name="PRODUCTNAME" value="Ersatzteil 2"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:22:20"/>
-      <column name="DATE_NEW" valueDate="2019-05-22T11:20:28"/>
-      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
       <column name="PRODUCTCODE" value="DL1005"/>
       <column name="PRODUCTID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/>
-      <column name="PRODUCTNAME" value="Beratungsdienstleistung"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
+      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-22T11:20:28"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T11:22:20"/>
+      <column name="PRODUCTNAME" value="Beratungsdienstleistung"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:34:44"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
       <column name="PRODUCTCODE" value="WG1003"/>
       <column name="PRODUCTID" value="c8244502-73be-4ef7-9ef7-2b5ae95d3718"/>
-      <column name="PRODUCTNAME" value="WG1 Standardprodukt 2"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:34:44"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-21T09:00:55"/>
+      <column name="PRODUCTNAME" value="WG1 Standardprodukt 2"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:18"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:37:31"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
       <column name="PRODUCTCODE" value="WG3001"/>
       <column name="PRODUCTID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
-      <column name="PRODUCTNAME" value="WG3 Produkt A"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:37:31"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:18"/>
+      <column name="PRODUCTNAME" value="WG3 Produkt A"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:27"/>
-      <column name="DATE_NEW" valueDate="2019-05-17T07:39:37"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
       <column name="PRODUCTCODE" value="WG3002"/>
       <column name="PRODUCTID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
-      <column name="PRODUCTNAME" value="WG3 Produkt B"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-17T07:39:37"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-06-11T11:14:27"/>
+      <column name="PRODUCTNAME" value="WG3 Produkt B"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
     <insert tableName="product">
-      <column name="ADVERTISING" value="N"/>
-      <column name="DATE_EDIT" valueDate="2019-05-22T11:13:33"/>
-      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="MINSTOCK" valueNumeric="12"/>
       <column name="PRODUCTCODE" value="ET1006"/>
       <column name="PRODUCTID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="PRODUCTNAME" value="Ersatzteil 1"/>
-      <column name="STATUS" valueNumeric="1"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="MINSTOCK" valueNumeric="12"/>
+      <column name="ADVERTISING" value="N"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="DATE_EDIT" valueDate="2019-05-22T11:13:33"/>
+      <column name="PRODUCTNAME" value="Ersatzteil 1"/>
+      <column name="STATUS" valueNumeric="1"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
index db9a5c0801..6ba3064510 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
@@ -1,240 +1,240 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="ce16cea1-ce8e-488e-9a2d-e74d4a547cd8">
+  <changeSet author="autogenerated" id="8eb1ec28-0236-45c7-af4c-8125a3aa855e">
     <delete tableName="productprice"/>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="25000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="1c5b6a5a-4aa0-499e-994f-278c7bdf87bf"/>
-      <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="PRICE" valueNumeric="25000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2020-07-15T02:00:00"/>
+      <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="35000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="24d65d20-bf5c-474d-8351-2788431e0e1a"/>
+      <column name="PRICE" valueNumeric="35000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="150000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="2749f80a-f09b-4153-97dd-2284253e8228"/>
-      <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
+      <column name="PRICE" valueNumeric="150000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2021-06-17T02:00:00"/>
+      <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="10000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="4028dfb7-d0e4-493e-9676-6f14a24a9507"/>
+      <column name="PRICE" valueNumeric="10000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
       <column name="VAT" valueNumeric="0.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="30000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="43fa161c-0f85-4915-89be-6bb442143506"/>
+      <column name="PRICE" valueNumeric="30000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="155ac430-ccfc-4814-95fc-189631779064"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="1000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="443b9532-7a41-481a-8f95-ffaf5e7949af"/>
+      <column name="PRICE" valueNumeric="1000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="25000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="71d5a323-12d8-4d1b-8de6-6a7bf81d0b61"/>
+      <column name="PRICE" valueNumeric="25000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="75365b30-fd09-4255-b1d7-f4c91e9d255e"/>
-      <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="PRICE" valueNumeric="2500.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2020-05-18T02:00:00"/>
+      <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="20000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="a2c9954b-bda0-4f02-8269-96cb86cb2516"/>
+      <column name="PRICE" valueNumeric="20000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="c8244502-73be-4ef7-9ef7-2b5ae95d3718"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="a75cc2e2-bb81-4e9f-9fa4-95c8531e966d"/>
+      <column name="PRICE" valueNumeric="2500.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="10000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="a9b9097a-f664-4114-aa0a-ff2a01dddd04"/>
+      <column name="PRICE" valueNumeric="10000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="30000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="abfa7e4d-bd88-4186-a7ae-26385ea1d91c"/>
+      <column name="PRICE" valueNumeric="30000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="7500.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="ad57ee30-4afe-4426-912b-c0b9d03107f7"/>
+      <column name="PRICE" valueNumeric="7500.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="bb425e07-4238-4cb7-b20b-a0ba4ed8b1ae"/>
+      <column name="PRICE" valueNumeric="5000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="15000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="bf8ef6ac-9f34-40fd-aa2e-9792fee9a970"/>
-      <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="PRICE" valueNumeric="15000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2020-05-22T02:00:00"/>
+      <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="1500.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="c0769e98-bf18-444c-92b0-fc5d17613ea8"/>
+      <column name="PRICE" valueNumeric="1500.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="1060.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="c5b5bfce-2bec-4601-ba43-2567209bea04"/>
-      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="VALID_FROM" valueDate="2018-11-01T01:00:00"/>
+      <column name="PRICE" valueNumeric="1060.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2058-10-31T01:00:00"/>
+      <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2018-11-01T01:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="50000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="df9fe0b0-4f16-4592-8066-fe9b3f41fdc1"/>
+      <column name="PRICE" valueNumeric="50000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="10000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="ead04c9b-955e-4595-bb31-31685b3ceaec"/>
-      <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
-      <column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
+      <column name="PRICE" valueNumeric="10000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2020-05-21T02:00:00"/>
+      <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
     <insert tableName="productprice">
       <column name="BUYSELL" value="SP"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRICELIST" value="PRICELISTDEFAULT"/>
       <column name="PRODUCTPRICEID" value="f90ff3d2-3e62-4b6f-bcfb-db4d4ecd8de8"/>
-      <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="PRICE" valueNumeric="5000.00"/>
+      <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="VALID_TO" valueDate="2020-06-15T02:00:00"/>
+      <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorder.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorder.xml
index 224f7fea66..9d52aa1d2c 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorder.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorder.xml
@@ -1,351 +1,458 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="6b690d9e-abff-4c18-80b0-5b8231b7bf86">
+  <changeSet author="autogenerated" id="f874d0d1-233c-45e0-a390-647f63166691">
     <delete tableName="salesorder"/>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="1"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
-      <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
       <column name="FOOTER" value="Unsere Zahlungkonditionen finden sie hier:"/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="SALESORDERCODE" valueNumeric="1011"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="SALESORDERDATE" valueDate="2019-05-22T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="28500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="VAT" valueNumeric="0.00"/>
       <column name="PAYMENTADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1011"/>
-      <column name="SALESORDERDATE" valueDate="2019-05-22T02:00:00"/>
+      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="CANCELLATION" valueNumeric="1"/>
       <column name="SALESORDERID" value="1b9bd530-f45b-4074-872f-b8362cfc5ed0"/>
-      <column name="VAT" valueNumeric="0.00"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1000"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="210.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPECONF"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1000"/>
-      <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
-      <column name="SALESORDERID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="VAT" valueNumeric="39.90"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+      <column name="ORDERTYPE" value="ORDTYPECONF"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="1"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1002"/>
+      <column name="PAYDATE" valueDate="2018-07-25T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="630.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPECRED"/>
-      <column name="PAYDATE" valueDate="2018-07-25T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
-      <column name="SALESORDERCODE" valueNumeric="1002"/>
-      <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
-      <column name="SALESORDERID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
       <column name="VAT" valueNumeric="119.70"/>
+      <column name="CANCELLATION" valueNumeric="1"/>
+      <column name="SALESORDERID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
+      <column name="ORDERTYPE" value="ORDTYPECRED"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="1"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
       <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1006"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPECRED"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1006"/>
-      <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
-      <column name="SALESORDERID" value="3ce30718-ecc6-4543-95c8-1b25e1b6db43"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="1"/>
+      <column name="SALESORDERID" value="3ce30718-ecc6-4543-95c8-1b25e1b6db43"/>
+      <column name="ORDERTYPE" value="ORDTYPECRED"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1001"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
       <column name="DUNNINGDATE" valueDate="2019-09-01T02:00:00"/>
-      <column name="DUNNINGLEVEL" value="1"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="300"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1001"/>
-      <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
-      <column name="SALESORDERID" value="41197800-027b-47f5-923a-f1004d09a969"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="300.00"/>
+      <column name="SALESORDERID" value="41197800-027b-47f5-923a-f1004d09a969"/>
+      <column name="DUNNINGLEVEL" value="1"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1008"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPECONF"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1008"/>
-      <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
-      <column name="SALESORDERID" value="4b0e2423-d09d-47fc-b274-5a9fde013b64"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="4b0e2423-d09d-47fc-b274-5a9fde013b64"/>
+      <column name="ORDERTYPE" value="ORDTYPECONF"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
+      <column name="FOOTER" value="Danke sehr:"/>
+      <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="DUNNINGTEXT" value="Please pay the outstanding amount,this is you first/second reminder."/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="SALESORDERCODE" valueNumeric="1018"/>
+      <column name="PAYDATE" valueDate="2020-09-16T07:54:51"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="SALESORDERDATE" valueDate="2020-06-03T12:00:00"/>
+      <column name="DUNNINGDATE" valueDate="2020-09-16T07:54:51"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
+      <column name="NET" valueNumeric="28500.00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="VAT" valueNumeric="0.00"/>
+      <column name="PAYDUEDATE" valueDate="2020-06-10T12:00:00"/>
+      <column name="PAYMENTADDRESS" value="Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart"/>
+      <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="28500.00"/>
+      <column name="SALESORDERID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
+      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
+    </insert>
+    <insert tableName="salesorder">
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="FREE"/>
       <column name="DUNNINGTEXT" value="Bitte zahlen Sie den ausstehenden Betrag, dies ist die erste/zweite Mahnung."/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="SALESORDERCODE" valueNumeric="1015"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="SALESORDERDATE" valueDate="2018-09-11T12:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="53000.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPECONF"/>
+      <column name="VAT" valueNumeric="10070.00"/>
       <column name="PAYDUEDATE" valueDate="2018-09-18T12:00:00"/>
       <column name="PAYMENTADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1015"/>
-      <column name="SALESORDERDATE" valueDate="2018-09-11T12:00:00"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
       <column name="SALESORDERID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
-      <column name="VAT" valueNumeric="10070.00"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="Industrial Steel AG&#10;Stahlstraße 24&#10;20095 Hamburg"/>
+      <column name="ORDERTYPE" value="ORDTYPECONF"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1004"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2017-05-09T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1004"/>
-      <column name="SALESORDERDATE" valueDate="2017-05-09T02:00:00"/>
-      <column name="SALESORDERID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
+      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
       <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1003"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPECANC"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1003"/>
-      <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
-      <column name="SALESORDERID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
+      <column name="ORDERTYPE" value="ORDTYPECANC"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="PAYMENTTERMS" value="PAYTERM30"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="SALESORDERCODE" valueNumeric="1013"/>
+      <column name="PAYDATE" valueDate="2017-10-13T12:00:00"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="SALESORDERDATE" valueDate="2017-10-10T12:00:00"/>
       <column name="DUNNINGDATE" valueDate="2017-11-23T12:00:00"/>
-      <column name="DUNNINGLEVEL" value="1"/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="53500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="55000"/>
-      <column name="PAYDATE" valueDate="2017-10-13T12:00:00"/>
+      <column name="VAT" valueNumeric="10165.00"/>
       <column name="PAYDUEDATE" valueDate="2017-11-09T12:00:00"/>
       <column name="PAYMENTADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
-      <column name="PAYMENTTERMS" value="PAYTERM30"/>
-      <column name="SALESORDERCODE" valueNumeric="1013"/>
-      <column name="SALESORDERDATE" valueDate="2017-10-10T12:00:00"/>
+      <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="55000.00"/>
       <column name="SALESORDERID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
-      <column name="VAT" valueNumeric="10165.00"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
+      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="DUNNINGLEVEL" value="1"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="1"/>
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
+      <column name="FOOTER" value="Danke sehr:"/>
+      <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="DUNNINGTEXT" value="Please pay the outstanding amount,this is you first/second reminder."/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="SALESORDERCODE" valueNumeric="1019"/>
+      <column name="PAYDATE" valueDate="2020-08-27T12:00:00"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="SALESORDERDATE" valueDate="2020-08-11T12:00:00"/>
+      <column name="DUNNINGDATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
-      <column name="DELIVERYTERMS" value="DELIVERCIF"/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="NET" valueNumeric="192500.00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
+      <column name="VAT" valueNumeric="0.00"/>
+      <column name="PAYDUEDATE" valueDate="2020-08-18T12:00:00"/>
+      <column name="PAYMENTADDRESS" value="Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen"/>
+      <column name="OFFER_ID" value="182d647a-addd-4ef5-9c42-3912596ad63e"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="192500.00"/>
+      <column name="SALESORDERID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
+    </insert>
+    <insert tableName="salesorder">
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
+      <column name="FOOTER" value="Danke sehr:"/>
+      <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="DUNNINGTEXT" value="Please pay the outstanding amount,this is you first/second reminder."/>
+      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+      <column name="SALESORDERCODE" valueNumeric="1020"/>
+      <column name="PAYDATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="OBJECT_ROWID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="SALESORDERDATE" valueDate="2020-08-12T12:00:00"/>
+      <column name="DUNNINGDATE" valueDate="2020-09-16T12:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="NET" valueNumeric="3500.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="NET" valueNumeric="145000.00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPECRED"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="VAT" valueNumeric="0.00"/>
+      <column name="PAYDUEDATE" valueDate="2020-08-19T12:00:00"/>
+      <column name="PAYMENTADDRESS" value="Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg"/>
+      <column name="OFFER_ID" value="2948a9b8-5e81-491f-b741-9b35622f09da"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="145000.00"/>
+      <column name="SALESORDERID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="DELIVERYADDRESS" value="Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
+    </insert>
+    <insert tableName="salesorder">
       <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
+      <column name="DELIVERYTERMS" value="DELIVERCIF"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="SALESORDERCODE" valueNumeric="1012"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESORDERDATE" valueDate="2019-05-22T02:00:00"/>
-      <column name="SALESORDERID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="NET" valueNumeric="3500.00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="VAT" valueNumeric="0.00"/>
+      <column name="PAYMENTADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
+      <column name="CANCELLATION" valueNumeric="1"/>
+      <column name="SALESORDERID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="Skyscraper Bau GmbH&#10;Baustraße 64&#10;70173 Stuttgart"/>
+      <column name="ORDERTYPE" value="ORDTYPECRED"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
+      <column name="SALESORDERCODE" valueNumeric="1010"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
+      <column name="SALESORDERDATE" valueDate="2019-05-17T02:00:00"/>
       <column name="DUNNINGDATE" valueDate="2019-08-25T02:00:00"/>
-      <column name="DUNNINGLEVEL" value="2"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="0.00"/>
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="0"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1010"/>
-      <column name="SALESORDERDATE" valueDate="2019-05-17T02:00:00"/>
-      <column name="SALESORDERID" value="a846d596-b9ce-4a73-a842-e9084ebf612a"/>
       <column name="VAT" valueNumeric="0.00"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="0.00"/>
+      <column name="SALESORDERID" value="a846d596-b9ce-4a73-a842-e9084ebf612a"/>
+      <column name="DUNNINGLEVEL" value="2"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
       <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1005"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="210.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPECANC"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1005"/>
-      <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
-      <column name="SALESORDERID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="VAT" valueNumeric="39.90"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
+      <column name="ORDERTYPE" value="ORDTYPECANC"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
+      <column name="FOOTER" value="Danke sehr:"/>
+      <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="DUNNINGTEXT" value="Please pay the outstanding amount,this is you first/second reminder."/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="SALESORDERCODE" valueNumeric="1017"/>
+      <column name="PAYDATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="SALESORDERDATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="DUNNINGDATE" valueDate="2020-09-16T12:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
-      <column name="NET" valueNumeric="420.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="NET" valueNumeric="25000.00"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="VAT" valueNumeric="4750.00"/>
+      <column name="PAYDUEDATE" valueDate="2020-09-23T12:00:00"/>
+      <column name="PAYMENTADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="OFFER_ID" value="2497128b-c07d-4fe8-b927-1bea929cce4d"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="29750.00"/>
+      <column name="SALESORDERID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
+      <column name="DELIVERYADDRESS" value="Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
+    </insert>
+    <insert tableName="salesorder">
       <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
+      <column name="DELIVERYTERMS" value="DELIVEREX"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="SALESORDERCODE" valueNumeric="1009"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="SALESORDERDATE" valueDate="2017-05-09T02:00:00"/>
-      <column name="SALESORDERID" value="f5cf5ef9-ce09-4885-bcb0-421cd9cfac69"/>
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
+      <column name="NET" valueNumeric="420.00"/>
+      <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="VAT" valueNumeric="79.80"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="SALESORDERID" value="f5cf5ef9-ce09-4885-bcb0-421cd9cfac69"/>
+      <column name="ORDERTYPE" value="ORDTYPENOTE"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-      <column name="CURRENCY" value="EUR"/>
+      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="FREE"/>
+      <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+      <column name="SALESORDERCODE" valueNumeric="1007"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+      <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
       <column name="DUNNINGDATE" valueDate="2019-08-25T02:00:00"/>
-      <column name="DUNNINGLEVEL" value="2"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="630.00"/>
-      <column name="OBJECT_ROWID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="545"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
-      <column name="PAYMENTTERMS" value="PAYTERMDISCOUNT"/>
-      <column name="SALESORDERCODE" valueNumeric="1007"/>
-      <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
-      <column name="SALESORDERID" value="fae74315-d7ac-4757-b952-cc71ae83f4b5"/>
       <column name="VAT" valueNumeric="119.70"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="545.00"/>
+      <column name="SALESORDERID" value="fae74315-d7ac-4757-b952-cc71ae83f4b5"/>
+      <column name="DUNNINGLEVEL" value="2"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="Transatlantik Logistics GmbH&#10;Hafenstraße 12&#10;88045 Friedrichshafen"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="1"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="SALESORDERCODE" valueNumeric="1014"/>
+      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
+      <column name="SALESORDERDATE" valueDate="2019-05-22T02:00:00"/>
       <column name="DUNNINGDATE" valueDate="2019-05-29T02:00:00"/>
-      <column name="DUNNINGLEVEL" value="2"/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="175000.00"/>
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
-      <column name="ORDERSTATUS" valueNumeric="1"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="40000"/>
-      <column name="PAYDATE" valueDate="2018-06-30T01:00:00"/>
+      <column name="VAT" valueNumeric="0.00"/>
       <column name="PAYMENTADDRESS" value="Transatlantik Logistics GmbH&#10;Hafenstraße 12&#10;88045 Friedrichshafen"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1014"/>
-      <column name="SALESORDERDATE" valueDate="2019-05-22T02:00:00"/>
+      <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="40000.00"/>
       <column name="SALESORDERID" value="fc691949-4f61-485c-8e97-8f3d0d3d3962"/>
-      <column name="VAT" valueNumeric="0.00"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="Transatlantik Logistics GmbH&#10;Hafenstraße 12&#10;88045 Friedrichshafen"/>
+      <column name="DUNNINGLEVEL" value="2"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
     <insert tableName="salesorder">
-      <column name="CANCELLATION" valueNumeric="0"/>
-      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
-      <column name="CURRENCY" value="EUR"/>
-      <column name="DELIVERYADDRESS" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="PAYMENTTERMS" value="PAYTERM7"/>
+      <column name="ORDERSTATUS" valueNumeric="0"/>
       <column name="DELIVERYTERMS" value="FREE"/>
       <column name="DUNNINGTEXT" value="Bitte zahlen Sie den ausstehenden Betrag, dies ist die erste/zweite Mahnung."/>
-      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="SALESORDERCODE" valueNumeric="1016"/>
+      <column name="PAYDATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="SALESORDERDATE" valueDate="2020-08-05T12:00:00"/>
+      <column name="DUNNINGDATE" valueDate="2020-09-16T12:00:00"/>
       <column name="ISOLANGUAGE" value="deu"/>
+      <column name="CURRENCY" value="EUR"/>
       <column name="NET" valueNumeric="0.00"/>
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
-      <column name="ORDERSTATUS" valueNumeric="0"/>
-      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
-      <column name="PAID" valueNumeric="50000"/>
-      <column name="PAYDUEDATE" valueDate="2019-11-22T12:00:00"/>
+      <column name="VAT" valueNumeric="0.00"/>
+      <column name="PAYDUEDATE" valueDate="2020-08-12T12:00:00"/>
       <column name="PAYMENTADDRESS" value="Salesproject"/>
-      <column name="PAYMENTTERMS" value="PAYTERM7"/>
-      <column name="SALESORDERCODE" valueNumeric="1016"/>
-      <column name="SALESORDERDATE" valueDate="2019-11-15T12:00:00"/>
+      <column name="CANCELLATION" valueNumeric="0"/>
+      <column name="PAID" valueNumeric="50000.00"/>
       <column name="SALESORDERID" value="ff049e6e-06ef-4c27-bcce-5b5b244e4054"/>
-      <column name="VAT" valueNumeric="0.00"/>
+      <column name="HEADER" value="Gerne bieten wir Ihnen wie folgt an:"/>
+      <column name="DELIVERYADDRESS" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
+      <column name="ORDERTYPE" value="ORDTYPEINVO"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml
index cadabceb4c..cdca89d55b 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml
@@ -1,438 +1,517 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="17ea0209-e727-428a-af61-f4f3e60fed9a">
+  <changeSet author="autogenerated" id="a3df107f-0e4c-439b-9007-8bf4f7d88c00">
     <delete tableName="salesorderitem"/>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Klimaanlage 2-Zonen"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRODUCT_ID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="001410e8-f70b-4041-901c-02275ff6deb5"/>
-      <column name="SALESORDER_ID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX47"/>
-      <column name="ITEMPOSITION" value="1.1"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Turbolader"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="3500.00"/>
       <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
+      <column name="SALESORDERITEMID" value="07ceecff-e3cc-4891-b820-3fb6b977a9cc"/>
+    </insert>
+    <insert tableName="salesorderitem">
       <column name="QUANTITY" valueNumeric="1.00"/>
-      <column name="SALESORDERITEMID" value="08de406a-79bf-468f-8fea-29acfc79a1e8"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
+      <column name="ITEMNAME" value="Turbolader"/>
       <column name="SALESORDER_ID" value="1b9bd530-f45b-4074-872f-b8362cfc5ed0"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRICE" valueNumeric="3500.00"/>
+      <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
+      <column name="SALESORDERITEMID" value="08de406a-79bf-468f-8fea-29acfc79a1e8"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="SALESORDER_ID" value="66f6ffc1-702a-4ebe-9158-6214884d658d"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
       <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="PRICE" valueNumeric="145000.00"/>
+      <column name="PRODUCT_ID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
+      <column name="SALESORDERITEMID" value="117e49f1-b6ac-4570-9042-ae9d69263cb5"/>
+    </insert>
+    <insert tableName="salesorderitem">
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
+      <column name="ITEMNAME" value="AX45"/>
+      <column name="SALESORDER_ID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="17856c63-10f8-46c6-9295-5ad5bedff8ba"/>
-      <column name="SALESORDER_ID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.1"/>
-      <column name="ITEMPOSITION" value="1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+      <column name="ITEMPOSITION" value="1.1.1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.1"/>
-      <column name="ITEMPOSITION" value="1.2"/>
-      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="21ee4b39-876e-44a8-8153-dc7f38957fc7"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX47"/>
-      <column name="ITEMPOSITION" value="1.1"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="2bf1eb1f-501c-4006-83cb-fb9783272e35"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
+      <column name="QUANTITY" valueNumeric="5.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Klimaanlage 4-Zonen"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="4eb43698-a4e7-4617-8150-1b279dcce9f2"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="5000.00"/>
       <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
+      <column name="SALESORDERITEMID" value="2f409cb9-4d85-4e39-8e78-4838cd9a9224"/>
+      <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
+    </insert>
+    <insert tableName="salesorderitem">
+      <column name="QUANTITY" valueNumeric="10.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
+      <column name="ITEMNAME" value="Stahlträger Standard"/>
+      <column name="SALESORDER_ID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYKGS"/>
+      <column name="PRICE" valueNumeric="5000.00"/>
+      <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
+      <column name="SALESORDERITEMID" value="35c54c0a-760c-4a6b-a5f1-4d6beaec07ac"/>
+      <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/>
+    </insert>
+    <insert tableName="salesorderitem">
       <column name="QUANTITY" valueNumeric="5.00"/>
-      <column name="SALESORDERITEMID" value="368569a0-4d4d-4535-b2a5-8e380d5612ef"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
+      <column name="ITEMNAME" value="Klimaanlage 4-Zonen"/>
       <column name="SALESORDER_ID" value="1b9bd530-f45b-4074-872f-b8362cfc5ed0"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRICE" valueNumeric="5000.00"/>
+      <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
+      <column name="SALESORDERITEMID" value="368569a0-4d4d-4535-b2a5-8e380d5612ef"/>
+      <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Standard Gerüst"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="fc691949-4f61-485c-8e97-8f3d0d3d3962"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="25000.00"/>
       <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="39da8def-662f-4904-b9bf-b4e97affbeb7"/>
-      <column name="SALESORDER_ID" value="fc691949-4f61-485c-8e97-8f3d0d3d3962"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="3b25eeb9-ea52-4c62-a22c-041a1a2a41c2"/>
-      <column name="SALESORDER_ID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="50.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Ersatzteil 3"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="1060.00"/>
       <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="QUANTITY" valueNumeric="50.00"/>
       <column name="SALESORDERITEMID" value="3d9a18ac-2182-4cd5-a2c4-140674466821"/>
-      <column name="SALESORDER_ID" value="50c64e0f-6a21-4842-ab41-b27c70d0939a"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="45422c17-9626-4435-80ef-58c24fdf7559"/>
-      <column name="SALESORDER_ID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="3ce30718-ecc6-4543-95c8-1b25e1b6db43"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="45c38cca-86b7-46f1-aee8-635c8f0603bc"/>
-      <column name="SALESORDER_ID" value="3ce30718-ecc6-4543-95c8-1b25e1b6db43"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="WG2 Proudkt 3"/>
-      <column name="ITEMPOSITION" value="3"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="ITEMPOSITION" value="3"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="50000.00"/>
       <column name="PRODUCT_ID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="468023b8-fb3e-4e4c-9d30-841d12888b73"/>
-      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="4b0e2423-d09d-47fc-b274-5a9fde013b64"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="5396e85b-3144-400f-8f5d-c01e875679f7"/>
-      <column name="SALESORDER_ID" value="4b0e2423-d09d-47fc-b274-5a9fde013b64"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
+    </insert>
+    <insert tableName="salesorderitem">
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
+      <column name="ITEMNAME" value="WG2 Produkt 5"/>
+      <column name="SALESORDER_ID" value="e40eb96e-1f1f-4afa-9bd3-f70eff9041c0"/>
       <column name="VAT" valueNumeric="19.00"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRICE" valueNumeric="25000.00"/>
+      <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
+      <column name="SALESORDERITEMID" value="692f2acd-08b6-45d1-bcdf-6f8e46999039"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.2a"/>
-      <column name="ITEMPOSITION" value="1.1.2"/>
-      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+      <column name="ITEMPOSITION" value="1.1.2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="6d59b91d-bfac-46ac-be79-35fdeb793d0d"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="f5cf5ef9-ce09-4885-bcb0-421cd9cfac69"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="709e37c9-0397-4b82-965c-e11416e6f090"/>
-      <column name="SALESORDER_ID" value="f5cf5ef9-ce09-4885-bcb0-421cd9cfac69"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
-      <column name="GROUPCODEID" value="PRODUCTDISCOUNT"/>
-      <column name="ITEMNAME" value="Sonderrabatt"/>
-      <column name="ITEMPOSITION" value="1.1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
+      <column name="ITEMNAME" value="Förderanlage"/>
+      <column name="SALESORDER_ID" value="63a33308-4ae4-4de7-bd59-162f3677e819"/>
+      <column name="DISCOUNT" valueNumeric="5.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
-      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRICE" valueNumeric="150000.00"/>
+      <column name="PRODUCT_ID" value="155ac430-ccfc-4814-95fc-189631779064"/>
+      <column name="SALESORDERITEMID" value="817d0b06-077d-4f71-b983-91cf218ff0f7"/>
+    </insert>
+    <insert tableName="salesorderitem">
       <column name="QUANTITY" valueNumeric="3.00"/>
-      <column name="SALESORDERITEMID" value="8772eb20-dbe8-4e12-8ea8-21fb28474c3e"/>
+      <column name="GROUPCODEID" value="PRODUCTDISCOUNT                     "/>
+      <column name="ITEMNAME" value="Sonderrabatt"/>
       <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+      <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
+      <column name="ITEMPOSITION" value="1.1.1.1"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
+      <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
+      <column name="SALESORDERITEMID" value="8772eb20-dbe8-4e12-8ea8-21fb28474c3e"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.2a"/>
-      <column name="ITEMPOSITION" value="1.1.2"/>
-      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="5"/>
+      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+      <column name="ITEMPOSITION" value="1.1.2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="8c60146f-e950-47ad-8fed-d7bb88947789"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="92ebcce0-8970-42dc-b32f-b892fe7dbb52"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
-      <column name="GROUPCODEID" value="PRODUCTDISCOUNT"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTDISCOUNT                     "/>
       <column name="ITEMNAME" value="Sonderrabatt"/>
-      <column name="ITEMPOSITION" value="1.1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="4"/>
+      <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
+      <column name="ITEMPOSITION" value="1.1.1.1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="a63b3fed-f7a4-4173-ba3e-a893f7186ed6"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="Bremsscheiben"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="1000.00"/>
       <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="b4f02784-4593-4caf-a845-40b426d00082"/>
-      <column name="SALESORDER_ID" value="9069d098-7237-4fed-a365-ad2e60bf740f"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
+      <column name="QUANTITY" valueNumeric="1000.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP3                       "/>
       <column name="ITEMNAME" value="Gipsplatten"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="fc691949-4f61-485c-8e97-8f3d0d3d3962"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="150.00"/>
       <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
-      <column name="QUANTITY" valueNumeric="1000.00"/>
       <column name="SALESORDERITEMID" value="b5f17aaa-ffa7-4c8e-bbcb-d51cfecb06db"/>
-      <column name="SALESORDER_ID" value="fc691949-4f61-485c-8e97-8f3d0d3d3962"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.1"/>
-      <column name="ITEMPOSITION" value="1.2"/>
-      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="6"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.2"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="b68656aa-84e1-4682-9c2e-2d9ec0810ecb"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="fae74315-d7ac-4757-b952-cc71ae83f4b5"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="c64dc823-98cd-4159-a27d-7167f510fc57"/>
-      <column name="SALESORDER_ID" value="fae74315-d7ac-4757-b952-cc71ae83f4b5"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSERVICE                      "/>
       <column name="ITEMNAME" value="Service Einsatz"/>
-      <column name="ITEMPOSITION" value="2"/>
-      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="2"/>
+      <column name="ITEMPOSITION" value="2"/>
+      <column name="UNIT" value="QUANTITYHOUR"/>
       <column name="PRICE" valueNumeric="1000.00"/>
       <column name="PRODUCT_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="cd7c9255-0de8-4b15-a952-caf9669b447a"/>
-      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
-      <column name="UNIT" value="QUANTITYHOUR"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname4.1"/>
-      <column name="ITEMPOSITION" value="1.1.1"/>
-      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="3"/>
+      <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+      <column name="ITEMPOSITION" value="1.1.1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="dcb02f78-8305-462f-bbeb-f7b5cb102461"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP2                       "/>
       <column name="ITEMNAME" value="WG2 Produkt 4"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="2500.00"/>
       <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="e53aaecf-d8b6-4327-96cb-66f004e4b5fb"/>
-      <column name="SALESORDER_ID" value="5e082fe5-99d4-43be-aaad-e596f844fa8a"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="2.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="41197800-027b-47f5-923a-f1004d09a969"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="2.00"/>
       <column name="SALESORDERITEMID" value="ed7dcd27-0369-4196-894c-bfcce94b9e73"/>
-      <column name="SALESORDER_ID" value="41197800-027b-47f5-923a-f1004d09a969"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.2"/>
-      <column name="ITEMPOSITION" value="1.3"/>
-      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.3"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="f268cf96-7ba6-44aa-8357-42e0469afe79"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
+      <column name="QUANTITY" valueNumeric="1.00"/>
+      <column name="GROUPCODEID" value="PRODUCTGROUP1                       "/>
       <column name="ITEMNAME" value="AX45"/>
-      <column name="ITEMPOSITION" value="1"/>
-      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+      <column name="VAT" valueNumeric="19.00"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="1"/>
+      <column name="ITEMPOSITION" value="1"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRICE" valueNumeric="210.00"/>
       <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
-      <column name="QUANTITY" valueNumeric="1.00"/>
       <column name="SALESORDERITEMID" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
-      <column name="VAT" valueNumeric="19.00"/>
     </insert>
     <insert tableName="salesorderitem">
-      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
-      <column name="GROUPCODEID" value="PRODUCTSPARE"/>
+      <column name="QUANTITY" valueNumeric="3.00"/>
+      <column name="GROUPCODEID" value="PRODUCTSPARE                        "/>
       <column name="ITEMNAME" value="Produktname1.2"/>
-      <column name="ITEMPOSITION" value="1.3"/>
-      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
       <column name="OPTIONAL" valueNumeric="0"/>
+      <column name="ITEMSORT" valueNumeric="7"/>
+      <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+      <column name="ITEMPOSITION" value="1.3"/>
+      <column name="UNIT" value="QUANTITYPIECES"/>
       <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
-      <column name="QUANTITY" valueNumeric="3.00"/>
       <column name="SALESORDERITEMID" value="fafb2b07-012e-4d20-b263-2b794e5370a7"/>
-      <column name="SALESORDER_ID" value="de09c9c2-7560-4f3f-9284-853ad1341cf9"/>
-      <column name="UNIT" value="QUANTITYPIECES"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml
index 8f1d49425c..b02071fcb7 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml
@@ -1,77 +1,77 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="d0df62fd-50ee-4cd7-a9c4-a0820a9180a0">
+  <changeSet author="autogenerated" id="f1e88e4e-d309-4a84-a593-01a50b54454b">
     <delete tableName="salesproject"/>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="ENDDATE" valueDate="2020-05-16T02:00:00"/>
+      <column name="VOLUME" valueNumeric="200000.00"/>
       <column name="PHASE" value="SALPROJPHASESQO"/>
+      <column name="ENDDATE" valueDate="2021-05-20T12:00:00"/>
+      <column name="SALESPROJECTID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="PROBABILITY" value="SALPROJPROB25"/>
       <column name="PROJECTCODE" valueNumeric="1002"/>
       <column name="PROJECTTITLE" value="Erstprojekt"/>
-      <column name="SALESPROJECTID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="STARTDATE" valueDate="2019-05-16T02:00:00"/>
+      <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="STARTDATE" valueDate="2020-05-14T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
-      <column name="VOLUME" valueNumeric="200000.00"/>
     </insert>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="ENDDATE" valueDate="2020-05-17T02:00:00"/>
+      <column name="VOLUME" valueNumeric="120000.00"/>
       <column name="PHASE" value="SALPROJPHASESAL"/>
+      <column name="ENDDATE" valueDate="2021-05-17T12:00:00"/>
+      <column name="SALESPROJECTID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="PROBABILITY" value="SALPROJPROB25"/>
       <column name="PROJECTCODE" valueNumeric="1003"/>
       <column name="PROJECTTITLE" value="Skyscraper / Pilotprojekt"/>
-      <column name="SALESPROJECTID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="STARTDATE" valueDate="2019-05-17T02:00:00"/>
+      <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="STARTDATE" valueDate="2020-05-15T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
-      <column name="VOLUME" valueNumeric="120000.00"/>
     </insert>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
-      <column name="ENDDATE" valueDate="2020-05-22T02:00:00"/>
+      <column name="VOLUME" valueNumeric="350000.00"/>
       <column name="PHASE" value="SALPROJPHASEOFFER"/>
+      <column name="ENDDATE" valueDate="2022-05-22T12:00:00"/>
+      <column name="SALESPROJECTID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="PROBABILITY" value="SALPROJPROB50"/>
       <column name="PROJECTCODE" valueNumeric="1005"/>
       <column name="PROJECTTITLE" value="Kronen Pilotprojekt"/>
-      <column name="SALESPROJECTID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="STARTDATE" valueDate="2017-05-16T02:00:00"/>
+      <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
+      <column name="STARTDATE" valueDate="2020-05-13T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
-      <column name="VOLUME" valueNumeric="350000.00"/>
     </insert>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="ENDDATE" valueDate="2020-05-17T02:00:00"/>
+      <column name="VOLUME" valueNumeric="250000.00"/>
       <column name="PHASE" value="SALPROJPHASESAL"/>
+      <column name="ENDDATE" valueDate="2022-05-18T12:00:00"/>
+      <column name="SALESPROJECTID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="PROBABILITY" value="SALPROJPROB25"/>
-
       <column name="PROJECTCODE" valueNumeric="1004"/>
       <column name="PROJECTTITLE" value="Transatlantik Initialprojekt"/>
-      <column name="SALESPROJECTID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="STARTDATE" valueDate="2019-05-17T02:00:00"/>
+      <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
+      <column name="STARTDATE" valueDate="2020-05-15T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
-      <column name="VOLUME" valueNumeric="250000.00"/>
     </insert>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="ENDDATE" valueDate="2020-11-26T12:00:00"/>
       <column name="PHASE" value="SALPROJPHASENQC"/>
+      <column name="ENDDATE" valueDate="2021-11-26T12:00:00"/>
+      <column name="SALESPROJECTID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
+      <column name="PROBABILITY" value="SALPROJPROB50"/>
       <column name="PROJECTCODE" valueNumeric="1007"/>
       <column name="PROJECTTITLE" value="Projekt 123"/>
-      <column name="SALESPROJECTID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="STARTDATE" valueDate="2019-11-26T12:00:00"/>
+      <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+      <column name="STARTDATE" valueDate="2020-11-24T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
     </insert>
     <insert tableName="salesproject">
-      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
-      <column name="ENDDATE" valueDate="2020-05-22T02:00:00"/>
+      <column name="VOLUME" valueNumeric="450000.00"/>
       <column name="PHASE" value="SALPROJPHASEMQC"/>
-      <column name="PROBABILITY" value="SALPROJPROB50"/>
+      <column name="ENDDATE" valueDate="2022-05-22T12:00:00"/>
+      <column name="SALESPROJECTID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
+      <column name="PROBABILITY" value="SALPROJPROB25"/>
       <column name="PROJECTCODE" valueNumeric="1006"/>
       <column name="PROJECTTITLE" value="Buchner Neuprojekt"/>
-      <column name="SALESPROJECTID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="STARTDATE" valueDate="2016-02-05T01:00:00"/>
+      <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
+      <column name="STARTDATE" valueDate="2020-02-05T12:00:00"/>
       <column name="STATUS" value="SALPROJSTATOPEN"/>
-      <column name="VOLUME" valueNumeric="450000.00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_milestone.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_milestone.xml
index 29f3eb95b1..0da4ecf330 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_milestone.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_milestone.xml
@@ -1,188 +1,188 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="f24c7667-2b3a-4a73-87cf-e2533c312638">
+  <changeSet author="autogenerated" id="f1e7e051-35fe-4809-882c-052d78251aac">
     <delete tableName="salesproject_milestone"/>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-05-10T08:08:07"/>
+      <column name="SALESPROJECT_MILESTONEID" value="063a2c02-4b21-459a-8ae3-558ba67973dd"/>
       <column name="DATE_START" valueDate="2019-04-25T08:08:07"/>
+      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="KIND" value="SalesprojectPhase"/>
+      <column name="DATE_END" valueDate="2019-05-10T08:08:07"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
-      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_MILESTONEID" value="063a2c02-4b21-459a-8ae3-558ba67973dd"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-06-17T08:08:07"/>
+      <column name="SALESPROJECT_MILESTONEID" value="122a232c-0b24-45f1-a55f-d827a3d993de"/>
       <column name="DATE_START" valueDate="2019-05-10T08:08:07"/>
+      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
       <column name="PARENT_ID" value="063a2c02-4b21-459a-8ae3-558ba67973dd"/>
-      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_MILESTONEID" value="122a232c-0b24-45f1-a55f-d827a3d993de"/>
+      <column name="DATE_END" valueDate="2019-06-17T08:08:07"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-06-01T11:30:09"/>
+      <column name="SALESPROJECT_MILESTONEID" value="14da1165-ed6c-4f2a-8766-11d3533804cb"/>
       <column name="DATE_START" valueDate="2019-05-23T11:30:10"/>
+      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEMQC"/>
       <column name="PARENT_ID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
-      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_MILESTONEID" value="14da1165-ed6c-4f2a-8766-11d3533804cb"/>
+      <column name="DATE_END" valueDate="2019-06-01T11:30:09"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMQC"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="1f86a32a-7fa5-4a51-8bbe-4feee35c8e50"/>
       <column name="DATE_START" valueDate="2019-11-26T12:43:30"/>
+      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEMQC"/>
       <column name="PARENT_ID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
-      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="SALESPROJECT_MILESTONEID" value="1f86a32a-7fa5-4a51-8bbe-4feee35c8e50"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMQC"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="381b808e-d0a7-408b-a794-55c10b0399b5"/>
       <column name="DATE_START" valueDate="2019-05-22T01:42:51"/>
+      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="SALESPROJECT_MILESTONEID" value="381b808e-d0a7-408b-a794-55c10b0399b5"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-11-26T12:43:30"/>
+      <column name="SALESPROJECT_MILESTONEID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
       <column name="DATE_START" valueDate="2019-06-19T08:08:07"/>
+      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
       <column name="PARENT_ID" value="eff31d24-4434-4b92-9de9-eeb8eb43cb72"/>
-      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="SALESPROJECT_MILESTONEID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
+      <column name="DATE_END" valueDate="2019-11-26T12:43:30"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="4529f6d1-2d4d-4dfc-b404-6a3d30e7153b"/>
       <column name="DATE_START" valueDate="2019-05-22T11:51:20"/>
+      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="SALESPROJECT_MILESTONEID" value="4529f6d1-2d4d-4dfc-b404-6a3d30e7153b"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-06-15T11:30:09"/>
+      <column name="SALESPROJECT_MILESTONEID" value="47999521-d6ea-4a4d-959c-e72776ba5a25"/>
       <column name="DATE_START" valueDate="2019-06-01T10:18:10"/>
+      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
       <column name="PARENT_ID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
-      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_MILESTONEID" value="47999521-d6ea-4a4d-959c-e72776ba5a25"/>
+      <column name="DATE_END" valueDate="2019-06-15T11:30:09"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-05-23T10:44:48"/>
+      <column name="SALESPROJECT_MILESTONEID" value="4e764ba9-8f81-4e01-93de-f9769205dd3c"/>
       <column name="DATE_START" valueDate="2019-05-10T08:39:38"/>
+      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="KIND" value="SalesprojectPhase"/>
+      <column name="DATE_END" valueDate="2019-05-23T10:44:48"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
-      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_MILESTONEID" value="4e764ba9-8f81-4e01-93de-f9769205dd3c"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="5189697c-5dbf-4d10-a163-dfde87e490ab"/>
       <column name="DATE_START" valueDate="2019-05-17T08:08:08"/>
+      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_MILESTONEID" value="5189697c-5dbf-4d10-a163-dfde87e490ab"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-11-26T12:48:00"/>
+      <column name="SALESPROJECT_MILESTONEID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
       <column name="DATE_START" valueDate="2019-05-23T10:44:26"/>
+      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASENEGO"/>
       <column name="PARENT_ID" value="d77a1712-bd57-4d4f-bc58-69ce58f31685"/>
-      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="SALESPROJECT_MILESTONEID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
+      <column name="DATE_END" valueDate="2019-11-26T12:48:00"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASENEGO"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="737a988e-8779-4449-ba82-50f4361974eb"/>
       <column name="DATE_START" valueDate="2019-06-17T08:08:07"/>
+      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
       <column name="PARENT_ID" value="122a232c-0b24-45f1-a55f-d827a3d993de"/>
-      <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_MILESTONEID" value="737a988e-8779-4449-ba82-50f4361974eb"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-11-26T12:43:46"/>
+      <column name="SALESPROJECT_MILESTONEID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
       <column name="DATE_START" valueDate="2019-05-23T10:44:48"/>
+      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
       <column name="PARENT_ID" value="4e764ba9-8f81-4e01-93de-f9769205dd3c"/>
-      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_MILESTONEID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
+      <column name="DATE_END" valueDate="2019-11-26T12:43:46"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="8fb45194-7ced-475f-be58-7780c359dd0f"/>
       <column name="DATE_START" valueDate="2019-11-26T12:48:00"/>
+      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
       <column name="PARENT_ID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
-      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="SALESPROJECT_MILESTONEID" value="8fb45194-7ced-475f-be58-7780c359dd0f"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="97ac26df-2333-461c-958e-83fbc6f743ed"/>
       <column name="DATE_START" valueDate="2019-11-26T12:48:39"/>
+      <column name="SALESPROJECT_ID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="KIND" value="SalesprojectPhase"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
-      <column name="SALESPROJECT_ID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="SALESPROJECT_MILESTONEID" value="97ac26df-2333-461c-958e-83fbc6f743ed"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="ae7fe604-2fea-4aa1-be75-e990e8f31c74"/>
       <column name="DATE_START" valueDate="2019-06-15T01:34:58"/>
+      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_MILESTONEID" value="ae7fe604-2fea-4aa1-be75-e990e8f31c74"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-05-23T10:18:10"/>
+      <column name="SALESPROJECT_MILESTONEID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
       <column name="DATE_START" valueDate="2019-05-16T01:34:58"/>
+      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="KIND" value="SalesprojectPhase"/>
+      <column name="DATE_END" valueDate="2019-05-23T10:18:10"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
-      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_MILESTONEID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="ba8d15aa-3851-451b-9230-70eb7fb4ed6c"/>
       <column name="DATE_START" valueDate="2019-11-26T12:48:39"/>
+      <column name="SALESPROJECT_ID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba"/>
-      <column name="SALESPROJECT_MILESTONEID" value="ba8d15aa-3851-451b-9230-70eb7fb4ed6c"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="d51e2f85-5767-4cfb-9252-b314813152ed"/>
       <column name="DATE_START" valueDate="2019-11-15T01:06:15"/>
+      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="KIND" value="SalesprojectPhase"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
-      <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_MILESTONEID" value="d51e2f85-5767-4cfb-9252-b314813152ed"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-05-23T10:44:26"/>
+      <column name="SALESPROJECT_MILESTONEID" value="d77a1712-bd57-4d4f-bc58-69ce58f31685"/>
       <column name="DATE_START" valueDate="2019-05-14T11:51:20"/>
+      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="KIND" value="SalesprojectPhase"/>
+      <column name="DATE_END" valueDate="2019-05-23T10:44:26"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
-      <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
-      <column name="SALESPROJECT_MILESTONEID" value="d77a1712-bd57-4d4f-bc58-69ce58f31685"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="d77dc2ae-f12d-49ac-9a8f-ee0b5086f6ef"/>
       <column name="DATE_START" valueDate="2019-05-17T08:39:38"/>
+      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="KIND" value="SalesprojectState"/>
       <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
-      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_MILESTONEID" value="d77dc2ae-f12d-49ac-9a8f-ee0b5086f6ef"/>
     </insert>
     <insert tableName="salesproject_milestone">
+      <column name="SALESPROJECT_MILESTONEID" value="e33c0567-8085-4a1e-a7f6-131353297ebf"/>
       <column name="DATE_START" valueDate="2019-11-26T12:43:46"/>
+      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="KIND" value="SalesprojectPhase"/>
-      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
       <column name="PARENT_ID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
-      <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_MILESTONEID" value="e33c0567-8085-4a1e-a7f6-131353297ebf"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
     </insert>
     <insert tableName="salesproject_milestone">
-      <column name="DATE_END" valueDate="2019-06-19T08:08:07"/>
+      <column name="SALESPROJECT_MILESTONEID" value="eff31d24-4434-4b92-9de9-eeb8eb43cb72"/>
       <column name="DATE_START" valueDate="2019-05-22T01:42:51"/>
+      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="KIND" value="SalesprojectPhase"/>
+      <column name="DATE_END" valueDate="2019-06-19T08:08:07"/>
       <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
-      <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
-      <column name="SALESPROJECT_MILESTONEID" value="eff31d24-4434-4b92-9de9-eeb8eb43cb72"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_touchpoint.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_touchpoint.xml
index 20b02c61ce..1c1811748d 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_touchpoint.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject_touchpoint.xml
@@ -1,34 +1,34 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="cce280a2-5970-4067-9998-e23af5eb46a4">
+  <changeSet author="autogenerated" id="9ccc7a52-08cb-46f9-8deb-1eb7eee6236e">
     <delete tableName="salesproject_touchpoint"/>
     <insert tableName="salesproject_touchpoint">
       <column name="ENTRYDATE" valueDate="2019-05-17T08:22:56"/>
-      <column name="INFO" value="Kontakt über die Webseite"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_TOUCHPOINTID" value="2290111c-005b-4602-8adb-fb13844e065f"/>
       <column name="TOUCHPOINT" value="SALPROJSCOWNWEB"/>
+      <column name="INFO" value="Kontakt über die Webseite"/>
     </insert>
     <insert tableName="salesproject_touchpoint">
       <column name="ENTRYDATE" valueDate="2019-05-23T10:33:18"/>
-      <column name="INFO" value="Erster Kontakt mit uns."/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_TOUCHPOINTID" value="515ac173-4eab-4783-9c3f-e637c462f6b3"/>
       <column name="TOUCHPOINT" value="SALPROJSCOWNWEB"/>
+      <column name="INFO" value="Erster Kontakt mit uns."/>
     </insert>
     <insert tableName="salesproject_touchpoint">
       <column name="ENTRYDATE" valueDate="2019-05-23T10:19:16"/>
-      <column name="INFO" value="Die relevanten AP's waren am Stand. Hatten ein sehr produktives Gespräch."/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_TOUCHPOINTID" value="675253dd-0337-44c0-b230-71f030ee0246"/>
       <column name="TOUCHPOINT" value="SALPROJSCFAIR"/>
+      <column name="INFO" value="Die relevanten AP's waren am Stand. Hatten ein sehr produktives Gespräch."/>
     </insert>
     <insert tableName="salesproject_touchpoint">
       <column name="ENTRYDATE" valueDate="2019-05-17T08:23:27"/>
-      <column name="INFO" value="Besuch bei der Messe"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_TOUCHPOINTID" value="a3e94450-561f-43a8-bdec-64b093056187"/>
       <column name="TOUCHPOINT" value="SALPROJSCFAIR"/>
+      <column name="INFO" value="Besuch bei der Messe"/>
     </insert>
     <insert tableName="salesproject_touchpoint">
       <column name="ENTRYDATE" valueDate="2019-03-12T01:00:00"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salutation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salutation.xml
index 157efcc8d2..5d3f19517e 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/salutation.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salutation.xml
@@ -1,194 +1,164 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="fd073db7-3e03-4f39-8d7b-d28692863574">
+  <changeSet author="autogenerated" id="c210dacd-26fa-459c-a4c9-07487b5cbe26">
     <delete tableName="salutation"/>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="0500939e-5820-457d-a95f-6835b9501df9"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="0500939e-5820-457d-a95f-6835b9501df9"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="27"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Herrn Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Dr. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Dr. {ln}"/>
-      <column name="SALUTATION" value="Mrs."/>
-      <column name="SALUTATIONID" value="0b9a3d9b-a56c-47e9-a984-e88cface58db"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="0b9a3d9b-a56c-47e9-a984-e88cface58db"/>
+      <column name="SALUTATION" value="Mrs."/>
       <column name="SORT" valueNumeric="6"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="Dr. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrte Frau Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="0e719a2a-1018-49e0-b056-c90779955bf9"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="0e719a2a-1018-49e0-b056-c90779955bf9"/>
+      <column name="SALUTATION" value="Frau"/>
       <column name="SORT" valueNumeric="26"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Frau Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Mrs. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Mrs. {ln}"/>
-      <column name="SALUTATION" value="Mrs."/>
-      <column name="SALUTATIONID" value="11816f93-f6e9-427f-af68-fbf29c3e3544"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="11816f93-f6e9-427f-af68-fbf29c3e3544"/>
+      <column name="SALUTATION" value="Mrs."/>
       <column name="SORT" valueNumeric="18"/>
+      <column name="HEADLINE" value="Mrs. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Prof. Dr. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Professor"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="1f19ba34-8346-4620-a10e-fb39fdd0be9b"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="1f19ba34-8346-4620-a10e-fb39fdd0be9b"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="15"/>
       <column name="TITLE" value="Prof. Dr."/>
-    </insert>
-        <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Prof. Dr. {fn} {ln}"/>
-      <column name="ISOLANGUAGE" value="deu"/>
-      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Professorin"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="e8549204-4735-11ea-b77f-2e728ce88125"/>
-      <column name="SEX" value="f"/>
-      <column name="SORT" valueNumeric="7"/>
-      <column name="TITLE" value="Prof. Dr."/>
+      <column name="HEADLINE" value="Herrn Prof. Dr. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Madame {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Madame"/>
-      <column name="SALUTATION" value="Madame"/>
-      <column name="SALUTATIONID" value="2360e24d-1784-47b8-b0e9-3b57bd704e8a"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="2360e24d-1784-47b8-b0e9-3b57bd704e8a"/>
+      <column name="SALUTATION" value="Madame"/>
       <column name="SORT" valueNumeric="19"/>
+      <column name="HEADLINE" value="Madame {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Señora Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="spa"/>
       <column name="LETTERSALUTATION" value="Estimado Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Señora"/>
-      <column name="SALUTATIONID" value="25b28c87-edb5-4686-a3c4-92a5136aadc0"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="25b28c87-edb5-4686-a3c4-92a5136aadc0"/>
+      <column name="SALUTATION" value="Señora"/>
       <column name="SORT" valueNumeric="30"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Señora Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Monsieur Prof.Dr.{fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Monsieur Prof.Dr."/>
-      <column name="SALUTATION" value="Monsieur"/>
-      <column name="SALUTATIONID" value="2d8ec97f-38d7-45a8-9c45-ed672f4b035d"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="2d8ec97f-38d7-45a8-9c45-ed672f4b035d"/>
+      <column name="SALUTATION" value="Monsieur"/>
       <column name="SORT" valueNumeric="22"/>
       <column name="TITLE" value="Prof.Dr."/>
+      <column name="HEADLINE" value="Monsieur Prof.Dr.{fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Mrs. Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Mrs."/>
-      <column name="SALUTATIONID" value="4505783d-8a9f-4a18-ba2e-091794db3812"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="4505783d-8a9f-4a18-ba2e-091794db3812"/>
+      <column name="SALUTATION" value="Mrs."/>
       <column name="SORT" valueNumeric="31"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Mrs. Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Präsident {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Präsident"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="4b9af3f4-f34a-4170-a28c-ffdbca80c4d3"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="4b9af3f4-f34a-4170-a28c-ffdbca80c4d3"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="14"/>
       <column name="TITLE" value="Präsident"/>
+      <column name="HEADLINE" value="Herrn Präsident {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Präsidentin {fn} {ln}"/>
-      <column name="ISOLANGUAGE" value="deu"/>
-      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Präsidentin"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="e8549614-4735-11ea-b77f-2e728ce88125"/>
-      <column name="SEX" value="f"/>
-      <column name="SORT" valueNumeric="33"/>
-      <column name="TITLE" value="Präsidentin"/>
-    </insert>
-    <insert tableName="salutation">
-      <column name="HEADLINE" value="Madame Dr.{fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Madame Dr."/>
-      <column name="SALUTATION" value="Madame"/>
-      <column name="SALUTATIONID" value="4e76c69b-ee75-49e5-8581-2a808b29a117"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="4e76c69b-ee75-49e5-8581-2a808b29a117"/>
+      <column name="SALUTATION" value="Madame"/>
       <column name="SORT" valueNumeric="23"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="Madame Dr.{fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Monsieur Dr.{fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Monsieur Dr."/>
-      <column name="SALUTATION" value="Monsieur"/>
-      <column name="SALUTATIONID" value="516b740d-b932-4a64-b611-af0ea69f6bd0"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="516b740d-b932-4a64-b611-af0ea69f6bd0"/>
+      <column name="SALUTATION" value="Monsieur"/>
       <column name="SORT" valueNumeric="11"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="Monsieur Dr.{fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Mr. Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Mr."/>
-      <column name="SALUTATIONID" value="5260f79c-1001-41dc-b3ff-28b4ce7091b9"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="5260f79c-1001-41dc-b3ff-28b4ce7091b9"/>
+      <column name="SALUTATION" value="Mr."/>
       <column name="SORT" valueNumeric="28"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Mr. Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Professor {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Professor"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="5d9ad542-27b8-4dec-bcbd-a2c7d223f012"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="5d9ad542-27b8-4dec-bcbd-a2c7d223f012"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="12"/>
       <column name="TITLE" value="Professor"/>
+      <column name="HEADLINE" value="Herrn Professor {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Professor {fn} {ln}"/>
-      <column name="ISOLANGUAGE" value="deu"/>
-      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Professorin"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="e85494ac-4735-11ea-b77f-2e728ce88125"/>
-      <column name="SEX" value="f"/>
-      <column name="SORT" valueNumeric="32"/>
-      <column name="TITLE" value="Professorin"/>
-    </insert>
-    <insert tableName="salutation">
-      <column name="HEADLINE" value="Monsieur Prof.{fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Monsieur Prof."/>
-      <column name="SALUTATION" value="Monsieur"/>
-      <column name="SALUTATIONID" value="67fa73ae-a739-44fd-9244-28a49bc0d01d"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="67fa73ae-a739-44fd-9244-28a49bc0d01d"/>
+      <column name="SALUTATION" value="Monsieur"/>
       <column name="SORT" valueNumeric="10"/>
       <column name="TITLE" value="Prof."/>
+      <column name="HEADLINE" value="Monsieur Prof.{fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Dr. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrte Frau Dr. {ln}"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="6b35b8c5-920c-408b-b172-453a506aa775"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="6b35b8c5-920c-408b-b172-453a506aa775"/>
+      <column name="SALUTATION" value="Frau"/>
       <column name="SORT" valueNumeric="9"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="Frau Dr. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
       <column name="ISOLANGUAGE" value="deu"/>
@@ -197,120 +167,150 @@
       <column name="SORT" valueNumeric="4"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Prof. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Professor"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="75f4f04f-1877-425d-8d5d-56604d0040b2"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="75f4f04f-1877-425d-8d5d-56604d0040b2"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="21"/>
       <column name="TITLE" value="Prof."/>
+      <column name="HEADLINE" value="Herrn Prof. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Señor Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="spa"/>
       <column name="LETTERSALUTATION" value="Estimado Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Señor"/>
-      <column name="SALUTATIONID" value="7617a199-82b7-40ef-b2f7-0e85d32fad64"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="7617a199-82b7-40ef-b2f7-0e85d32fad64"/>
+      <column name="SALUTATION" value="Señor"/>
       <column name="SORT" valueNumeric="29"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Señor Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Dr. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Dr. {ln}"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="76fe57c0-cf68-4240-ba6d-eb7d52f46317"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="76fe57c0-cf68-4240-ba6d-eb7d52f46317"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="13"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="Herrn Dr. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Mr. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Mr. {ln}"/>
-      <column name="SALUTATION" value="Mr."/>
-      <column name="SALUTATIONID" value="801efd2a-41ce-4a5d-8ed5-c2db7fedb4e8"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="801efd2a-41ce-4a5d-8ed5-c2db7fedb4e8"/>
+      <column name="SALUTATION" value="Mr."/>
       <column name="SORT" valueNumeric="16"/>
+      <column name="HEADLINE" value="Mr. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn Bürgermeister {fn} - {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr Bürgermeister"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="8feaf27b-1fae-4d8c-a742-9cd023f46409"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="8feaf27b-1fae-4d8c-a742-9cd023f46409"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="2"/>
       <column name="TITLE" value="Bürgermeister"/>
+      <column name="HEADLINE" value="Herrn Bürgermeister {fn} - {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau Bürgermeisterin {fn} - {ln}"/>
-      <column name="ISOLANGUAGE" value="deu"/>
-      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Bürgermeisterin"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="e8549740-4735-11ea-b77f-2e728ce88125"/>
-      <column name="SEX" value="f"/>
-      <column name="SORT" valueNumeric="34"/>
-      <column name="TITLE" value="Bürgermeisterin"/>
-    </insert>
-    <insert tableName="salutation">
-      <column name="HEADLINE" value="Monsieur {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Monsieur"/>
-      <column name="SALUTATION" value="Monsieur"/>
-      <column name="SALUTATIONID" value="c1095e86-38d6-4329-a388-4cfabab10eae"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="c1095e86-38d6-4329-a388-4cfabab10eae"/>
+      <column name="SALUTATION" value="Monsieur"/>
       <column name="SORT" valueNumeric="8"/>
+      <column name="HEADLINE" value="Monsieur {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Herrn {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrter Herr {ln}"/>
-      <column name="SALUTATION" value="Herr"/>
-      <column name="SALUTATIONID" value="c98c8644-9e00-4715-a775-827a364f5cef"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="c98c8644-9e00-4715-a775-827a364f5cef"/>
+      <column name="SALUTATION" value="Herr"/>
       <column name="SORT" valueNumeric="1"/>
+      <column name="HEADLINE" value="Herrn {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Frau {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="deu"/>
       <column name="LETTERSALUTATION" value="Sehr geehrte Frau {ln}"/>
-      <column name="SALUTATION" value="Frau"/>
-      <column name="SALUTATIONID" value="cbcc2c2b-9b64-442b-a6be-aaf8e462128c"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="cbcc2c2b-9b64-442b-a6be-aaf8e462128c"/>
+      <column name="SALUTATION" value="Frau"/>
       <column name="SORT" valueNumeric="3"/>
+      <column name="HEADLINE" value="Frau {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Professor {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Professor {ln}"/>
-      <column name="SALUTATION" value="Mr."/>
-      <column name="SALUTATIONID" value="ce348b08-c1bf-4e76-8272-6d6b32ecdd6a"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="ce348b08-c1bf-4e76-8272-6d6b32ecdd6a"/>
+      <column name="SALUTATION" value="Mr."/>
       <column name="SORT" valueNumeric="17"/>
       <column name="TITLE" value="Professor"/>
+      <column name="HEADLINE" value="Professor {fn} {ln}"/>
+    </insert>
+    <insert tableName="salutation">
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Professorin"/>
+      <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="e8549204-4735-11ea-b77f-2e728ce88125"/>
+      <column name="SALUTATION" value="Frau"/>
+      <column name="SORT" valueNumeric="7"/>
+      <column name="TITLE" value="Prof. Dr."/>
+      <column name="HEADLINE" value="Frau Prof. Dr. {fn} {ln}"/>
+    </insert>
+    <insert tableName="salutation">
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Professorin"/>
+      <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="e85494ac-4735-11ea-b77f-2e728ce88125"/>
+      <column name="SALUTATION" value="Frau"/>
+      <column name="SORT" valueNumeric="32"/>
+      <column name="TITLE" value="Professorin"/>
+      <column name="HEADLINE" value="Frau Professor {fn} {ln}"/>
+    </insert>
+    <insert tableName="salutation">
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Präsidentin"/>
+      <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="e8549614-4735-11ea-b77f-2e728ce88125"/>
+      <column name="SALUTATION" value="Frau"/>
+      <column name="SORT" valueNumeric="33"/>
+      <column name="TITLE" value="Präsidentin"/>
+      <column name="HEADLINE" value="Frau Präsidentin {fn} {ln}"/>
+    </insert>
+    <insert tableName="salutation">
+      <column name="ISOLANGUAGE" value="deu"/>
+      <column name="LETTERSALUTATION" value="Sehr geehrte Frau Bürgermeisterin"/>
+      <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="e8549740-4735-11ea-b77f-2e728ce88125"/>
+      <column name="SALUTATION" value="Frau"/>
+      <column name="SORT" valueNumeric="34"/>
+      <column name="TITLE" value="Bürgermeisterin"/>
+      <column name="HEADLINE" value="Frau Bürgermeisterin {fn} - {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Madame Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Madame Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Madame"/>
-      <column name="SALUTATIONID" value="e8e001ab-b200-480f-917b-33d57e2a8734"/>
       <column name="SEX" value="f"/>
+      <column name="SALUTATIONID" value="e8e001ab-b200-480f-917b-33d57e2a8734"/>
+      <column name="SALUTATION" value="Madame"/>
       <column name="SORT" valueNumeric="25"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Madame Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="Monsieur Dr. Ing. {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="fra"/>
       <column name="LETTERSALUTATION" value="Monsieur Dr. Ing. {ln}"/>
-      <column name="SALUTATION" value="Monsieur"/>
-      <column name="SALUTATIONID" value="f3ea547a-d744-4ce8-815a-126d9697e037"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="f3ea547a-d744-4ce8-815a-126d9697e037"/>
+      <column name="SALUTATION" value="Monsieur"/>
       <column name="SORT" valueNumeric="24"/>
       <column name="TITLE" value="Dr. Ing."/>
+      <column name="HEADLINE" value="Monsieur Dr. Ing. {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
       <column name="ISOLANGUAGE" value="eng"/>
@@ -319,14 +319,14 @@
       <column name="SORT" valueNumeric="20"/>
     </insert>
     <insert tableName="salutation">
-      <column name="HEADLINE" value="{ti} {fn} {ln}"/>
       <column name="ISOLANGUAGE" value="eng"/>
       <column name="LETTERSALUTATION" value="Dear Dr.  {ln}"/>
-      <column name="SALUTATION" value="Mr."/>
-      <column name="SALUTATIONID" value="f9135efb-ebd4-4c9f-bfa1-3beedb647009"/>
       <column name="SEX" value="m"/>
+      <column name="SALUTATIONID" value="f9135efb-ebd4-4c9f-bfa1-3beedb647009"/>
+      <column name="SALUTATION" value="Mr."/>
       <column name="SORT" valueNumeric="5"/>
       <column name="TITLE" value="Dr."/>
+      <column name="HEADLINE" value="{ti} {fn} {ln}"/>
     </insert>
     <insert tableName="salutation">
       <column name="ISOLANGUAGE" value="fra"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/serialletter.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/serialletter.xml
index 43088fe984..1e0ce4c31b 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/serialletter.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/serialletter.xml
@@ -1,24 +1,24 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="87837986-ff87-4743-9ce0-4c1abb668fec">
+  <changeSet author="autogenerated" id="96b4a230-a1d3-496d-88a1-54ce7f5c1174">
     <delete tableName="serialletter"/>
     <insert tableName="serialletter">
-      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="SERIALLETTERID" value="3bb97d70-e651-4800-9742-32b46ac82292"/>
-      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
+      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="TITLE" value="VIP Kundeneinladungen"/>
+      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
     </insert>
     <insert tableName="serialletter">
-      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="SERIALLETTERID" value="b0578b56-b2a4-4e74-94e0-38b9dde99234"/>
-      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
+      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="TITLE" value="Einladung Kundentag"/>
+      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
     </insert>
     <insert tableName="serialletter">
-      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="SERIALLETTERID" value="eb0c5345-e93f-4148-88ea-f5f22c62c419"/>
-      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
+      <column name="DOCUMENTTEMPLATE_ID" value="32169990-8d00-41f9-88c5-96e6f0cbbc9a"/>
       <column name="TITLE" value="Weihnachtskarte"/>
+      <column name="STATUS" value="SERIALLETTERNOTSENT"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/task.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/task.xml
index 4a93f0598c..1d1470208e 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/task.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/task.xml
@@ -1,240 +1,248 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="6b1bb53f-77e4-4373-a349-0760af2e77c3">
+  <changeSet author="autogenerated" id="f2e08a9f-bb67-42ce-b52c-bbf70ffc4553">
     <delete tableName="task"/>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Winterreifen draufmachen lassen"/>
+      <column name="SUBJECT" value="Autoreifen wechseln"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-10-01T06:05:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="DESCRIPTION" value="Winterreifen draufmachen lassen"/>
+      <column name="MATURITY_DATE" valueDate="2020-10-01T06:05:00"/>
       <column name="PRIORITY" value="TASKPRIONONE"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="START_DATE" valueDate="2019-05-22T06:05:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Autoreifen wechseln"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="0d126a7e-4308-4857-9245-5a40f3e2b36e"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-05-20T06:05:00"/>
     </insert>
     <insert tableName="task">
-      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="SUBJECT" value="Vorbereitung Präsentation"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-24T01:46:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+      <column name="MATURITY_DATE" valueDate="2020-10-27T02:46:00"/>
       <column name="PRIORITY" value="TASKPRIONONE"/>
-      <column name="PROGRESS" value="TASKPROG50"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-      <column name="START_DATE" valueDate="2019-05-22T01:46:00"/>
-      <column name="STATUS" value="IN-PROGRESS"/>
-      <column name="SUBJECT" value="Vorbereitung Präsentation"/>
+      <column name="PROGRESS" value="TASKPROG50"/>
       <column name="TASKID" value="2e50d2cd-9429-433c-8f6e-2e31a9e7908e"/>
+      <column name="STATUS" value="IN-PROGRESS"/>
+      <column name="START_DATE" valueDate="2020-10-27T02:46:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Kampagnenplanung für dieses Jahr beenden."/>
+      <column name="SUBJECT" value="Kampagne zu Akquise planen"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-22T10:25:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="DESCRIPTION" value="Kampagnenplanung für dieses Jahr beenden."/>
+      <column name="MATURITY_DATE" valueDate="2020-10-30T11:25:00"/>
       <column name="PRIORITY" value="TASKPRIOHIGH"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="START_DATE" valueDate="2019-05-17T10:25:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Kampagne zu Akquise planen"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="380c1ae1-c7d4-49b7-87e1-4fe2e16c4c52"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-10-26T11:25:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Verpackung der Ware hat bei Zustellung äußerliche Beschädigungen aufgewiesen. An den gleichen Stellen ist die Ware ebenfalls beshädigt."/>
-      <column name="EDITOR_CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
+      <column name="SUBJECT" value="Beschädigte Ware"/>
       <column name="KIND" value="TICKET"/>
+      <column name="REQUESTOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DESCRIPTION" value="Verpackung der Ware hat bei Zustellung äußerliche Beschädigungen aufgewiesen. An den gleichen Stellen ist die Ware ebenfalls beshädigt."/>
       <column name="MATURITY_DATE" valueDate="2019-11-22T10:59:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
+      <column name="EDITOR_CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="PROGRESS" value="TASKPROG0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="START_DATE" valueDate="2019-11-15T10:59:00"/>
-      <column name="STATUS" value="ASSIGNED"/>
-      <column name="SUBJECT" value="Beschädigte Ware"/>
       <column name="TASKID" value="46164eac-62d1-4dbb-a252-93ac49429855"/>
+      <column name="STATUS" value="ASSIGNED"/>
+      <column name="START_DATE" valueDate="2019-11-15T10:59:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Kunde ist sehr interessiert an unserem Produkten, weitere Produktabstimmung intern."/>
-      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="SUBJECT" value="Lead nachfassen"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-29T01:48:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
+      <column name="DESCRIPTION" value="Kunde ist sehr interessiert an unserem Produkten, weitere Produktabstimmung intern."/>
+      <column name="MATURITY_DATE" valueDate="2020-09-30T12:48:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
-      <column name="PROGRESS" value="TASKPROG50"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
-      <column name="START_DATE" valueDate="2019-02-11T01:48:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Lead nachfassen"/>
+      <column name="PROGRESS" value="TASKPROG50"/>
       <column name="TASKID" value="67afcc4b-f71b-4da6-a8b3-e7947c411a2a"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-09-30T12:48:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Kunde wollte ein Angebot, hierzu die offenen Posten klären"/>
+      <column name="SUBJECT" value="Nachfassen bei Kunden"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-15T09:36:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DESCRIPTION" value="Kunde wollte ein Angebot, hierzu die offenen Posten klären"/>
+      <column name="MATURITY_DATE" valueDate="2020-12-22T10:36:00"/>
       <column name="PRIORITY" value="TASKPRIOMEDIUM"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-05-08T09:36:00"/>
-      <column name="STATUS" value="IN-PROGRESS"/>
-      <column name="SUBJECT" value="Nachfassen bei Kunden"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="783f38b6-db71-42b5-9117-848553905c93"/>
+      <column name="STATUS" value="IN-PROGRESS"/>
+      <column name="START_DATE" valueDate="2020-12-22T10:36:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Zu offenen Opportunities den Forecast anpassen"/>
+      <column name="SUBJECT" value="Forecast anpassen"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-24T09:34:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DESCRIPTION" value="Zu offenen Opportunities den Forecast anpassen"/>
+      <column name="MATURITY_DATE" valueDate="2020-10-30T10:34:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-05-17T09:34:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Forecast anpassen"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="7d404da2-78bf-427b-8abb-4c7e953220ca"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-10-21T09:34:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Preisabstimmung."/>
+      <column name="SUBJECT" value="Mit der Vertriebsleitung abstimmen wie viel Prozent Rabatt gegeben werden kann."/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-04-05T09:08:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DESCRIPTION" value="Preisabstimmung."/>
+      <column name="MATURITY_DATE" valueDate="2020-10-21T09:08:00"/>
       <column name="PRIORITY" value="TASKPRIOMEDIUM"/>
-      <column name="PROGRESS" value="TASKPROG75"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-04-01T09:08:00"/>
-      <column name="STATUS" value="WAITING"/>
-      <column name="SUBJECT" value="Mit der Vertriebsleitung abstimmen wie viel Prozent Rabatt gegeben werden kann."/>
+      <column name="PROGRESS" value="TASKPROG75"/>
       <column name="TASKID" value="81a4c8e7-4429-41e1-a534-f1be21e56b5e"/>
+      <column name="STATUS" value="WAITING"/>
+      <column name="START_DATE" valueDate="2020-10-21T09:08:00"/>
     </insert>
     <insert tableName="task">
+      <column name="SUBJECT" value="Test"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-30T11:50:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MATURITY_DATE" valueDate="2020-05-29T11:50:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-05-23T11:50:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Test"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="81a4d411-f317-4080-84b6-55ed91d26d34"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-05-21T11:50:00"/>
     </insert>
     <insert tableName="task">
+      <column name="SUBJECT" value="Präsentation vor Ort vorbereiten"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-30T09:21:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="MATURITY_DATE" valueDate="2020-05-28T09:21:00"/>
       <column name="PRIORITY" value="TASKPRIOHIGH"/>
-      <column name="PROGRESS" value="TASKPROG75"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="START_DATE" valueDate="2019-05-23T09:21:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Präsentation vor Ort vorbereiten"/>
+      <column name="PROGRESS" value="TASKPROG75"/>
       <column name="TASKID" value="96ec8b48-9fac-4216-bc98-a8323f0592f9"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-05-21T09:21:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Die Funktionalitäten des Tools erfüllen nicht die geforderten Funktionalitäten.&#10;Im Detail:  Die Zeiterfassung kann nicht zu Tickets erfasst werden.&#10;"/>
-      <column name="EDITOR_CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
+      <column name="SUBJECT" value="Projektplanung fehlerhaft"/>
       <column name="KIND" value="TICKET"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="DESCRIPTION" value="Die Funktionalitäten des Tools erfüllen nicht die geforderten Funktionalitäten.&#10;Im Detail:  Die Zeiterfassung kann nicht zu Tickets erfasst werden.&#10;"/>
       <column name="MATURITY_DATE" valueDate="2019-09-12T01:43:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
+      <column name="EDITOR_CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="PROGRESS" value="TASKPROG0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-09-05T01:43:00"/>
-      <column name="STATUS" value="ASSIGNED"/>
-      <column name="SUBJECT" value="Projektplanung fehlerhaft"/>
       <column name="TASKID" value="998d95e6-3d3b-448b-a634-5516c0e392a5"/>
+      <column name="STATUS" value="ASSIGNED"/>
+      <column name="START_DATE" valueDate="2019-09-05T01:43:00"/>
     </insert>
     <insert tableName="task">
+      <column name="SUBJECT" value="Rückruf Herr. Feldner"/>
       <column name="KIND" value="TASK"/>
-      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="KIND" value="TASK"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="MATURITY_DATE" valueDate="2019-12-02T10:00:00"/>
       <column name="PRIORITY" value="TASKPRIOHIGH"/>
-      <column name="PROGRESS" value="TASKPROG50"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-11-26T01:00:00"/>
-      <column name="STATUS" value="ENDED"/>
-      <column name="SUBJECT" value="Rückruf Herr. Feldner"/>
+      <column name="PROGRESS" value="TASKPROG50"/>
       <column name="TASKID" value="cb00abc2-afc7-4cde-9e44-baf02248edd2"/>
+      <column name="STATUS" value="ENDED"/>
+      <column name="START_DATE" valueDate="2019-11-26T01:00:00"/>
     </insert>
     <insert tableName="task">
+      <column name="SUBJECT" value="Produkt Präsentation vorbereiten und mit Lisa Sommer abstimmen"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-06-21T06:03:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MATURITY_DATE" valueDate="2020-06-19T06:03:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
-      <column name="PROGRESS" value="TASKPROG25"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-03-11T06:03:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Produkt Präsentation vorbereiten und mit Lisa Sommer abstimmen"/>
+      <column name="PROGRESS" value="TASKPROG25"/>
       <column name="TASKID" value="cf99cace-a6e1-46a6-ad83-c634e373f320"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-03-09T06:03:00"/>
     </insert>
     <insert tableName="task">
-      <column name="EDITOR_CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="SUBJECT" value="Besuch vorbereiten"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-24T09:38:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MATURITY_DATE" valueDate="2020-10-28T10:38:00"/>
       <column name="PRIORITY" value="TASKPRIOMEDIUM"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-05-17T09:38:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Besuch vorbereiten"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="d6217dc5-5585-4919-a545-9cdc64a1ca58"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-10-14T09:38:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Strategieevent 2-Tage"/>
+      <column name="SUBJECT" value="Event im Hause"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-11-13T06:04:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="DESCRIPTION" value="Strategieevent 2-Tage"/>
+      <column name="MATURITY_DATE" valueDate="2020-11-11T06:04:00"/>
       <column name="PRIORITY" value="TASKPRIOHIGH"/>
-      <column name="PROGRESS" value="TASKPROG75"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="START_DATE" valueDate="2019-05-22T06:04:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Event im Hause"/>
+      <column name="PROGRESS" value="TASKPROG75"/>
       <column name="TASKID" value="d8f35764-2c56-45be-93c7-f1e0695e2417"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-05-20T06:04:00"/>
     </insert>
     <insert tableName="task">
-      <column name="DESCRIPTION" value="Es sollen die effizienten Wertschöpfungsketten der Prozessdefinitionseinheiten im primären Schritt gebündelt und sekundär analysiert und verifiziert werden."/>
-      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="SUBJECT" value="effiziente Wertschöpfungsketten bündeln und anlaysieren"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-01-20T05:00:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+      <column name="DESCRIPTION" value="Es sollen die effizienten Wertschöpfungsketten der Prozessdefinitionseinheiten im primären Schritt gebündelt und sekundär analysiert und verifiziert werden."/>
+      <column name="MATURITY_DATE" valueDate="2021-01-20T03:00:00"/>
       <column name="PRIORITY" value="TASKPRIOHIGH"/>
+      <column name="EDITOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-      <column name="START_DATE" valueDate="2019-01-20T03:00:00"/>
-      <column name="STATUS" value="IN-PROGRESS"/>
-      <column name="SUBJECT" value="effiziente Wertschöpfungsketten bündeln und anlaysieren"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="e9cb198d-c420-4192-9c29-b23682457d8e"/>
+      <column name="STATUS" value="IN-PROGRESS"/>
+      <column name="START_DATE" valueDate="2021-01-20T03:00:00"/>
     </insert>
     <insert tableName="task">
-      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="KIND" value="TASK"/>
+      <column name="SUBJECT" value="Controlling Termin Vorbereiten"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-12-02T09:59:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="MATURITY_DATE" valueDate="2020-12-02T09:59:00"/>
       <column name="PRIORITY" value="TASKPRIOLOW"/>
-      <column name="PROGRESS" value="TASKPROG0"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-      <column name="START_DATE" valueDate="2019-11-25T09:59:00"/>
-      <column name="STATUS" value="NEW"/>
-      <column name="SUBJECT" value="Controlling Termin Vorbereiten"/>
+      <column name="PROGRESS" value="TASKPROG0"/>
       <column name="TASKID" value="eadbfbc2-3664-49c8-bda1-b6f8e15e5f21"/>
+      <column name="STATUS" value="NEW"/>
+      <column name="START_DATE" valueDate="2020-11-23T09:59:00"/>
     </insert>
     <insert tableName="task">
-      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
+      <column name="SUBJECT" value="Skyscraper VP für nächste Schritte"/>
       <column name="KIND" value="TASK"/>
-      <column name="MATURITY_DATE" valueDate="2019-05-29T01:44:00"/>
+      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
+      <column name="MATURITY_DATE" valueDate="2020-11-12T02:44:00"/>
       <column name="PRIORITY" value="TASKPRIOMEDIUM"/>
-      <column name="PROGRESS" value="TASKPROG50"/>
+      <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="PROTECTIONLEVEL" valueNumeric="0"/>
-      <column name="REQUESTOR_CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
-      <column name="START_DATE" valueDate="2019-05-22T01:44:00"/>
-      <column name="STATUS" value="IN-PROGRESS"/>
-      <column name="SUBJECT" value="Skyscraper VP für nächste Schritte"/>
+      <column name="PROGRESS" value="TASKPROG50"/>
       <column name="TASKID" value="f8fcdce1-da60-46d6-9ce3-3866e093730d"/>
+      <column name="STATUS" value="IN-PROGRESS"/>
+      <column name="START_DATE" valueDate="2020-10-21T01:44:00"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/tasklink.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/tasklink.xml
index d63eb70db4..04c72218c5 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/tasklink.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/tasklink.xml
@@ -1,54 +1,54 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="065cdfbf-0c43-4c89-a8dc-93b808ce554a">
+  <changeSet author="autogenerated" id="843e645d-0e32-4a4a-a2a2-17a54d367de6">
     <delete tableName="tasklink"/>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="TASKLINKID" value="0a0294dd-ea9f-4840-9526-51a5cd4ec509"/>
       <column name="TASK_ID" value="67afcc4b-f71b-4da6-a8b3-e7947c411a2a"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="TASKLINKID" value="44c1f582-7681-4f6f-b592-6221ebbdee52"/>
       <column name="TASK_ID" value="81a4c8e7-4429-41e1-a534-f1be21e56b5e"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="TASKLINKID" value="62941aed-465d-4ce4-b0af-de80a900cb09"/>
       <column name="TASK_ID" value="f8fcdce1-da60-46d6-9ce3-3866e093730d"/>
+      <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="TASKLINKID" value="6c2f84af-ff2e-4b70-b4d0-607a2bd0d941"/>
       <column name="TASK_ID" value="2e50d2cd-9429-433c-8f6e-2e31a9e7908e"/>
+      <column name="OBJECT_ROWID" value="6a92df58-2b98-40da-ba6a-d0ddb1fde234"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="TASKLINKID" value="8137c681-ea6b-4223-b275-cddfd34b2e4b"/>
       <column name="TASK_ID" value="81a4c8e7-4429-41e1-a534-f1be21e56b5e"/>
+      <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="TASKLINKID" value="b618fb87-d39d-41d8-be41-2b03bce29538"/>
       <column name="TASK_ID" value="96ec8b48-9fac-4216-bc98-a8323f0592f9"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
       <column name="OBJECT_TYPE" value="Organisation"/>
       <column name="TASKLINKID" value="eca5c8cb-bd10-4425-b4bc-a2e50f2518b9"/>
       <column name="TASK_ID" value="46164eac-62d1-4dbb-a252-93ac49429855"/>
+      <column name="OBJECT_ROWID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
     </insert>
     <insert tableName="tasklink">
-      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="TASKLINKID" value="f79e858f-9237-47d0-8f38-8a2b7c77e520"/>
       <column name="TASK_ID" value="2e50d2cd-9429-433c-8f6e-2e31a9e7908e"/>
+      <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ticket.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ticket.xml
index 9ba65c2e9e..ecfdc5b1c1 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ticket.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ticket.xml
@@ -1,18 +1,18 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="dcc90829-0353-4fbb-b13d-a87373d1cf98">
+  <changeSet author="autogenerated" id="feb553cc-862a-497f-93b5-327edf8eba57">
     <delete tableName="ticket"/>
     <insert tableName="ticket">
       <column name="CODE" valueNumeric="1"/>
       <column name="TASK_ID" value="46164eac-62d1-4dbb-a252-93ac49429855"/>
-      <column name="TICKETID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
       <column name="TICKETTYPE" value="SUPPORTTICKET"/>
+      <column name="TICKETID" value="634ad7a8-9c68-4ea4-8385-f5bb37224482"/>
     </insert>
     <insert tableName="ticket">
       <column name="CODE" valueNumeric="0"/>
       <column name="TASK_ID" value="998d95e6-3d3b-448b-a634-5516c0e392a5"/>
-      <column name="TICKETID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
       <column name="TICKETTYPE" value="SUPPORTTICKET"/>
+      <column name="TICKETID" value="64f1135c-964c-473e-8596-4cd6c4e5bda8"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/visitplan.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/visitplan.xml
deleted file mode 100644
index b42ed24286..0000000000
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/visitplan.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="autogenerated" id="62ad16a9-7312-4dda-9e4b-460673b9af82">
-        <insert tableName="VISITPLANEMPLOYEEWEEK">
-          <column name="VISITPLANEMPLOYEEWEEKID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
-          <column name="VISITPLAN_YEAR" valueNumeric="2020"/>
-          <column name="VISITPLAN_WEEK" valueNumeric="21"/>
-          <column name="CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
-          <column name="INFO" value=""/>
-        </insert>
-
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="04e3cf2c-c367-4b3c-a65f-f729da96754f"/>
-          <column name="ENTRYDATE" valueDate="2020-05-18"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-          <column name ="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="9c6b378b-4738-47b6-9f19-3a1e26f3428e"/>
-          <column name="ENTRYDATE" valueDate="2020-05-19"/>
-          <column name="BEGIN_TIME" value="14:00"/>
-          <column name="END_TIME" value="17:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="2c63e0de-f21c-474f-89d7-bff8ba1dbf43"/>
-          <column name ="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="bd7b38d1-9ae1-4424-8c65-d9b0f3b000ba"/>
-          <column name="ENTRYDATE" valueDate="2020-05-19"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="06006801-c6a1-4321-9fde-95f9d3f9b786"/>
-          <column name ="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="5102104c-6baa-404f-9c71-157a8c79663a"/>
-          <column name="ENTRYDATE" valueDate="2020-05-20"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="13e60843-5d6d-45ee-88c7-46db41874138"/>
-          <column name ="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        
-        <insert tableName="VISITPLANEMPLOYEEWEEK">
-          <column name="VISITPLANEMPLOYEEWEEKID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
-          <column name="VISITPLAN_YEAR" valueNumeric="2020"/>
-          <column name="VISITPLAN_WEEK" valueNumeric="22"/>
-          <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-          <column name="INFO" value=""/>
-        </insert>
-
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="152c5f90-4c8b-40ee-8ff9-e2362340ba45"/>
-          <column name="ENTRYDATE" valueDate="2020-05-25"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="f7b8f0c3-7702-4466-b502-d21fa4fa0010"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="f799a0cd-31bb-4be3-9fd9-0cbd0a3d55ac"/>
-          <column name="ENTRYDATE" valueDate="2020-05-26"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="82c7b72d-da4e-4fab-a6cc-31e1be07dd08"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-        <insert tableName="VISITPLANENTRY">
-          <column name="VISITPLANENTRYID" value="ad325402-616c-495e-a7f5-a5ae6def0399"/>
-          <column name="ENTRYDATE" valueDate="2020-05-27"/>
-          <column name="BEGIN_TIME" value="10:00"/>
-          <column name="END_TIME" value="11:00"/>
-          <column name="ORGANISATION_CONTACT_ID" value="62175b31-b432-4ec6-932f-8e69033884c6"/>
-          <column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
-          <column name="STATUS" value="VISITSTATUSPLANNED"/>
-        </insert>
-
-
-        <insert tableName="VISITRECOMMENDATION">
-          <column name="VISITRECOMMENDATIONID" value="487eeff9-6807-41f6-95e9-5f0f61b45a05"/>
-          <column name="DUE_DATE" valueDate="2020-04-16T10:43:23"/>
-          <column name="PRIORITY" value="VISITPRIOMEDIUM"/>
-          <column name="SOURCE" value="MANUAL"/>
-          <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-          <column name="INFO" value="Kontrolltermin"/>
-        </insert>
-    </changeSet>
-</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/visitrecommendation.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/visitrecommendation.xml
new file mode 100644
index 0000000000..8c87c7d354
--- /dev/null
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/visitrecommendation.xml
@@ -0,0 +1,13 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="936a5d92-db2b-4540-af7a-aeb4025cbeba">
+    <delete tableName="visitrecommendation"/>
+    <insert tableName="visitrecommendation">
+      <column name="VISITRECOMMENDATIONID" value="8bb5bc54-b3fa-4625-86d3-95cfe16269e1"/>
+      <column name="DUE_DATE" valueDate="2020-09-16T12:00:00"/>
+      <column name="SOURCE" value="MANUAL                              "/>
+      <column name="PRIORITY" value="VISITPRIOCRITICAL                   "/>
+      <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/changelog.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/changelog.xml
index b5343af53c..96ebb69f95 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/changelog.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/changelog.xml
@@ -1,6 +1,6 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <include relativeToChangelogFile="true" file="generatedData/ASYS_BINARIES.xml"/>
+    <include relativeToChangelogFile="true" file="generatedData/changelog.xml" context="example"/>
 
     <include relativeToChangelogFile="true" file="example_asys_users/insert_asys_users-admin.xml"/>
 
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
index d5a64c8245..a468b7b1c4 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES.xml
@@ -1,6 +1,6 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <changeSet author="autogenerated" id="e092ac5e2598ffe0dc998cf99e431f6d">
+  <changeSet author="autogenerated" id="30f4cb5c8ac53ef6c27cadb9edb3252b">
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
       <column name="USER_EDIT" value="Admin"/>
@@ -57,7 +57,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="f85740b9-6180-4d4f-8d9b-34c057073dab"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
@@ -72,7 +72,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="048f0744-d7d9-46e5-bfdb-3be766818969"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/d53815eeeac3c3fa5d5c4d60ee9a6954"/>
@@ -117,7 +117,7 @@
       <column name="DATASIZE" valueNumeric="46836"/>
       <column name="ROW_ID" value="ce6727f6-b61f-467c-89eb-bca14f649fbc"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -145,7 +145,7 @@
       <column name="DATASIZE" valueNumeric="4914307"/>
       <column name="ROW_ID" value="c4bd88c3-6205-4b91-8ba6-fd44fda2f19d"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -189,20 +189,6 @@
       <column name="TABLENAME" value="SERIALLETTER"/>
       <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0a850a8bb6eef7ba9ecdb285c79d9739"/>
     </insert>
-    <insert tableName="ASYS_BINARIES">
-      <column name="CONTAINERNAME" value="DOCUMENT"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="DATE_NEW" valueDate="2019-07-19T02:50:22"/>
-      <column name="FILENAME" value="platzhalterword.docx"/>
-      <column name="DATE_EDIT" valueDate="2019-07-19T02:50:22"/>
-      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
-      <column name="ID" value="45de5848-c7eb-4596-bfec-5265b4ed3564"/>
-      <column name="DATASIZE" valueNumeric="12106"/>
-      <column name="ROW_ID" value="88dc292a-2b9b-4d6c-97e3-e951eb886ee3"/>
-      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
-    </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -216,7 +202,7 @@
       <column name="DATASIZE" valueNumeric="40945"/>
       <column name="ROW_ID" value="86ae6c77-1ed6-47a7-a43c-03aa0d331062"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -230,7 +216,7 @@
       <column name="DATASIZE" valueNumeric="4978985"/>
       <column name="ROW_ID" value="d5fcbcae-601f-4036-9803-0e762872f1cd"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -244,7 +230,7 @@
       <column name="DATASIZE" valueNumeric="4978985"/>
       <column name="ROW_ID" value="8e4c15db-2092-49a9-bc75-466a42ecc840"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -289,7 +275,7 @@
       <column name="DATASIZE" valueNumeric="37751"/>
       <column name="ROW_ID" value="d6a2d85b-3ecd-4d41-b220-a8b4fe98b3f2"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -318,7 +304,7 @@
       <column name="DATASIZE" valueNumeric="210"/>
       <column name="ROW_ID" value="65f5f23d-ea6f-4691-80f7-88787bcd6200"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/8ab69b8b0429fd6bf17496702467645e"/>
@@ -334,7 +320,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="b935bc35-cb5e-4ccc-aef6-0cc745ca2691"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -364,7 +350,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="7430ff07-fb29-4820-8c68-3983c670d62e"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -412,6 +398,20 @@
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
       <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e3ba3d891ab9cbc43367cd4cce7eeb55"/>
     </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2019-07-19T02:50:22"/>
+      <column name="FILENAME" value="platzhalterword.docx"/>
+      <column name="DATE_EDIT" valueDate="2019-07-19T02:50:22"/>
+      <column name="MIMETYPE" value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
+      <column name="ID" value="45de5848-c7eb-4596-bfec-5265b4ed3564"/>
+      <column name="DATASIZE" valueNumeric="12106"/>
+      <column name="ROW_ID" value="88dc292a-2b9b-4d6c-97e3-e951eb886ee3"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a7b09b2698dede8200596089a8fa7750"/>
+    </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
       <column name="USER_EDIT" value="Admin"/>
@@ -439,7 +439,7 @@
       <column name="DATASIZE" valueNumeric="36694"/>
       <column name="ROW_ID" value="afc69e14-9ff8-4073-89df-f85decc18c85"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/0f49a3883a4b1a63c95e253c3a6f5b49"/>
@@ -469,7 +469,7 @@
       <column name="DATASIZE" valueNumeric="361"/>
       <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -514,7 +514,7 @@
       <column name="DATASIZE" valueNumeric="46836"/>
       <column name="ROW_ID" value="bc44d430-2835-4051-9f6f-eda2cc05df1a"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ac694a18953310e00f82a3da0cb30648"/>
@@ -589,7 +589,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="c77e7528-c5ab-4945-9c92-3ba8bee5f66d"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -605,7 +605,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="d2a8ab6d-3761-4e16-8cc7-45add62d2dcd"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/629fbc9558d4bd91809bd795dfcf346a"/>
@@ -649,7 +649,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="2b3c04aa-f3ba-4c04-abe7-4954fa1ff6e3"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/598beafd86d131dff1af1448fa6399b3"/>
@@ -664,7 +664,7 @@
       <column name="DATASIZE" valueNumeric="4495"/>
       <column name="ROW_ID" value="35177875-151f-4856-b263-c693eead9ccc"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -679,7 +679,7 @@
       <column name="DATASIZE" valueNumeric="47439"/>
       <column name="ROW_ID" value="764acd0b-928a-4548-8311-3f50f463e19c"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -694,7 +694,7 @@
       <column name="DATASIZE" valueNumeric="37287"/>
       <column name="ROW_ID" value="fbc7ef6d-bc48-492e-94a4-fd404a9e8255"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -710,6 +710,21 @@
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
       <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01cfc06e3fba701ba35cb439826a3bc3"/>
     </insert>
+    <insert tableName="ASYS_BINARIES">
+      <column name="CONTAINERNAME" value="DOCUMENT"/>
+      <column name="USER_EDIT" value="Admin"/>
+      <column name="USER_NEW" value="Admin"/>
+      <column name="DATE_NEW" valueDate="2020-03-24T02:50:41"/>
+      <column name="FILENAME" value="Angebotsanfrage.eml"/>
+      <column name="DATE_EDIT" valueDate="2020-03-24T02:50:41"/>
+      <column name="MIMETYPE" value="message/rfc822"/>
+      <column name="ID" value="867995aa-5a62-4121-ba1f-880cdb18eed1"/>
+      <column name="DATASIZE" valueNumeric="7416"/>
+      <column name="KEYWORD" value="TEMPLATE"/>
+      <column name="ROW_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
+      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0c4a6e963ff9cbcc1a89de3c3c172333"/>
+    </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
       <column name="USER_EDIT" value="Admin"/>
@@ -737,7 +752,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="d1f86f63-d946-43c6-a483-34c5faa95b8f"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/41265ae22b98babc2cf2661287a1f6d5"/>
@@ -798,7 +813,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="5f358e92-6b50-4592-853f-11f47cf86e7b"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b4bfc8e6756252b9cf027eee5afa4eb4"/>
@@ -814,7 +829,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
       <column name="TABLENAME" value="OFFER"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/3b321504aadfd778470cfece67754346"/>
@@ -829,7 +844,7 @@
       <column name="DATASIZE" valueNumeric="4130"/>
       <column name="ROW_ID" value="b92473c7-089b-40c1-a1f0-25e5b96ecd43"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/fd86b34ae674763936fee3276f16e051"/>
@@ -844,7 +859,7 @@
       <column name="DATASIZE" valueNumeric="130"/>
       <column name="ROW_ID" value="a4f6309c-0d0c-4fca-a64a-dfb8758561fb"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -889,7 +904,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -919,7 +934,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="9bfa24a1-4e46-4643-a3ce-eb0056088f8a"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -934,7 +949,7 @@
       <column name="DATASIZE" valueNumeric="47419"/>
       <column name="ROW_ID" value="3a498982-60ba-4c0a-9dcc-e6f2241e570d"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -963,7 +978,7 @@
       <column name="DATASIZE" valueNumeric="46836"/>
       <column name="ROW_ID" value="ec32511a-dabb-4151-9ceb-edefb721a698"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -978,7 +993,7 @@
       <column name="DATASIZE" valueNumeric="37287"/>
       <column name="ROW_ID" value="ca1b94ce-344f-44a4-acf6-d6ff08d6c34f"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/e20351259564192e04ca73b46bd938d1"/>
@@ -993,7 +1008,7 @@
       <column name="DATASIZE" valueNumeric="1819"/>
       <column name="ROW_ID" value="dab2b50f-e524-4a4d-aff8-8a53d6217f5c"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1008,7 +1023,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="d77f966e-e43d-482c-90fc-4c286a2f4bb7"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -1023,7 +1038,7 @@
       <column name="DATASIZE" valueNumeric="51487"/>
       <column name="ROW_ID" value="814ef0c0-52b1-4551-aec0-31878550e48f"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -1039,7 +1054,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="5ac971fd-2c52-4fbb-8151-a61b4571f058"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
@@ -1054,7 +1069,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="5f2df795-0c59-4183-9930-a884c0469ec5"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/a5d872a35697fea105c043a5d79a9a11"/>
@@ -1069,7 +1084,7 @@
       <column name="DATASIZE" valueNumeric="36691"/>
       <column name="ROW_ID" value="9f55b65f-7e78-4dec-9dec-36e5933439b4"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1098,7 +1113,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="3c61945f-3699-44a8-8243-68369a3b8ef9"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1128,7 +1143,7 @@
       <column name="DATASIZE" valueNumeric="37751"/>
       <column name="ROW_ID" value="daa63509-937b-4ce3-aed8-a79863225ef2"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/4d2fdaebe7a657843273c9714729df48"/>
@@ -1189,7 +1204,7 @@
       <column name="DATASIZE" valueNumeric="2820"/>
       <column name="ROW_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="TABLENAME" value="CONTACT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/5460bc319cbfe6bbef1ff441a45291cf"/>
@@ -1204,7 +1219,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="781c9457-3892-4794-80b4-9a4fed9bf413"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -1219,7 +1234,7 @@
       <column name="DATASIZE" valueNumeric="41096"/>
       <column name="ROW_ID" value="dfe476e5-0624-4298-b49d-82ae08d828d4"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ff1d70b43b211db9f56032eb197599da"/>
@@ -1249,7 +1264,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/04a8e899e701a284e67a4c5e07f19903"/>
@@ -1264,7 +1279,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="05071d57-c74c-405d-b89c-43ff5005306f"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1309,7 +1324,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/524bee188cb50feb8ce69490bff251da"/>
@@ -1356,7 +1371,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="509f8eb4-cf04-45d6-a06a-4a53ffaf0f95"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1371,7 +1386,7 @@
       <column name="KEYWORD" value="TEMPLATE"/>
       <column name="ROW_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -1386,7 +1401,7 @@
       <column name="DATASIZE" valueNumeric="41096"/>
       <column name="ROW_ID" value="1778521a-1ba6-45eb-afaa-77c34bacf74d"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/b7d9f93c85c124774965969d8a32975a"/>
@@ -1401,7 +1416,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="5f986c0d-8c4d-4111-93ca-bcbf5263d35e"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1429,7 +1444,7 @@
       <column name="DATASIZE" valueNumeric="4978985"/>
       <column name="ROW_ID" value="970c8ca0-b24c-4275-8b45-2a0c3af3980f"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1458,7 +1473,7 @@
       <column name="KEYWORD" value="MAINDOCUMENT"/>
       <column name="ROW_ID" value="ddf07c49-8481-44f7-b99d-f6178ee91032"/>
       <column name="TABLENAME" value="LEADIMPORT"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1488,7 +1503,7 @@
       <column name="DATASIZE" valueNumeric="3469"/>
       <column name="ROW_ID" value="9a323aaa-6779-4388-88c0-5a32a778f195"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="PREVIEW" valueBlobFile="ASYS_BINARIES/PREVIEW/blobFiles/ed6230aa697b4b1b1a00f09285b4f58f"/>
@@ -1518,7 +1533,7 @@
       <column name="DATASIZE" valueNumeric="37617"/>
       <column name="ROW_ID" value="b7382ffd-691a-4913-9455-345174942287"/>
       <column name="TABLENAME" value="BULKMAIL"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1547,7 +1562,7 @@
       <column name="DATASIZE" valueNumeric="51487"/>
       <column name="ROW_ID" value="cfbe9ef8-457d-4600-84f5-3058b35c32cf"/>
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec"/>
+      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6"/>
     </insert>
     <insert tableName="ASYS_BINARIES">
       <column name="CONTAINERNAME" value="DOCUMENT"/>
@@ -1579,20 +1594,5 @@
       <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
       <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/74aeda3171338236e373094c930b2ebd"/>
     </insert>
-    <insert tableName="ASYS_BINARIES">
-      <column name="CONTAINERNAME" value="DOCUMENT"/>
-      <column name="USER_EDIT" value="Admin"/>
-      <column name="USER_NEW" value="Admin"/>
-      <column name="DATE_NEW" valueDate="2020-03-24T02:50:41"/>
-      <column name="FILENAME" value="Angebotsanfrage.eml"/>
-      <column name="DATE_EDIT" valueDate="2020-03-24T02:50:41"/>
-      <column name="MIMETYPE" value="message/rfc822"/>
-      <column name="ID" value="867995aa-5a62-4121-ba1f-880cdb18eed1"/>
-      <column name="DATASIZE" valueNumeric="7416"/>
-      <column name="KEYWORD" value="TEMPLATE"/>
-      <column name="ROW_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
-      <column name="TABLENAME" value="DOCUMENTTEMPLATE"/>
-      <column name="BINDATA" valueBlobFile="ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768"/>
-    </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f15c1c2c291ae6bec4d28ebea7a4aa5c
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/01acc8b4c71e3e221cb5960f566991b5
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0c4a6e963ff9cbcc1a89de3c3c172333
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b54d7d8f6d6d85919922c5f455175768
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0c4a6e963ff9cbcc1a89de3c3c172333
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0fdd48520da0f1bf766ccbed5b18d1a3
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1927df681b9076243156a34b466ba04d
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dac4a52765d68a9819743389fc28570d
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1b3576d77942d79cdfb6c96a6a834f6b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/befbbfd00865383c94b176d07916bed8
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/302b5fa29e39c8a02a8c1448ff3910b3
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c601e2920780f7bd5c3aefa957fe797b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3cf5ccf77878aeb1fe1d8ada5e67deff
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/3583279ca857c825b06e0dbb4d7c8f83
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4a3bfd07a9b138ba352c8705a88fe306
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/038fe941b2e05dd022dafd5afb16a36f
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4f8d2fbe1fa680acfddecbf6a2d7eb1b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/264a8e6299721333e1848d191f32e28d
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/5c3b9bf8852fce3729aa0556a4a780e1
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/df04f9c4aa2a2fcf5de3b26a0feeb363
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/64b7d469d3c0b79da072d821de5f31da
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/6d181519b2b647cd8ea8153c0fc247c8
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/669cd65bbfb0b83a95c1a4110ff5d7f4
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1021d7724f17d82704eb923c84810dec
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/689020ca7b4c5c70c92f0506e869c8e6
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b8b87463c86657db7b5f9a6e73246fce
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/72e03deaab4283f1f0f8ac0dcbec5d9f
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/772bc8c9ae1cf4a351e6f6eedaca4625
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/77030fb819d7bed57f5fc12e981b287b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bd2dcae135451c4a4eb4bc5089f95040
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/78aad2436b5dbd1a878f9e4f9e29fbf1
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0e73f3e616a33bb50d1d5fd8012626d9
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/81f883491d9a080a6e51ab8c5d2c7e8d
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/4973a8057eff30d8a70136d7d793f7f6
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9a76ec5d3fcd843340434d26b6b249ad
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/dfbae82df49874138432d9982fa80539
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/9c4bb8163207a504d9bd902b211d6919
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d180d20ec3400cab09c6329bf85afc
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a9b8f41f0a4bedb7d6a38d5d52f85b1b
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cd08b8bc6c847fecd18389e399c67998
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/abdb7b1c9af8d02a13428625b2c4b7c4
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f1925e608ac7b3253ce32b99325aa718
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/ad90364f7929e36777304d76c8a1ff6e
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/defcaf6472af3cee29d57e06d4970ae3
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/b15fb7570d77e81948aac92c347638bf
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/1fe055799e157edd6a577a9d16d3c500
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/bc8f1f5b42dad335e916b1ceb4ce1ff4
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/0830deea812519dfedc720509c9a1139
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c0d5b740056d6825c8d4eab32a4e2e5a
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/533665cefb7cdc06884080d3e6f99741
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c24edfbfc63866dd659e07ef03f45988
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d57a5f33f07e60b35376f258eccee60e
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c33c633bdc271e837d3a979a9d5fff69
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/54aef478023d8b16e71ace2ff3013b95
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c590cab1baa844ae40fcca7eae9f7120
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/289ef290ee03c4662405d05f6ec29456
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c9c8f90d0bee877f5d5b32a2b7d8ced3
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e63ee9d29a5618a0a244609db68c63f5
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/cc0d984337d631cfa16c588b449f21b8
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/c2bf20acce9760f277d7fa4bcf0ffb0d
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/d6e22dc7b559e3350c8dd9022fbefdc2
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/723094dcff304d74986afc60137db27b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e22d050388d09c6a9cdeb6cef75e48ff
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/055e73d3a993df828f5c18d3ffbef0ee
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/e8cc6344b63e91066ff9741cee273ce7
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918 b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/a25a4de8cfd0e2ce8b00280f0d245918
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f0e5ee0a296504b006a4333e1c9b24a9
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/7c2bbd5f3f359660da1689c4f466258b
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/f9c9eae8183b9c9340f03876b39a3362
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/aa76f280dc7eda00f07cb019f24355fa
rename to .liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_BINARIES/BINDATA/blobFiles/fc4aa67f3f465efd278d8471a9afc970
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORD.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORD.xml
new file mode 100644
index 0000000000..a6f40ba8f6
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORD.xml
@@ -0,0 +1,35 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="a3ab487e13de1dcf0fd316bb801a216f">
+    <insert tableName="ASYS_RECORD">
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ID" value="6f27c617-6d9a-4dee-b70a-b5712611e91a"/>
+      <column name="ROW_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
+      <column name="RECORDGROUP_ID" value="c4511641-b962-467b-8b42-6c32a049d627"/>
+    </insert>
+    <insert tableName="ASYS_RECORD">
+      <column name="OBJECT_TYPE" value="Offer"/>
+      <column name="ID" value="82ad1c9d-2dee-4e3e-8cd9-eadd08225f9f"/>
+      <column name="ROW_ID" value="e809c46a-c664-4e39-b203-55987c0379c0"/>
+      <column name="RECORDGROUP_ID" value="145c4277-869c-4e09-af42-47d8a779b961"/>
+    </insert>
+    <insert tableName="ASYS_RECORD">
+      <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ID" value="9c7ac3d8-3ae7-495e-a737-5a2130331371"/>
+      <column name="ROW_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
+      <column name="RECORDGROUP_ID" value="a6956edb-95c0-4b15-ae7b-e16ea0b3cea4"/>
+    </insert>
+    <insert tableName="ASYS_RECORD">
+      <column name="OBJECT_TYPE" value="Person"/>
+      <column name="ID" value="f2d50104-0916-4750-a578-80ecafd856b4"/>
+      <column name="ROW_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
+      <column name="RECORDGROUP_ID" value="a6956edb-95c0-4b15-ae7b-e16ea0b3cea4"/>
+    </insert>
+    <insert tableName="ASYS_RECORD">
+      <column name="OBJECT_TYPE" value="Organisation"/>
+      <column name="ID" value="f5154c24-20b0-477c-a153-e4959bd8cb6f"/>
+      <column name="ROW_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
+      <column name="RECORDGROUP_ID" value="c4511641-b962-467b-8b42-6c32a049d627"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORDGROUP.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORDGROUP.xml
new file mode 100644
index 0000000000..3490a6d6c4
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/ASYS_RECORDGROUP.xml
@@ -0,0 +1,23 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="autogenerated" id="8773cf0a00f717af17bfcefb9a3ee9a5">
+    <insert tableName="ASYS_RECORDGROUP">
+      <column name="USER_ID" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="ID" value="145c4277-869c-4e09-af42-47d8a779b961"/>
+      <column name="GROUP_TYPE" value="FAVORITE_GROUP"/>
+      <column name="TITLE" value="Abschluss in 2020"/>
+    </insert>
+    <insert tableName="ASYS_RECORDGROUP">
+      <column name="USER_ID" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="ID" value="a6956edb-95c0-4b15-ae7b-e16ea0b3cea4"/>
+      <column name="GROUP_TYPE" value="FAVORITE_GROUP"/>
+      <column name="TITLE" value="weekly Austausch"/>
+    </insert>
+    <insert tableName="ASYS_RECORDGROUP">
+      <column name="USER_ID" value="_____USER_bcdfb521-c7d0-4ef1-8916-78e7d3232046"/>
+      <column name="ID" value="c4511641-b962-467b-8b42-6c32a049d627"/>
+      <column name="GROUP_TYPE" value="FAVORITE_GROUP"/>
+      <column name="TITLE" value="kontaktieren nächste Woche"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/changelog.xml b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/changelog.xml
new file mode 100644
index 0000000000..b64f62ea0f
--- /dev/null
+++ b/.liquibase/_____SYSTEMALIAS/basic/_demoData/generatedData/changelog.xml
@@ -0,0 +1,6 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include relativeToChangelogFile="true" file="ASYS_BINARIES.xml"/>
+	<include relativeToChangelogFile="true" file="ASYS_RECORD.xml"/>
+	<include relativeToChangelogFile="true" file="ASYS_RECORDGROUP.xml"/>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/process/exportLiquibaseContent_serverProcess/process.js b/process/exportLiquibaseContent_serverProcess/process.js
index 82cb96143a..6a7a654b74 100644
--- a/process/exportLiquibaseContent_serverProcess/process.js
+++ b/process/exportLiquibaseContent_serverProcess/process.js
@@ -8,9 +8,10 @@ import("system.db");
 import("system.fileIO");
 
 var alias = "diffAlias";
-var outFolderBase = vars.get("$sys.servertemp") + "/" + alias + "/";
-
-var outFolderPath = outFolderBase + "generatedData/";
+var basePath = vars.get("$sys.servertemp") + "/" + alias;
+if (fileIO.exists(basePath))
+    fileIO.remove(basePath);
+var outFolderPath = basePath + "/" + "generatedData/";
 
 var excludedTables = ["AB_COUNTRYINFO", "AB_LANGUAGE"];
 excludedTables.push("AB_KEYWORD_ATTRIBUTE", "AB_KEYWORD_ATTRIBUTERELATION", "AB_KEYWORD_ENTRY");
@@ -30,8 +31,13 @@ logging.log("liquibase data (" + exportedTables.length + " tables) exported into
 
 //remember to change the alias db to the data_system when running binaries exporter:
 alias = "diffAliasSystem";
-outFolderPath = vars.get("$sys.servertemp") + "/" + alias + "/" + "generatedData/";
+basePath = vars.get("$sys.servertemp") + "/" + alias;
+if (fileIO.exists(basePath))
+    fileIO.remove(basePath);
+outFolderPath = basePath + "/" + "generatedData/";
 LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_BINARIES", null, null, null, false, alias, true);
+LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_RECORD", null, null, null, false, alias, true);
+LiquiUtils.exportTableAsLiquibaseFiles(outFolderPath, "ASYS_RECORDGROUP", null, null, null, false, alias, true);
 
 //alias = SqlUtils.getSystemAlias();
 //outFolderPath = "C:\\temp\\generatedData\\" + alias + "\\";
-- 
GitLab


From 785d502c640bbaaf03bcbe8af529a8fbc3897589 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 2 Oct 2020 09:22:19 +0200
Subject: [PATCH 143/251] fix Scanservice Warnings

---
 aliasDefinition/Data_alias/Data_alias.aod                 | 1 -
 .../entities/documenttemplatelink/documentation.adoc      | 0
 .../entitynode/childnodes/group12/documentation.adoc      | 1 -
 entity/360Degree_entity/360Degree_entity.aod              | 1 -
 entity/UserhelpResources/UserhelpResources.aod            | 1 +
 process/Liquibase_lib/process.js                          | 8 ++++++++
 6 files changed, 9 insertions(+), 3 deletions(-)
 delete mode 100644 aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/documenttemplatelink/documentation.adoc
 delete mode 100644 application/_____SYSTEM_APPLICATION_NEON/entitynode/childnodes/group12/documentation.adoc

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index ac0f13ca56..31f424c2a7 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -8506,7 +8506,6 @@
             <idColumn>DOCUMENTTEMPLATELINKID</idColumn>
             <idGeneratorType v="0" />
             <idGeneratorInterval v="1" />
-            <documentation>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/documenttemplatelink/documentation.adoc</documentation>
             <title></title>
             <description></description>
             <auditSyncConfig>
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/documenttemplatelink/documentation.adoc b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/documenttemplatelink/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/application/_____SYSTEM_APPLICATION_NEON/entitynode/childnodes/group12/documentation.adoc b/application/_____SYSTEM_APPLICATION_NEON/entitynode/childnodes/group12/documentation.adoc
deleted file mode 100644
index c2aae58aba..0000000000
--- a/application/_____SYSTEM_APPLICATION_NEON/entitynode/childnodes/group12/documentation.adoc
+++ /dev/null
@@ -1 +0,0 @@
-This group has no roles assigned to make it invisible. It is still required, because the QuickEntry context could not show up otherwise.
\ No newline at end of file
diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index ada8b45cf5..e412501513 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -15,7 +15,6 @@
   </siblings>
   <grantUpdate v="false" />
   <grantDelete v="false" />
-  <metadata>%aditoprj%/entity/360Degree_entity/metadata.js</metadata>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/UserhelpResources/UserhelpResources.aod b/entity/UserhelpResources/UserhelpResources.aod
index 9a1b9a31ac..7775d3fd5a 100644
--- a/entity/UserhelpResources/UserhelpResources.aod
+++ b/entity/UserhelpResources/UserhelpResources.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>UserhelpResources</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/UserhelpResources/documentation.adoc</documentation>
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
diff --git a/process/Liquibase_lib/process.js b/process/Liquibase_lib/process.js
index 4c0bb5adcd..65cfed3485 100644
--- a/process/Liquibase_lib/process.js
+++ b/process/Liquibase_lib/process.js
@@ -67,6 +67,11 @@ LiquiUtils.exportAllTablesAsLiquibaseFiles = function(pOutFolderPath, pAuthor, p
 * @param {Boolean} [pIncludeClearTableDirective=false] if true, a delete element is added at the beginning of the changeset for the table
 * @param {String} [pAlias=current db-alias] alias where the data will be loaded from
 * @param {Boolean} [pGenerateChangeSetIdFromArguments=false] if true the id of the changeset will be generated by the passed arguments to this function
+* @param {function} [pBlobCallbackFn=undefined] function that returns the filename for a stored file (only for BLOB-databasetypes). <br/>
+*                                               if nothing is specified, the filename is generated automatically with a hash of the content <br />
+*                                               The callback function retrieves all the arguments of the LiquiXTable.prototype.addBlobCol-function
+* @param {String} [pFileName=«pTableName».xml] name of the changelog file (without the .xml extension) <br/>
+*                                              If nothing is specified the file is named based on the tablename that is exported 
 *
 * @return {Object} returns an object that has currently only one property<br/>- exported:boolean if the table has been exported or not
 */
@@ -97,6 +102,9 @@ LiquiUtils.exportTableAsLiquibaseFiles = function(pPath, pTableName, pColumns, p
 * @param {Boolean} [pIncludeClearTableDirective=false] if true, a delete element is added at the beginning of the changeset for the table
 * @param {String} [pAlias=current db-alias] alias where the data will be loaded from
 * @param {Boolean} [pGenerateChangeSetIdFromArguments=false] if true the id of the changeset will be generated by the passed arguments to this function
+* @param {function} [pBlobCallbackFn=undefined] function that returns the filename for a stored file (only for BLOB-databasetypes). <br/>
+*                                               if nothing is specified, the filename is generated automatically with a hash of the content <br/>
+*                                               The callback function retrieves all the arguments of the LiquiXTable.prototype.addBlobCol-function
 *
 * @return {String} the liquibase-changest in xml-form
 */
-- 
GitLab


From 83ff4d9f1348f04177b8807cdb55baae34525049 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 2 Oct 2020 11:05:01 +0200
Subject: [PATCH 144/251] Liquibase systemalias to Legacy-format

---
 .../_____SYSTEMALIAS/basic/init/data/changelog.xml     |  8 --------
 .../blobFiles => defaultBlob}/RecordContainerCache.xml |  0
 .../_____configuration.xml}                            |  0
 .../_____system_sysdb_version.xml}                     |  0
 .../Data_alias.xml => defaultBlob/data_alias.xml}      |  0
 .../blobFiles => defaultBlob}/defaultDbRepository.xml  |  0
 .../blobFiles => defaultBlob}/mailServerIMAP.xml       |  0
 ...SYS_ALIASCONFIG.xml => insert_asys_aliasconfig.xml} | 10 +++++-----
 ...{ASYS_PERMISSION.xml => insert_asys_permission.xml} |  0
 ...SIONACTION.xml => insert_asys_permissionaction.xml} |  0
 ...PERMISSIONSET.xml => insert_asys_permissionset.xml} |  0
 .../data/{ASYS_SYSTEM.xml => insert_asys_system.xml}   |  2 +-
 .liquibase/_____SYSTEMALIAS/basic/init/init.xml        |  6 +++++-
 13 files changed, 11 insertions(+), 15 deletions(-)
 delete mode 100644 .liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG/XMLDATA/blobFiles => defaultBlob}/RecordContainerCache.xml (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml => defaultBlob/_____configuration.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml => defaultBlob/_____system_sysdb_version.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml => defaultBlob/data_alias.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG/XMLDATA/blobFiles => defaultBlob}/defaultDbRepository.xml (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG/XMLDATA/blobFiles => defaultBlob}/mailServerIMAP.xml (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_ALIASCONFIG.xml => insert_asys_aliasconfig.xml} (87%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_PERMISSION.xml => insert_asys_permission.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_PERMISSIONACTION.xml => insert_asys_permissionaction.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_PERMISSIONSET.xml => insert_asys_permissionset.xml} (100%)
 rename .liquibase/_____SYSTEMALIAS/basic/init/data/{ASYS_SYSTEM.xml => insert_asys_system.xml} (91%)

diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
deleted file mode 100644
index 4fa3bdac82..0000000000
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/changelog.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.1" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-  <include file="ASYS_ALIASCONFIG.xml" relativeToChangelogFile="true"/>
-  <include file="ASYS_PERMISSION.xml" relativeToChangelogFile="true"/>
-  <include file="ASYS_PERMISSIONACTION.xml" relativeToChangelogFile="true"/>
-  <include file="ASYS_PERMISSIONSET.xml" relativeToChangelogFile="true"/>
-  <include file="ASYS_SYSTEM.xml" relativeToChangelogFile="true"/>
-</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/RecordContainerCache.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/RecordContainerCache.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____configuration.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____configuration.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____system_sysdb_version.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/_____system_sysdb_version.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/data_alias.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/data_alias.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/defaultDbRepository.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/defaultDbRepository.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/mailServerIMAP.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/defaultBlob/mailServerIMAP.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
similarity index 87%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
index c4e3eb728f..017cb8a587 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_ALIASCONFIG.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_aliasconfig.xml
@@ -6,7 +6,7 @@
       <column name="DESCRIPTION" value="jdbc:derby://localhost:1527/basic_data"/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="SERVERID" value="default"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/Data_alias.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/data_alias.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2020-09-28T04:50:35"/>
       <column name="ALIASID" value="Data_alias"/>
@@ -18,7 +18,7 @@
       <column name="KIND" valueNumeric="105"/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="SERVERID" value="default"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/mailServerIMAP.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/mailServerIMAP.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
       <column name="ALIASID" value="mailServerIMAP"/>
@@ -30,7 +30,7 @@
       <column name="KIND" valueNumeric="105"/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="SERVERID" value="default"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/RecordContainerCache.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/RecordContainerCache.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
       <column name="ALIASID" value="RecordContainerCache"/>
@@ -42,7 +42,7 @@
       <column name="KIND" valueNumeric="105"/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="SERVERID" value="default"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/defaultDbRepository.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/defaultDbRepository.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
       <column name="ALIASID" value="defaultDbRepository"/>
@@ -54,7 +54,7 @@
       <column name="KIND" valueNumeric="105"/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="SERVERID" value="default"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_ALIASCONFIG/XMLDATA/blobFiles/_____CONFIGURATION.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/_____configuration.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2020-09-28T04:50:36"/>
       <column name="ALIASID" value="_____CONFIGURATION"/>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSION.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permission.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONACTION.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionaction.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml
similarity index 100%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_PERMISSIONSET.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_permissionset.xml
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml
similarity index 91%
rename from .liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml
rename to .liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml
index abf13db675..ce35da6ca8 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/data/ASYS_SYSTEM.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/data/insert_asys_system.xml
@@ -8,7 +8,7 @@
       <column name="ID" value="_____SYSTEM_SYSDB_VERSION                                      "/>
       <column name="USER_EDIT" value="_____DESIGNERANONYM"/>
       <column name="TITLE" value="2.8.8"/>
-      <column name="XMLDATA" valueBlobFile="ASYS_SYSTEM/XMLDATA/blobFiles/_____SYSTEM_SYSDB_VERSION.xml"/>
+      <column name="XMLDATA" valueBlobFile="defaultBlob/_____system_sysdb_version.xml"/>
       <column name="USER_NEW" value="_____DESIGNERANONYM"/>
       <column name="DATE_NEW" valueDate="2018-05-24T02:53:57"/>
     </insert>
diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/init.xml b/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
index 0517ae1b51..540e5ac077 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/init.xml
@@ -25,5 +25,9 @@
     <include relativeToChangelogFile="true" file="struct/create_asys_usertoken.xml"/>
     <include relativeToChangelogFile="true" file="struct/create_asys_record.xml"/>
     <include relativeToChangelogFile="true" file="struct/create_asys_recordgroup.xml"/>
-    <include relativeToChangelogFile="true" file="data/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="data/insert_asys_aliasconfig.xml"/>
+    <include relativeToChangelogFile="true" file="data/insert_asys_system.xml"/>
+    <include relativeToChangelogFile="true" file="data/insert_asys_permissionset.xml"/>
+    <include relativeToChangelogFile="true" file="data/insert_asys_permission.xml"/>
+    <include relativeToChangelogFile="true" file="data/insert_asys_permissionaction.xml"/>
 </databaseChangeLog>
-- 
GitLab


From a9b53c185ede4e4ca9d52911a231640a3b6ee1f1 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 2 Oct 2020 11:51:13 +0200
Subject: [PATCH 145/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066467][Fehler=20Importer=5Flib=20f=C3=BCr=20iAttrib?=
 =?UTF-8?q?ute=20und=20iComm]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ImporterMappingFunctions_lib/process.js   | 57 +++++++++++++------
 1 file changed, 40 insertions(+), 17 deletions(-)

diff --git a/process/ImporterMappingFunctions_lib/process.js b/process/ImporterMappingFunctions_lib/process.js
index 27a4b5725f..a78f54d956 100644
--- a/process/ImporterMappingFunctions_lib/process.js
+++ b/process/ImporterMappingFunctions_lib/process.js
@@ -184,19 +184,29 @@ function iAttribute(pObject)
         
         if (value && objectId) 
         {
-            id = newSelect(ab_attributeRelationId, alias).from(ab_attributeRelation).where(attrRel_ab_attribute_id, attributeId)
-                    .and(object_rowId, objectId).and(attrRel_object_type, objectType).cell();
-            
-            if (id == "" || id == null) 
+            var exisingAttrRelation = newSelect([ab_attributeRelationId, valueColumn], alias)
+                .from(ab_attributeRelation)
+                .where(attrRel_ab_attribute_id, attributeId)
+                .and(object_rowId, objectId)
+                .and(attrRel_object_type, objectType)
+                .arrayRow();
+             
+            if (exisingAttrRelation.length == 0)
             {
                 columns = [ab_attributeRelationId, attrRel_ab_attribute_id, attrRel_object_type, object_rowId, valueColumn];
                 values = [util.getNewUUID(), attributeId, objectType, objectId, value];
                 this.insertData(ab_attributeRelation, columns, null, values, alias);
-            } 
-            else if (this.Config.ImportCommand.indexOf("update") != -1)
+            }
+            else
             {
-                cond = ab_attributeRelationId + " = '" + id + "'";
-                this.updateData(ab_attributeRelation, [valueColumn], null, [value], cond, alias);
+                var existingValue;
+                [id, existingValue] = exisingAttrRelation;
+                //new value has to differ from the old (existing) value to prevent unneccesary updates
+                 if (this.Config.ImportCommand.indexOf("update") != -1 && value != null && value.toString() != existingValue)
+                {
+                    cond = ab_attributeRelationId + " = '" + id + "'";
+                    this.updateData(ab_attributeRelation, [valueColumn], null, [value], cond, alias);
+                }
             }
         }
     }    
@@ -358,23 +368,36 @@ function iComm(pObject) {
     var contact = this.InputRecord[pObject.ContactID];
     var standard = "0";
     
-    if(address == undefined) address = this.resolveSymbol(pObject, pObject.address);
-    if(medium == undefined) medium = this.resolveSymbol(pObject, pObject.medium);
+    if(address == undefined) address = this.resolveSymbol(pObject, pObject.Address);
+    if(medium == undefined) medium = this.resolveSymbol(pObject, pObject.Medium);
     if(contact == undefined) contact = this.resolveSymbol(pObject, pObject.ContactID);
     if(pObject.Standard) standard = "1";
     
     if(!address || !medium || !contact) return true;
     
-    var sql = "select " + this.getColumnCase("communicationid") + " from " + this.getTableCase("communication")
+    
+    var sql = "select " + this.getColumnCase("communicationid") + ", " + this.getColumnCase("addr") + " from " + this.getTableCase("communication")
         +" where " + this.getColumnCase("contact_id") + " = ? and " + this.getColumnCase("medium_id") + " = ? and "
-        + this.getColumnCase("isstandard") + " = ? and " + this.getColumnCase("addr") + " = ?"
-    var id = db.cell([sql, [[contact, SQLTYPES.CHAR], [medium, SQLTYPES.CHAR], //TODO: define types dynamically and not hardcoded
-        [standard, SQLTYPES.SMALLINT], [address, SQLTYPES.VARCHAR]]], this.Config.AliasTo);
-    if (id == "" || id == null) {
+        + this.getColumnCase("isstandard") + " = ?";
+    var existingData = db.array(db.ROW, [sql, [[contact, SQLTYPES.CHAR], [medium, SQLTYPES.CHAR], //TODO: define types dynamically and not hardcoded
+        [standard, SQLTYPES.SMALLINT]]], this.Config.AliasTo, 0, this.getConfiguredTimeout());
+        
+    if (existingData.length == 0)
+    {
         var columns = [this.getColumnCase("communicationid"), this.getColumnCase("addr"), 
-            this.getColumnCase("medium_id"), this.getColumnCase("contact_id"), this.getColumnCase("isstandard")];
+                this.getColumnCase("medium_id"), this.getColumnCase("contact_id"), this.getColumnCase("isstandard")];
         this.insertData(this.getTableCase("communication"), columns, null, [util.getNewUUID(), address, medium, contact, standard], this.Config.AliasTo);       
-    }    
+    }
+    else
+    {
+        var existingId = existingData[0];
+        var existingAddress = existingData[1];
+        if (address != existingAddress)
+        {
+            var cond = this.getColumnCase("communicationid") + " = '" + existingId + "'";
+            this.updateData(this.getTableCase("communication"), [this.getColumnCase("addr")], null, [address], cond, this.Config.AliasTo);
+        }
+    }
     return true;
 }
 
-- 
GitLab


From 1e9d638a77e0083a0c1e345276e4d8d0277f1730 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 2 Oct 2020 12:01:47 +0200
Subject: [PATCH 146/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1066544][Vertriebsprojekt - Anzeige Klassifizierung im Footer der Preview ist
 weg]

---
 .../Organisation_entity.aod                    |  4 ++--
 .../Salesproject_entity.aod                    | 18 +++++++++++-------
 .../OrganisationFilter_view.aod                |  7 +++++--
 .../OrganisationLesserNoiseTable_view.aod      |  2 ++
 .../OrganisationLookup_view.aod                |  2 ++
 .../OrganisationNoNoiseTable_view.aod          |  2 ++
 .../OrganisationPreview_view.aod               |  2 +-
 .../SalesprojectFilter_view.aod                |  4 ++--
 .../SalesprojectPreview_view.aod               |  8 ++++----
 9 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index d60f65bf91..f69a706495 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1206,7 +1206,7 @@
       <title>Count</title>
     </entityAggregateField>
     <entityField>
-      <name>CLASSIFICATIONSTORAGE_ID</name>
+      <name>CLASSIFICATIONVALUE</name>
       <title>Classification</title>
       <groupable v="true" />
     </entityField>
@@ -1617,7 +1617,7 @@
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
         <dbRecordFieldMapping>
-          <name>CLASSIFICATIONSTORAGE_ID.value</name>
+          <name>CLASSIFICATIONVALUE.value</name>
           <recordfield>CLASSIFICATIONSTORAGE.CLASSIFICATIONVALUE</recordfield>
           <isFilterable v="true" />
           <isLookupFilter v="false" />
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 5cc67eef56..f33a339122 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -595,6 +595,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>Classifications</name>
+      <refreshParent v="true" />
       <dependency>
         <name>dependency</name>
         <entityName>Classification_entity</entityName>
@@ -625,13 +626,6 @@
       <title>Days running</title>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/runtime/valueProcess.js</valueProcess>
     </entityField>
-    <entityField>
-      <name>ClassificationResult</name>
-      <title>Classification</title>
-      <groupable v="false" />
-      <state>READONLY</state>
-      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationresult/valueProcess.js</valueProcess>
-    </entityField>
     <entityConsumer>
       <name>SalesprojectForecastCharts</name>
       <dependency>
@@ -752,6 +746,11 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>CLASSIFICATIONVALUE</name>
+      <title>Classification</title>
+      <groupable v="true" />
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -898,6 +897,11 @@
           <recordfield>SALESPROJECT.SALESPROJECTID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>CLASSIFICATIONVALUE.value</name>
+          <recordfield>CLASSIFICATIONSTORAGE.CLASSIFICATIONVALUE</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
index b969a541b7..1cbde0c530 100644
--- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
+++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
@@ -56,6 +56,7 @@
       <linkedColumns>
         <element>NAME</element>
       </linkedColumns>
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>2008e7ac-9e6a-4104-9d5b-da60a10a1c02</name>
@@ -79,7 +80,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>c935dcaf-d1eb-4b2c-afee-a58f3f63458d</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
+          <entityField>CLASSIFICATIONVALUE</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>2a82ed1e-05bf-408a-82e0-4de6195dad49</name>
@@ -103,6 +104,8 @@
       <linkedColumns>
         <element>NAME</element>
       </linkedColumns>
+      <defaultGroupFields />
+      <fixedFilterFields />
       <columns>
         <neonTreeTableColumn>
           <name>222c9da2-928c-4a93-a7a5-074e1c61a25c</name>
@@ -126,7 +129,7 @@
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>3aedcc38-0313-43d7-9c84-67f03e28038a</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
+          <entityField>CLASSIFICATIONVALUE</entityField>
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>d134034c-e391-4df3-9205-465d8a390996</name>
diff --git a/neonView/OrganisationLesserNoiseTable_view/OrganisationLesserNoiseTable_view.aod b/neonView/OrganisationLesserNoiseTable_view/OrganisationLesserNoiseTable_view.aod
index 6cdd2403b2..5b29deefbe 100644
--- a/neonView/OrganisationLesserNoiseTable_view/OrganisationLesserNoiseTable_view.aod
+++ b/neonView/OrganisationLesserNoiseTable_view/OrganisationLesserNoiseTable_view.aod
@@ -14,6 +14,8 @@
       <hideContentSearch v="true" />
       <iconField></iconField>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <hideHeader v="false" />
       <columns>
         <neonTableColumn>
diff --git a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
index d3bab7e2d2..0d9e7c9051 100644
--- a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
+++ b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
@@ -11,6 +11,8 @@
     <tableViewTemplate>
       <name>Organisations</name>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>8c14a108-c672-4b48-bd10-b5ca2e777168</name>
diff --git a/neonView/OrganisationNoNoiseTable_view/OrganisationNoNoiseTable_view.aod b/neonView/OrganisationNoNoiseTable_view/OrganisationNoNoiseTable_view.aod
index 22d274421a..2648fff358 100644
--- a/neonView/OrganisationNoNoiseTable_view/OrganisationNoNoiseTable_view.aod
+++ b/neonView/OrganisationNoNoiseTable_view/OrganisationNoNoiseTable_view.aod
@@ -14,6 +14,8 @@
       <hideContentSearch v="true" />
       <iconField></iconField>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <hideHeader v="true" />
       <title>Duplicates</title>
       <columns>
diff --git a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
index b57cbbcf2f..b3ee905403 100644
--- a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
+++ b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
@@ -103,7 +103,7 @@
         </entityFieldLink>
         <entityFieldLink>
           <name>7699811a-42f2-48d4-833d-1425db5ba5d0</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
+          <entityField>CLASSIFICATIONVALUE</entityField>
         </entityFieldLink>
       </fields>
     </scoreCardViewTemplate>
diff --git a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
index 3ca5b6aa0b..c055908d52 100644
--- a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
+++ b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
@@ -85,7 +85,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>88e6bebb-e83d-43ec-82f1-cc778fac458e</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
+          <entityField>CLASSIFICATIONVALUE</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>fec843c3-f7c0-42c7-8295-50386651edb2</name>
@@ -133,7 +133,7 @@
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>6d9d1365-985a-4357-8ecc-16ddcc201ea8</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
+          <entityField>CLASSIFICATIONVALUE</entityField>
         </neonTreeTableColumn>
         <neonTreeTableColumn>
           <name>745d6192-4817-49e6-8cb2-8470c9c25f4d</name>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index ab9b03eab9..fcabc60c03 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -102,14 +102,14 @@
           <name>79490331-6be4-422f-9450-da0db56f0654</name>
           <entityField>InactiveTime</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>49513dd7-f19a-450b-9fcf-d320e2f72c42</name>
-          <entityField>CLASSIFICATIONSTORAGE_ID</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>ce670b75-346e-4aeb-b72d-5ef68dd77e71</name>
           <entityField>RemainingTime</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>22c0b0ad-02e8-4743-9062-d1130bdb482d</name>
+          <entityField>CLASSIFICATIONVALUE</entityField>
+        </entityFieldLink>
       </fields>
     </scoreCardViewTemplate>
   </children>
-- 
GitLab


From 919106c372f10b8e62ec0b4688def98620502418 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 2 Oct 2020 12:04:01 +0200
Subject: [PATCH 147/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1066544][Vertriebsprojekt - Anzeige Klassifizierung im Footer der Preview ist
 weg] 2

---
 entity/Organisation_entity/Organisation_entity.aod | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index f69a706495..4cb186b342 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1171,7 +1171,7 @@
     </entityActionField>
     <entityConsumer>
       <name>Classifications</name>
-      <refreshParent v="false" />
+      <refreshParent v="true" />
       <dependency>
         <name>dependency</name>
         <entityName>Classification_entity</entityName>
-- 
GitLab


From 5cf8f0ec7b7380869c1602db7fdcce3b961083b3 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 12:34:59 +0200
Subject: [PATCH 148/251] #1066095-RoleAssignable Richtiges Auswerten und Holen

---
 .../roles/children/excluderoles_param/valueProcess.js         | 2 +-
 entity/Role_entity/recordcontainers/jdito/contentProcess.js   | 2 +-
 neonView/RoleFilter_view/RoleFilter_view.aod                  | 4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js b/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
index ec9b6a85be..e01abb5791 100644
--- a/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
+++ b/entity/EmployeeRole_entity/entityfields/roles/children/excluderoles_param/valueProcess.js
@@ -8,7 +8,7 @@ var userTitle = vars.exists("$param.UserTitle_param") && vars.get("$param.UserTi
 var excludeRolesArray = EmployeeRole.getExcludeRoles();
 
 for each (let role in tools.getAllRoles()) {
-    if (!role[4]) {
+    if (role[4] == "false") {
         excludeRolesArray.push(role[3]);
     }
 }
diff --git a/entity/Role_entity/recordcontainers/jdito/contentProcess.js b/entity/Role_entity/recordcontainers/jdito/contentProcess.js
index 25ef04f7b1..4020fb58c7 100644
--- a/entity/Role_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Role_entity/recordcontainers/jdito/contentProcess.js
@@ -27,7 +27,7 @@ for each (let role in allRoles) {
     var roleName = role[3];
     if (!excludeRoles[roleName]) {
         let numberOfUsersInSelectedRole = tools.getUsersWithRole(roleName).length;
-        res.push([roleName, roleName, role[0], role[1], role[2], numberOfUsersInSelectedRole + " " + translate.text("User", locale), role[4] ? "1" : "0"]);
+        res.push([roleName, roleName, role[0], role[1], role[2], numberOfUsersInSelectedRole + " " + translate.text("User", locale), role[4] == "true" ? "1" : "0"]);
     }
 }
 
diff --git a/neonView/RoleFilter_view/RoleFilter_view.aod b/neonView/RoleFilter_view/RoleFilter_view.aod
index ca69cff2b7..612096e53f 100644
--- a/neonView/RoleFilter_view/RoleFilter_view.aod
+++ b/neonView/RoleFilter_view/RoleFilter_view.aod
@@ -44,6 +44,10 @@
           <name>7b269530-309a-4599-a392-f6e2651ccb65</name>
           <entityField>ROLEDESCRIPTION</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>ca78de72-e6f2-432a-b7ea-bf6ab74f1c84</name>
+          <entityField>IS_ASSIGNABLE</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
-- 
GitLab


From 2308f7af4c7f1a34f12429998960c9e33d26eb30 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 13:26:51 +0200
Subject: [PATCH 149/251] =?UTF-8?q?#1066542-E-Mail=5FEmpf=C3=A4nger=20Empf?=
 =?UTF-8?q?=C3=A4nger=20keine=20UID=20mehr?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Email_entity/entityfields/recipient/valueProcess.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Email_entity/entityfields/recipient/valueProcess.js b/entity/Email_entity/entityfields/recipient/valueProcess.js
index e26a2de2a8..0b71560558 100644
--- a/entity/Email_entity/entityfields/recipient/valueProcess.js
+++ b/entity/Email_entity/entityfields/recipient/valueProcess.js
@@ -10,7 +10,7 @@ if (vars.get("$this.value") == null)
     else if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
         result.string(CommUtil.getStandardMail(vars.get("$param.ContactId_param")));
 }
-else if (!vars.get("$field.RECIPIENT").includes("@") && vars.get("$field.RECIPIENT") != "")
+else if (!vars.get("$this.value").includes("@") && vars.get("$this.value") != "")
     result.string(newSelect("ADDR")
                         .from("COMMUNICATION")
                         .where("COMMUNICATION.COMMUNICATIONID", vars.get("$this.value")).cell());
\ No newline at end of file
-- 
GitLab


From 1942f283777910973f5f4dd2fb61e44355edef1b Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 13:37:31 +0200
Subject: [PATCH 150/251] #1058030 bulkmail and serialletter add recipients

---
 .../BulkMailAddRecipients_entity.aod          |   6 +-
 .../recipientcontactids/valueProcess.js       |  34 ++----
 .../valueProcess.js                           |   6 +-
 .../valueProcess.js                           |   6 +-
 .../entityfields/exportcount/valueProcess.js  |   2 +-
 .../entityfields/selection/valueProcess.js    |   6 +-
 .../addtobulkmailfromtable/onActionProcess.js |  12 +-
 .../addtobulkmailfromtable/stateProcess.js    |   4 +-
 .../addtocampaignfromtable/stateProcess.js    |   4 +-
 .../addtoserialletter/onActionProcess.js      |  12 +-
 .../addtoserialletter/stateProcess.js         |   4 +-
 .../children/export/stateProcess.js           |   4 +-
 .../addtobulkmailfromtable/onActionProcess.js |  12 +-
 .../addtobulkmailfromtable/stateProcess.js    |   4 +-
 .../addtocampaignfromtable/stateProcess.js    |   4 +-
 .../addtoserialletter/onActionProcess.js      |  12 +-
 .../addtoserialletter/stateProcess.js         |   4 +-
 .../children/export/stateProcess.js           |   4 +-
 .../SerialLetterAddRecipients_entity.aod      |   6 +-
 .../recipientcontactids/valueProcess.js       |  44 +++----
 process/Bulkmail_lib/process.js               |  87 +++++--------
 .../FilterViewAction_lib.aod}                 |   4 +-
 process/FilterViewAction_lib/process.js       | 114 ++++++++++++++++++
 process/FilterviewMenuAction_lib/process.js   |  64 ----------
 process/Util_lib/process.js                   |  14 +++
 25 files changed, 227 insertions(+), 246 deletions(-)
 rename process/{FilterviewMenuAction_lib/FilterviewMenuAction_lib.aod => FilterViewAction_lib/FilterViewAction_lib.aod} (75%)
 create mode 100644 process/FilterViewAction_lib/process.js
 delete mode 100644 process/FilterviewMenuAction_lib/process.js

diff --git a/entity/BulkMailAddRecipients_entity/BulkMailAddRecipients_entity.aod b/entity/BulkMailAddRecipients_entity/BulkMailAddRecipients_entity.aod
index 7e9ddd1f31..95b5c59685 100644
--- a/entity/BulkMailAddRecipients_entity/BulkMailAddRecipients_entity.aod
+++ b/entity/BulkMailAddRecipients_entity/BulkMailAddRecipients_entity.aod
@@ -59,7 +59,7 @@
       <valueProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/recipientcount/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
-      <name>comingFrom_param</name>
+      <name>ObjectType_param</name>
       <expose v="true" />
     </entityParameter>
     <entityField>
@@ -81,6 +81,10 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityParameter>
+      <name>ContactFilter_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <datalessRecordContainer>
diff --git a/entity/BulkMailAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js b/entity/BulkMailAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
index 4b3206dc22..02d7fa1e67 100644
--- a/entity/BulkMailAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
+++ b/entity/BulkMailAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
@@ -1,38 +1,24 @@
+import("Util_lib");
 import("system.eMath");
-import("FilterviewMenuAction_lib");
-import("Contact_lib");
+import("FilterViewAction_lib");
 import("system.result");
 import("Bulkmail_lib");
-import("KeywordRegistry_basic");
-import("system.util");
-import("system.db");
 import("Sql_lib");
 import("system.vars");
 import("system.neon");
 
-var selection = JSON.parse(vars.getString("$param.ContactIds_param"));
-var comingfrom = vars.getString("$param.comingFrom_param");
-var contactIds;
-
-if(!Array.isArray(selection)) //if selection is an array, data has been selected
-{
-    var condition = selection.condition;
-    if(comingfrom == "Organisation")
-        contactIds = FilterviewMenuActionUtils.organisationIdsFilter(condition);
-    else if (comingfrom == "Person")
-        contactIds = FilterviewMenuActionUtils.contactIdsFilter(condition);
-}
-
 var bulkMailId = vars.get("$field.BULKMAIL_ID");
-
-var res;
 if (bulkMailId)
 {
+    var contactIds = Utils.parseJSON(vars.get("$param.ContactIds_param"));
+    var contactFilter = vars.get("$param.ContactFilter_param");
+    var context = vars.getString("$param.ObjectType_param");
+
+    contactIds = FilterViewActionUtils.getUidsBySelectionOrFilter(context, contactIds, contactFilter);
+
     var recipients = BulkMailUtils.filterNewRecipients(bulkMailId, contactIds);
-    res = JSON.stringify(recipients);
     neon.setFieldValue("$field.notAddedRecipients", eMath.subInt(parseInt(contactIds.length), parseInt(recipients.length)));
+    result.string(JSON.stringify(recipients));
 }
 else
-    res = null;
-    
-result.string(res);
\ No newline at end of file
+    result.string(null);
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
index 5eac9077a7..a8170e082c 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
@@ -2,7 +2,7 @@ import("system.eMath");
 import("system.result");
 import("system.vars");
 import("system.neon");
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("Campaign_lib");
 
 
@@ -18,9 +18,9 @@ if(vars.get("$field.CAMPAIGN_ID"))
         selection = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
         
         if(comingfrom == "Organisation")
-            filteredContactIds = FilterviewMenuActionUtils.organisationIdsFilter(selection);
+            filteredContactIds = FilterViewActionUtils.organisationIdsFilter(selection);
         else if(comingfrom == "Person")
-            filteredContactIds = FilterviewMenuActionUtils.contactIdsFilter(selection)
+            filteredContactIds = FilterViewActionUtils.contactIdsFilter(selection)
         
         contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), selection);
     }
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
index f9a576941a..a962faa846 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantmessage/valueProcess.js
@@ -3,7 +3,7 @@ import("system.translate");
 import("system.result");
 import("system.vars");
 import("Campaign_lib");
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 
 var res = "";
 var resNotAdded = "\n";
@@ -28,9 +28,9 @@ if(vars.get("$field.CAMPAIGN_ID") && vars.get("$field.campaignparticipantContact
                 var selection = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
                 
                 if(comingfrom == "Organisation")
-                    selectedIds = FilterviewMenuActionUtils.organisationIdsFilter(selection).length;
+                    selectedIds = FilterViewActionUtils.organisationIdsFilter(selection).length;
                 else if(comingfrom == "Person")
-                    selectedIds = FilterviewMenuActionUtils.contactIdsFilter(selection).length;
+                    selectedIds = FilterViewActionUtils.contactIdsFilter(selection).length;
             }
             if (selectedIds != undefined) {
                 var alreadyParticipant = eMath.subInt(selectedIds, validCount)
diff --git a/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
index a650684a24..e8b2b80fb7 100644
--- a/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
+++ b/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
@@ -1,4 +1,4 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
diff --git a/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
index 3d860b7c27..de704ba167 100644
--- a/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
+++ b/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
@@ -1,4 +1,4 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
@@ -11,9 +11,9 @@ if(!Array.isArray(selection)) //if selection is an array, data has been selected
 {
     var condition = selection.condition;
     if(comingfrom == "Organisation")
-        contactIds = FilterviewMenuActionUtils.organisationIdsFilter(condition);
+        contactIds = FilterViewActionUtils.organisationIdsFilter(condition);
     else if (comingfrom == "Person")
-        contactIds = FilterviewMenuActionUtils.contactIdsFilter(condition);
+        contactIds = FilterViewActionUtils.contactIdsFilter(condition);
 }
 result.string(JSON.stringify(contactIds));
 
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
index 9a2a483e4c..328ef725e8 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
@@ -1,14 +1,4 @@
 import("Bulkmail_lib");
 import("system.vars");
 
-var sysSelection = vars.get("$sys.selection");
-
-if(sysSelection.length > 0)     //if data selected -> use selected data
-{
-    BulkMailUtils.addParticipantsByRowIds(JSON.stringify(sysSelection));
-}
-else                            //else -> use Filtercondition
-{
-    let sysFilter = vars.get("$sys.filter");
-    BulkMailUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname"));
-}
+BulkMailUtils.openAddRecipientView(vars.get("$sys.currentcontextname"), vars.get("$sys.selection"), vars.get("$sys.filter"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
index eca60a8c04..7790d58dc4 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var orgCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(orgCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(orgCount));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
index dc03abb3d7..b63a795571 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
@@ -1,14 +1,4 @@
 import("Bulkmail_lib");
 import("system.vars");
 
-var sysSelection = vars.get("$sys.selection");
-
-if(sysSelection.length > 0)     //if data selected -> use selected data
-{
-    SerialLetterUtils.addParticipantsByRowIds(JSON.stringify(sysSelection));
-}
-else                            //else -> use Filtercondition
-{
-    let sysFilter = vars.get("$sys.filter");
-    SerialLetterUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname"));
-}
\ No newline at end of file
+SerialLetterUtils.openAddRecipientView(vars.get("$sys.currentcontextname"), vars.get("$sys.selection"), vars.get("$sys.filter"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
index 6695332241..7fc578ee79 100644
--- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
@@ -1,7 +1,7 @@
 import("system.result");
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
index ead03187df..328ef725e8 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/onActionProcess.js
@@ -1,14 +1,4 @@
 import("Bulkmail_lib");
 import("system.vars");
 
-var sysSelection = vars.get("$sys.selection");
-
-if(sysSelection.length > 0)     //if data selected -> use selected data
-{
-    BulkMailUtils.addParticipantsByRowIds(JSON.stringify(sysSelection));
-}
-else                            //else -> use Filtercondition
-{
-    let sysFilter = vars.get("$sys.filter");
-    BulkMailUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname"));
-}
\ No newline at end of file
+BulkMailUtils.openAddRecipientView(vars.get("$sys.currentcontextname"), vars.get("$sys.selection"), vars.get("$sys.filter"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtobulkmailfromtable/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
index dc03abb3d7..b63a795571 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/onActionProcess.js
@@ -1,14 +1,4 @@
 import("Bulkmail_lib");
 import("system.vars");
 
-var sysSelection = vars.get("$sys.selection");
-
-if(sysSelection.length > 0)     //if data selected -> use selected data
-{
-    SerialLetterUtils.addParticipantsByRowIds(JSON.stringify(sysSelection));
-}
-else                            //else -> use Filtercondition
-{
-    let sysFilter = vars.get("$sys.filter");
-    SerialLetterUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname"));
-}
\ No newline at end of file
+SerialLetterUtils.openAddRecipientView(vars.get("$sys.currentcontextname"), vars.get("$sys.selection"), vars.get("$sys.filter"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/addtoserialletter/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
index 81097eaaf9..a1d1a7a758 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/stateProcess.js
@@ -1,7 +1,7 @@
-import("FilterviewMenuAction_lib");
+import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
 var contactCount = vars.get("$sys.datarowcount");
 
-result.string(FilterviewMenuActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
+result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));
\ No newline at end of file
diff --git a/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod b/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
index 1f64a27f20..a72c0501c5 100644
--- a/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
+++ b/entity/SerialLetterAddRecipients_entity/SerialLetterAddRecipients_entity.aod
@@ -50,7 +50,7 @@
       <stateProcess>%aditoprj%/entity/SerialLetterAddRecipients_entity/entityfields/addparticipants/stateProcess.js</stateProcess>
     </entityActionField>
     <entityParameter>
-      <name>comingFrom_param</name>
+      <name>ObjectType_param</name>
       <expose v="true" />
     </entityParameter>
     <entityField>
@@ -77,6 +77,10 @@
     <entityField>
       <name>notAddedRecipients</name>
     </entityField>
+    <entityParameter>
+      <name>ContactFilter_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <datalessRecordContainer>
diff --git a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
index f88ef04fc2..7e164ae735 100644
--- a/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
+++ b/entity/SerialLetterAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js
@@ -1,40 +1,24 @@
+import("Util_lib");
 import("system.eMath");
-import("system.neon");
-import("FilterviewMenuAction_lib");
-import("Contact_lib");
+import("FilterViewAction_lib");
 import("system.result");
 import("Bulkmail_lib");
-import("KeywordRegistry_basic");
-import("system.util");
-import("system.db");
 import("Sql_lib");
 import("system.vars");
+import("system.neon");
 
-var selection = JSON.parse(vars.getString("$param.ContactIds_param"));
-var comingfrom = vars.getString("$param.comingFrom_param");
-var contactIds = selection;
-
-if(!Array.isArray(selection)) //if selection is an array, data has been selected
-{
-    var condition = selection.condition;
-    if(comingfrom == "Organisation")
-        contactIds = FilterviewMenuActionUtils.organisationIdsFilter(condition);
-    else if (comingfrom == "Person")
-        contactIds = FilterviewMenuActionUtils.contactIdsFilter(condition);
-}
-var serialLetterId = vars.get("$field.SERIALLETTER_ID")
-
-var res;
+var serialLetterId = vars.get("$field.SERIALLETTER_ID");
 if (serialLetterId)
 {
-    res = SerialLetterUtils.filterNewRecipients(serialLetterId, contactIds);
-    neon.setFieldValue("$field.notAddedRecipients", eMath.subInt(contactIds.length, res.length));
-    res = JSON.stringify(res);
+    var contactIds = Utils.parseJSON(vars.get("$param.ContactIds_param"));
+    var contactFilter = vars.get("$param.ContactFilter_param");
+    var context = vars.getString("$param.ObjectType_param");
+
+    contactIds = FilterViewActionUtils.getUidsBySelectionOrFilter(context, contactIds, contactFilter);
+
+    var recipients = SerialLetterUtils.filterNewRecipients(serialLetterId, contactIds);
+    neon.setFieldValue("$field.notAddedRecipients", eMath.subInt(parseInt(contactIds.length), parseInt(recipients.length)));
+    result.string(JSON.stringify(recipients));
 }
 else
-{
-    res = null;
-    neon.setFieldValue("$field.notAddedRecipients", 0);
-}
-
-result.string(res);
\ No newline at end of file
+    result.string(null);
\ No newline at end of file
diff --git a/process/Bulkmail_lib/process.js b/process/Bulkmail_lib/process.js
index 66bb5a8691..f2d7522431 100644
--- a/process/Bulkmail_lib/process.js
+++ b/process/Bulkmail_lib/process.js
@@ -1,3 +1,4 @@
+import("Util_lib");
 import("system.translate");
 import("ActivityTask_lib");
 import("system.util");
@@ -157,12 +158,18 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pTestRecipients)
  * @param {String[]} pContactIds            <p>
  *                                          Recipients that should be added.<br>
  */
-BulkMailUtils.openAddRecipientView = function (pContactIds)
+BulkMailUtils.openAddRecipientView = function (pContext, pContactIds, pFilter)
 {
-    var params = {
-        "ContactIds_param" : pContactIds
-    };
-    neon.openContext("BulkMailAddRecipients", "BulkMailAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
+    if (!Utils.isString(pContactIds))
+        pContactIds = JSON.stringify(pContactIds);
+    if (!Utils.isString(pFilter))
+        pFilter = JSON.stringify(pFilter);
+    
+    neon.openContext("BulkMailAddRecipients", "BulkMailAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+        "ObjectType_param": pContext,
+        "ContactIds_param": pContactIds,
+        "ContactFilter_param": pFilter
+    });
 }
 
 /**
@@ -195,25 +202,23 @@ BulkMailUtils.removeCommRestrictionRecipients = function (pBulkMailId)
  */
 BulkMailUtils.addRecipients = function (pBulkMailId, pContactIds)
 {
-    var columns = [
-        "BULKMAILRECIPIENTID",
-        "BULKMAIL_ID",
-        "CONTACT_ID",
-        "STATUS",
-        "EMAIL_ADDRESS"
-    ];
-    
-    if(pContactIds.length > 0)
+    if (pContactIds.length > 0)
     {
         var contactData = newSelect(["CONTACTID", "(" + CommUtil.getStandardSubSqlMail(newWhere("COMMUNICATION.CONTACT_ID = CONTACTID")) + ")"])
             .from("CONTACT")
             .where("CONTACT.CONTACTID", pContactIds, SqlBuilder.IN())
             .table();
         
-        var inserts = contactData.map(function(pContact)
+        var sqlBuilder = new SqlBuilder();
+        
+        var inserts = contactData.map(function([contactId, standardMail])
         {
-			//TODO: get columntype for better performance outside loop
-            return ["BULKMAILRECIPIENT", columns, null, [util.getNewUUID(), pBulkMailId, pContact[0], $KeywordRegistry.bulkMailRecipientStatus$pending(), pContact[1]]];
+            return sqlBuilder.buildInsertStatement({
+                "BULKMAIL_ID": pBulkMailId,
+                "CONTACT_ID": contactId,
+                "STATUS": $KeywordRegistry.bulkMailRecipientStatus$pending(),
+                "EMAIL_ADDRESS": standardMail
+            }, "BULKMAILRECIPIENT", "BULKMAILRECIPIENTID");
         });
         
         db.inserts(inserts);
@@ -393,38 +398,6 @@ BulkMailUtils.copy = function(pBulkMailId)
     };
     neon.openContext("BulkMail", null, null, neon.OPERATINGSTATE_NEW, params);
 }
-/**
- * Adds contacts or organistaions to a bulk mail by contactIds.<br>
- * 
- * @param {String} pContactIds              <p>
- *                                      The contact ids as JSON array.<br>
- */
-BulkMailUtils.addParticipantsByRowIds = function(pContactIds)
-{
-    var params = {
-        "ContactIds_param" : pContactIds
-    };
-    neon.openContext("BulkMailAddRecipients", "BulkMailAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
-}
-
-/**
- * Adds contacts or organistaions to a bulk mail by condition (filter).<br>
- * 
- * @param {String} pCondition           <p>
- *                                      Contact ids.
- * @param {String} pSourceTableName     <p>
- *                                      The source table.<br>
- */
-BulkMailUtils.addParticipantsByCondition = function(pCondition, pSourceTableName)
-{
-    var params = {
-        "ContactIds_param" : pCondition,
-        "comingFrom_param" : pSourceTableName}
-    neon.openContext("BulkMailAddRecipients", "BulkMailAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
-}
-
-
-
 
 function SerialLetterUtils () {}
 
@@ -458,12 +431,18 @@ SerialLetterUtils.addRecipients = function (pSerialLetterId, pContactIds)
  * @param {String[]} pContactIds            <p>
  *                                          Recipients that should be added.<br>
  */
-SerialLetterUtils.openAddRecipientView = function (pContactIds)
+SerialLetterUtils.openAddRecipientView = function (pContext, pContactIds, pFilter)
 {
-    var params = {
-        "ContactIds_param" : pContactIds
-    };
-    neon.openContext("SerialLetterAddRecipients", "SerialLetterAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, params);
+    if (!Utils.isString(pContactIds))
+        pContactIds = JSON.stringify(pContactIds);
+    if (!Utils.isString(pFilter))
+        pFilter = JSON.stringify(pFilter);
+    
+    neon.openContext("SerialLetterAddRecipients", "SerialLetterAddRecipientsEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+        "ObjectType_param": pContext,
+        "ContactIds_param": pContactIds,
+        "ContactFilter_param": pFilter
+    });
 }
 
 /**
diff --git a/process/FilterviewMenuAction_lib/FilterviewMenuAction_lib.aod b/process/FilterViewAction_lib/FilterViewAction_lib.aod
similarity index 75%
rename from process/FilterviewMenuAction_lib/FilterviewMenuAction_lib.aod
rename to process/FilterViewAction_lib/FilterViewAction_lib.aod
index 3162cdadf0..4e78ca82cf 100644
--- a/process/FilterviewMenuAction_lib/FilterviewMenuAction_lib.aod
+++ b/process/FilterViewAction_lib/FilterViewAction_lib.aod
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
-  <name>FilterviewMenuAction_lib</name>
+  <name>FilterViewAction_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <process>%aditoprj%/process/FilterviewMenuAction_lib/process.js</process>
+  <process>%aditoprj%/process/FilterViewAction_lib/process.js</process>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/FilterViewAction_lib/process.js b/process/FilterViewAction_lib/process.js
new file mode 100644
index 0000000000..7f812ff2db
--- /dev/null
+++ b/process/FilterViewAction_lib/process.js
@@ -0,0 +1,114 @@
+import("Util_lib");
+import("system.neon");
+import("Sql_lib");
+import("Context_lib");
+import("system.entities");
+
+/**
+ * Methods for the menu actions in the filterview.
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function FilterViewActionUtils() {}
+
+FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
+{
+    if (Utils.isString(pFilter))
+        pFilter = JSON.parse(pFilter);
+    
+    //uids from Person and Organisation are loaded with simple sql queries because that's much faster than over the entity'
+    if (pContext == "Person" && "condition" in pFilter)
+    {
+        return newSelect("CONTACT.CONTACTID")
+            .from("PERSON")
+            .join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID")
+            .join("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+            .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
+            .whereIfSet(pFilter.condition)
+            .arrayColumn();
+    }
+    if (pContext == "Organisation" && "condition" in pFilter)
+    {
+        return newSelect("CONTACT.CONTACTID")
+            .from("PERSON")
+            .join("CONTACT", newWhere("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID").and("CONTACT.PERSON_ID is null"))
+            .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
+            .leftJoin("CLASSIFICATIONSTORAGE", "CLASSIFICATIONSTORAGE.OBJECT_ROWID = CONTACT.CONTACTID")
+            .whereIfSet(pFilter.condition)
+            .arrayColumn();
+    }
+    
+    //General solution to get the uids using entities.getRows
+    var loadRowsConfig = entities.createConfigForLoadingRows()
+        .entity(ContextUtils.getEntity(pContext))
+        .fields(["#UID"])
+        .filter(JSON.stringify(pFilter.filter || pFilter));
+        
+    return entities.getRows(loadRowsConfig).map(function (row)
+    {
+        return row["#UID"];
+    });
+}
+
+FilterViewActionUtils.getUidsBySelectionOrFilter = function (pContext, pSelection, pFilter)
+{
+    if (Utils.isNullOrEmpty(pSelection) && pFilter)
+        return FilterViewActionUtils.getUidsByEntityFilter(pContext, pFilter);
+    return pSelection || [];
+}
+
+/**
+ * Generates an Array of all the contactIds using the filtercondition
+ * 
+ * @param {Condition} pCondition the condition of the filter
+ * 
+ * @return {Array} all the contactids limited by the filtercondition
+ */
+FilterViewActionUtils.contactIdsFilter = function (pCondition)
+{
+    let query = newSelect("distinct CONTACT.CONTACTID").from("CONTACT");
+    
+    query.join("PERSON", "CONTACT.PERSON_ID = PERSON.PERSONID")
+        .leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+        .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
+        .where(pCondition);
+
+    return query.arrayColumn();
+};
+
+/**
+ * Generates an Array of all the organisationContactIds using the filtercondition
+ * 
+ * @param {String} pCondition the condition of the filter
+ * 
+ * @return {Array} all the organisationContactIds (=contactIds of the organisations) limited by the filtercondition
+ */
+FilterViewActionUtils.organisationIdsFilter = function (pCondition)
+{
+    let query = newSelect("distinct CONTACT.CONTACTID").from("ORGANISATION")
+    
+    query.leftJoin("CONTACT", "CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID")
+        .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
+        .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
+        .where(pCondition)
+        .and("CONTACT.PERSON_ID is null");
+
+    return query.arrayColumn();
+};
+
+/**
+ * Retuns the componentstate using the rowcount.
+ * (used for the menu actions)
+ * 
+ * @param {pDataRowCount} pDataRowCount data row count (vars.get("$sys.datarowcount");)
+ * 
+ * @return {String} componentstate
+ */
+FilterViewActionUtils.getComponentStateByRowCount = function(pDataRowCount)
+{
+    if(pDataRowCount > 0)
+        return neon.COMPONENTSTATE_EDITABLE;
+    else
+        return neon.COMPONENTSTATE_DISABLED;
+};
\ No newline at end of file
diff --git a/process/FilterviewMenuAction_lib/process.js b/process/FilterviewMenuAction_lib/process.js
deleted file mode 100644
index ed2e0a7135..0000000000
--- a/process/FilterviewMenuAction_lib/process.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import("system.neon");
-import("Sql_lib");
-/**
- * Methods for the menu actions in the filterview.
- * Do not create an instance of this!
- * 
- * @class
- */
-function FilterviewMenuActionUtils() {}
-
-/**
- * Generates an Array of all the contactIds using the filtercondition
- * 
- * @param {Condition} pCondition the condition of the filter
- * 
- * @return {Array} all the contactids limited by the filtercondition
- */
-FilterviewMenuActionUtils.contactIdsFilter = function (pCondition)
-{
-    let query = newSelect("distinct CONTACT.CONTACTID").from("CONTACT");
-    
-    query.join("PERSON", "CONTACT.PERSON_ID = PERSON.PERSONID")
-        .leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-        .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
-        .where(pCondition);
-
-    return query.arrayColumn();
-};
-
-/**
- * Generates an Array of all the organisationContactIds using the filtercondition
- * 
- * @param {String} pCondition the condition of the filter
- * 
- * @return {Array} all the organisationContactIds (=contactIds of the organisations) limited by the filtercondition
- */
-FilterviewMenuActionUtils.organisationIdsFilter = function (pCondition)
-{
-    let query = newSelect("distinct CONTACT.CONTACTID").from("ORGANISATION")
-    
-    query.leftJoin("CONTACT", "CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID")
-        .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
-        .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
-        .where(pCondition)
-        .and("CONTACT.PERSON_ID is null");
-
-    return query.arrayColumn();
-};
-
-/**
- * Retuns the componentstate using the rowcount.
- * (used for the menu actions)
- * 
- * @param {pDataRowCount} pDataRowCount data row count (vars.get("$sys.datarowcount");)
- * 
- * @return {String} componentstate
- */
-FilterviewMenuActionUtils.getComponentStateByRowCount = function(pDataRowCount)
-{
-    if(pDataRowCount > 0)
-        return neon.COMPONENTSTATE_EDITABLE;
-    else
-        return neon.COMPONENTSTATE_DISABLED;
-};
\ No newline at end of file
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 74776d9ad9..79d48fd346 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -235,6 +235,20 @@ Utils.objectFromMap = function (pMap)
     return mapObject;
 }
 
+/**
+ * Parses the given JSON to an object, but ignores empty strings, undefined or null.
+ * 
+ * @param {String} pJSON the JSON string to parse
+ * @param {Function} [pReviver] optional reviver function
+ * @return {Array|Object} the parsed object or null if no JSON was given
+ */
+Utils.parseJSON = function (pJSON, pReviver)
+{
+    if (pJSON !== "" && pJSON !== undefined && pJSON !== null)
+        return JSON.parse(pJSON, pReviver);
+    return null;
+}
+
 /**
  * Class containing static utility functions for regular expression objects (RegExp)
  * Do not create an instance of this
-- 
GitLab


From 40b871ac99de4733e47d4ca2d2fb123d54459a95 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 14:06:05 +0200
Subject: [PATCH 151/251] #1058030 comments added

---
 process/Bulkmail_lib/process.js               | 13 ++++++-----
 .../FilterViewAction_lib.aod                  |  1 +
 process/FilterViewAction_lib/process.js       | 22 +++++++++++++++++--
 3 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/process/Bulkmail_lib/process.js b/process/Bulkmail_lib/process.js
index f2d7522431..92940b61ef 100644
--- a/process/Bulkmail_lib/process.js
+++ b/process/Bulkmail_lib/process.js
@@ -155,8 +155,9 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pTestRecipients)
 /**
  * Opens a context to select a bulk mail to add recipients to.<br>
  * 
- * @param {String[]} pContactIds            <p>
- *                                          Recipients that should be added.<br>
+ * @param {String} pContext             the context of the contacts (Person or Organisation)
+ * @param {String[]} pContactIds        Recipients that should be added.<br>
+ * @param {String|Object} pFilter       the filter for the contacts that should be used if no contact is selected
  */
 BulkMailUtils.openAddRecipientView = function (pContext, pContactIds, pFilter)
 {
@@ -425,11 +426,11 @@ SerialLetterUtils.addRecipients = function (pSerialLetterId, pContactIds)
 }
 
 /**
- * Opens a context to select a serial letter<br>
- * to add recipients to.<br>
+ * Opens a context to select a serial letter to add recipients to.<br>
  * 
- * @param {String[]} pContactIds            <p>
- *                                          Recipients that should be added.<br>
+ * @param {String} pContext             the context of the contacts (Person or Organisation)
+ * @param {String[]} pContactIds        Recipients that should be added.<br>
+ * @param {String|Object} pFilter       the filter for the contacts that should be used if no contact is selected
  */
 SerialLetterUtils.openAddRecipientView = function (pContext, pContactIds, pFilter)
 {
diff --git a/process/FilterViewAction_lib/FilterViewAction_lib.aod b/process/FilterViewAction_lib/FilterViewAction_lib.aod
index 4e78ca82cf..48c19eee90 100644
--- a/process/FilterViewAction_lib/FilterViewAction_lib.aod
+++ b/process/FilterViewAction_lib/FilterViewAction_lib.aod
@@ -3,6 +3,7 @@
   <name>FilterViewAction_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <process>%aditoprj%/process/FilterViewAction_lib/process.js</process>
+  <alias>Data_alias</alias>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/FilterViewAction_lib/process.js b/process/FilterViewAction_lib/process.js
index 7f812ff2db..b0fa04291d 100644
--- a/process/FilterViewAction_lib/process.js
+++ b/process/FilterViewAction_lib/process.js
@@ -12,6 +12,13 @@ import("system.entities");
  */
 function FilterViewActionUtils() {}
 
+/**
+ * Loads all uids of the given context that can be found when the given filter is applied.
+ * 
+ * @param {String} pContext         the context
+ * @param {String|Object} pFilter   the filter to apply (content of "$sys.filter")
+ * @return {String[]} all uids that could be found
+ */
 FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
 {
     if (Utils.isString(pFilter))
@@ -20,7 +27,8 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
     //uids from Person and Organisation are loaded with simple sql queries because that's much faster than over the entity'
     if (pContext == "Person" && "condition" in pFilter)
     {
-        return newSelect("CONTACT.CONTACTID")
+        return new SqlBuilder()
+            .selectDistinct("CONTACT.CONTACTID")
             .from("PERSON")
             .join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID")
             .join("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
@@ -30,7 +38,8 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
     }
     if (pContext == "Organisation" && "condition" in pFilter)
     {
-        return newSelect("CONTACT.CONTACTID")
+        return new SqlBuilder()
+            .selectDistinct("CONTACT.CONTACTID")
             .from("PERSON")
             .join("CONTACT", newWhere("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID").and("CONTACT.PERSON_ID is null"))
             .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
@@ -51,6 +60,15 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
     });
 }
 
+/**
+ * Loads uids depending on the given context, selection and filter. If there are uids in the given selection, these will be returned, otherwise
+ * the context and filter are used for getting the uids.
+ * 
+ * @param {String} pContext         the context
+ * @param {String[]} pSelection     selected uids ("$sys.selection")
+ * @param {String|Object} pFilter   the filter ("$sys.filter")
+ * @return {String[]} the uids that should be used
+ */
 FilterViewActionUtils.getUidsBySelectionOrFilter = function (pContext, pSelection, pFilter)
 {
     if (Utils.isNullOrEmpty(pSelection) && pFilter)
-- 
GitLab


From eed94091c23c94565234a4d143b75752d8c02d04 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 16:26:46 +0200
Subject: [PATCH 152/251] 1064436 Duplicate merge

---
 process/DuplicateScanner_lib/process.js | 25 +++++++------------------
 1 file changed, 7 insertions(+), 18 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 3a8ac98fef..2b206b990d 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1234,23 +1234,12 @@ _DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, p
 _DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
 {
     //don't use communications that the target already has
-    var communicationDedupCondition = newWhere(null, newSelect("targetComm.COMMUNICATIONID") 
-            .from("COMMUNICATION", "targetComm")
-            .where(["COMMUNICATION", "CONTACT_ID", "targetComm"], pTargetContactId)
-            .and("targetComm.ADDR = COMMUNICATION.ADDR"),
-        SqlBuilder.NOT_EXISTS());
-    
-    //don't use attributes that the contact already has
-    var targetAttributeSubselect = newSelect("targetAttr.AB_ATTRIBUTERELATIONID")
-        .from("AB_ATTRIBUTERELATION", "targetAttr")
-        .where(["AB_ATTRIBUTERELATION", "OBJECT_ROWID", "targetAttr"], pTargetContactId)
-        .and("targetAttr.AB_ATTRIBUTE_ID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID");
-    
-    AttributeTypeUtil.getAllDatabaseFields().forEach(function (dbColumn)
-    {
-        targetAttributeSubselect.and(newWhere("targetAttr." + dbColumn + " = AB_ATTRIBUTERELATION." + dbColumn)
-            .or("targetAttr." + dbColumn + " is null"));
-    });
+    var targetComms = newSelect("COMMUNICATION.ADDR") 
+        .from("COMMUNICATION")
+        .where("COMMUNICATION.CONTACT_ID", pTargetContactId)
+        .arrayColumn();
+        
+    var communicationDedupCondition = newWhere("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN());
     
     return[
         ["AB_APPOINTMENTLINK", "OBJECT_ROWID"],
@@ -1284,7 +1273,7 @@ _DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
         ["DSGVOINFO", "CONTACT_ID"],
         ["TIMETRACKING", "CONTACT_ID"],
         ["ACTIVITYLINK", "OBJECT_ROWID"],
-        ["AB_ATTRIBUTERELATION", "OBJECT_ROWID", newWhere(null, targetAttributeSubselect, SqlBuilder.NOT_EXISTS())],
+        ["AB_ATTRIBUTERELATION", "OBJECT_ROWID"],
 
         ["ASYS_CALENDARLINK", "DBID", "", SqlUtils.getSystemAlias()]
     ];
-- 
GitLab


From ff5d510262234c90fd3e10bf1d541b8be3f3f98b Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 16:33:35 +0200
Subject: [PATCH 153/251] 1064436 Duplicate merge SqlBuilder usage corrected

---
 process/DuplicateScanner_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 2b206b990d..ac136920da 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1239,7 +1239,7 @@ _DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
         .where("COMMUNICATION.CONTACT_ID", pTargetContactId)
         .arrayColumn();
         
-    var communicationDedupCondition = newWhere("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN());
+    var communicationDedupCondition = newWhereIfSet("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN());
     
     return[
         ["AB_APPOINTMENTLINK", "OBJECT_ROWID"],
-- 
GitLab


From 295a6a17951b63d07c8f109b137c7e933383dc75 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 2 Oct 2020 16:41:39 +0200
Subject: [PATCH 154/251] #1066481-BelegpostenEinzelpreis Pflichtparameter
 gesetzt

---
 entity/Order_entity/Order_entity.aod                          | 1 +
 .../orderitems/children/contactid_param/valueProcess.js       | 4 ++++
 2 files changed, 5 insertions(+)
 create mode 100644 entity/Order_entity/entityfields/orderitems/children/contactid_param/valueProcess.js

diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 0ad06c74ee..1e0d2d5b12 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -119,6 +119,7 @@
         </entityParameter>
         <entityParameter>
           <name>ContactId_param</name>
+          <valueProcess>%aditoprj%/entity/Order_entity/entityfields/orderitems/children/contactid_param/valueProcess.js</valueProcess>
           <expose v="true" />
           <mandatory v="true" />
         </entityParameter>
diff --git a/entity/Order_entity/entityfields/orderitems/children/contactid_param/valueProcess.js b/entity/Order_entity/entityfields/orderitems/children/contactid_param/valueProcess.js
new file mode 100644
index 0000000000..9a1be2eeb8
--- /dev/null
+++ b/entity/Order_entity/entityfields/orderitems/children/contactid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACT_ID"))
\ No newline at end of file
-- 
GitLab


From a927ec20faf8c3988d4070ea2ae88a721eb84ff8 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 16:51:49 +0200
Subject: [PATCH 155/251] 1064436 Duplicate merge fix

---
 process/DuplicateScanner_lib/process.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index ac136920da..563f3ec221 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1239,7 +1239,9 @@ _DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
         .where("COMMUNICATION.CONTACT_ID", pTargetContactId)
         .arrayColumn();
         
-    var communicationDedupCondition = newWhereIfSet("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN());
+    var communicationDedupCondition = targetComms.length > 0
+        ? newWhere("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN())
+        : null;
     
     return[
         ["AB_APPOINTMENTLINK", "OBJECT_ROWID"],
-- 
GitLab


From 3b0c8e17f5ac0a417f916717362c4adac776e8b8 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 17:03:43 +0200
Subject: [PATCH 156/251] Small SqlBuilder usage fix

---
 process/DuplicateScanner_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 563f3ec221..22af6346ec 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1241,7 +1241,7 @@ _DuplicateScannerUtils._getLinkedTableInfos = function(pTargetContactId)
         
     var communicationDedupCondition = targetComms.length > 0
         ? newWhere("COMMUNICATION.ADDR", targetComms, SqlBuilder.NOT_IN())
-        : null;
+        : "";
     
     return[
         ["AB_APPOINTMENTLINK", "OBJECT_ROWID"],
-- 
GitLab


From 88cccbfcbbba7b58da7831dcae22aaff78e8c4a1 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 2 Oct 2020 17:31:03 +0200
Subject: [PATCH 157/251] Missing translations added

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index d275a96f0b..e65b895509 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -116,6 +116,7 @@
     </entry>
     <entry>
       <key>Claim task</key>
+      <value>Aufgabe annehmen</value>
     </entry>
     <entry>
       <key>Finished tasks</key>
@@ -7914,6 +7915,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Claim date</key>
+      <value>Zuweisungsdatum</value>
     </entry>
     <entry>
       <key>Comma</key>
-- 
GitLab


From f9fec277b5aaf1436ece69f00f94ae7588e200be Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 5 Oct 2020 08:53:35 +0200
Subject: [PATCH 158/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065477][L=C3=B6schen=20=C3=BCber=20"Weitere=20Funkti?=
 =?UTF-8?q?onen"=20l=C3=B6scht=20nicht=20alle=20Daten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Contact_entity/recordcontainers/db/onDBDelete.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/entity/Contact_entity/recordcontainers/db/onDBDelete.js b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
index aed5eceb44..61afa46ba9 100644
--- a/entity/Contact_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
@@ -1,5 +1,4 @@
 import("Sql_lib");
-import("Context_lib");
 import("Attribute_lib");
 import("Workflow_lib");
 import("system.vars");
@@ -8,7 +7,7 @@ import("DuplicateScanner_lib");
 var contactId = vars.get("$field.CONTACTID");
 DuplicateScannerUtils.deleteCachedDuplicate(contactId);
 
-new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
+new AttributeRelationQuery(contactId, null, "Person")
     .deleteAllAttributes();
 
 newWhere("COMMUNICATION.CONTACT_ID", contactId).deleteData();
-- 
GitLab


From 76da8059c2ae57cf65707d4d31ea5c7d77d1e8ce Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 5 Oct 2020 09:24:17 +0200
Subject: [PATCH 159/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066051][Dublettensuche=20entfernt=20unn=C3=B6tig=20P?=
 =?UTF-8?q?unkt=20vor=20der=20Suche]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/DuplicateScanner_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 22af6346ec..983c5c2745 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -728,7 +728,7 @@ DuplicateScannerUtils.buildEntityFieldConfigs = function(pDuplicateFieldsConfig,
         if(entityFieldValue == null)
             entityFieldValue = "";
         else
-            entityFieldValue = entityFieldValue.toLowerCase().replace(/[():\.\/!]/gi, "").trim();
+            ntityFieldValue = indexsearch.escapeString(entityFieldValue).trim();
         
         let exclude = fieldConfig.exclude;
         if (exclude)
-- 
GitLab


From 8a09c8313585942a326f084595ddd4f6fc63a733 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 5 Oct 2020 11:18:08 +0200
Subject: [PATCH 160/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1066607][Fehler bei Export]

---
 .../entityfields/exportcount/valueProcess.js               | 2 +-
 .../entityfields/selection/valueProcess.js                 | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
index e8b2b80fb7..32d6b097f8 100644
--- a/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
+++ b/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js
@@ -2,7 +2,7 @@ import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
-var selection = vars.getString("$field.selection");
+var selection = vars.get("$field.selection");
 
 if(selection)
     result.string(JSON.parse(selection).length);
diff --git a/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
index de704ba167..4d89e193e3 100644
--- a/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
+++ b/entity/ExportTemplateSelection_entity/entityfields/selection/valueProcess.js
@@ -2,14 +2,13 @@ import("FilterViewAction_lib");
 import("system.vars");
 import("system.result");
 
-var selection = JSON.parse(vars.getString("$param.selectedData_param"));
+var contactIds = JSON.parse(vars.getString("$param.selectedData_param"));
 var comingfrom = vars.getString("$param.comingFrom_param");
-var contactIds;
 
 
-if(!Array.isArray(selection)) //if selection is an array, data has been selected
+if(!Array.isArray(contactIds)) //if selection is an array, data has been selected
 {
-    var condition = selection.condition;
+    var condition = contactIds.condition;
     if(comingfrom == "Organisation")
         contactIds = FilterViewActionUtils.organisationIdsFilter(condition);
     else if (comingfrom == "Person")
-- 
GitLab


From 3d9dc34203483429f1b2ade754794b16235bc0f6 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 5 Oct 2020 11:41:38 +0200
Subject: [PATCH 161/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1063087][Dokumentenvorlage: "Erstkontakt ADITO" / Firma als Verwendungsort
 doppelt]

---
 .../_demoData/generatedData/documenttemplateplaceofuse.xml      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
index 7f90602fe8..b7f09032ef 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/documenttemplateplaceofuse.xml
@@ -84,7 +84,7 @@
     </insert>
     <insert tableName="documenttemplateplaceofuse">
       <column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
-      <column name="PLACEOFUSE" value="Organisation"/>
+      <column name="PLACEOFUSE" value="Person"/>
       <column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b4fafa76-73f2-43ee-8a88-12d30946f1bb"/>
     </insert>
     <insert tableName="documenttemplateplaceofuse">
-- 
GitLab


From ffcdb9b1da3ed241af25b52f68c2321c036f11b5 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 5 Oct 2020 11:48:53 +0200
Subject: [PATCH 162/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064779][360GRAD verliert Neuanlage Aktion in Timeline Ansicht]

---
 neonView/360DegreeFilter_view/360DegreeFilter_view.aod | 1 +
 1 file changed, 1 insertion(+)

diff --git a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
index 87ccd07eaf..fcb2588703 100644
--- a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
+++ b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
@@ -22,6 +22,7 @@
     </treeViewTemplate>
     <timelineViewTemplate>
       <name>Timeline</name>
+      <favoriteActionGroup2>newModule</favoriteActionGroup2>
       <dateField>DATE</dateField>
       <titleField>TITLE</titleField>
       <descriptionField>ENTITY_NAME</descriptionField>
-- 
GitLab


From 1388b867e76f31b9aecabbeefecdb62a1475c017 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 5 Oct 2020 11:49:01 +0200
Subject: [PATCH 163/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201065567][Fehlende=20Indizes=20auf=20Systemtabellen=20?=
 =?UTF-8?q?in=20liquibase-scripte=20hinzuf=C3=BCgen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../basic/init/struct/create_asys_aliasconfig.xml              | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
index 0a140415ff..84b8857d8d 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/init/struct/create_asys_aliasconfig.xml
@@ -23,5 +23,8 @@
         <column name="ALIASID" type="VARCHAR(63)"/>
         <column name="TENANTID" type="VARCHAR(63)"/>
     </createTable>
+    <createIndex tableName="ASYS_ALIASCONFIG" indexName="IDX_ASYS_ALIASCONFIG_SERVERID">
+        <column name="SERVERID"/>
+    </createIndex>
 </changeSet>
 </databaseChangeLog>
\ No newline at end of file
-- 
GitLab


From 46c37ea0ca031729bfaec4c2afdc23284d0a3f87 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 5 Oct 2020 11:55:02 +0200
Subject: [PATCH 164/251] #1066606 ObjectRelation deletion

---
 .../recordcontainers/jdito/contentProcess.js    | 17 ++++++-----------
 .../recordcontainers/jdito/onDelete.js          |  3 +--
 process/DuplicateScanner_lib/process.js         |  3 ++-
 3 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
index 4ea71164c3..c36c8c3e14 100644
--- a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
@@ -144,7 +144,7 @@ function _loadObjectRelationTree(pObjectId, pObjectType, pObjectRelationTypeId,
         else // no ObjectType chosen
         {
             // load all ObjectRelationTypes
-            var relationTypes = _getPossibleRelationTypes(pObjectType);
+            var relationTypes = ObjectRelationUtils.getPossibleRelationTypes([pObjectType], true);
             
             relationTypes.forEach(function (relationType, i)
             {
@@ -238,8 +238,7 @@ function _getEntryData(pObjectId, pDirection, pRelationType1, pRelationType2, pP
     
     onConditionForRelationTypeJoin = newWhere("AB_OBJECTRELATIONTYPEID = AB_OBJECTRELATIONTYPE" + myNum)
         .and("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE1", pRelationType1)
-        .and("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE2", pRelationType2)
-        .andIfSet("AB_OBJECTRELATION.AB_OBJECTRELATIONID", pObjectRelationId || null); // set id to null, as only null works with .andIfSet
+        .and("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE2", pRelationType2);
     
     // wird benoetigt zum Bearbeiten 
     if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
@@ -259,23 +258,19 @@ function _getEntryData(pObjectId, pDirection, pRelationType1, pRelationType2, pP
     var data = newSelect("OBJECT" + (pObjectRelationId ? myNum : otherNum) + "_ROWID, AB_OBJECTRELATIONID, OBJECT_TYPE, RELATION_TITLE, INFO, AB_OBJECTRELATIONTYPEID")
         .from("AB_OBJECTRELATION")
         .join("AB_OBJECTRELATIONTYPE", onConditionForRelationTypeJoin)
+        .whereIfSet("AB_OBJECTRELATION.AB_OBJECTRELATIONID", pObjectRelationId || null) // set id to null, as only null works with .andIfSet
         .table();
                         
     // try again with other side for "same"
-    if (data.length == 0 && pDirection == "same" && !pNoRecursion || pObjectRelationId && data.length > 0 && !data[0][0])
-         return _getEntryData(pObjectId, "normal", pRelationType1, pRelationType2, pPrevId, true, pObjectRelationId)
+    if (data.length == 0 && pDirection == "same" && !pNoRecursion || pObjectRelationId && data.length > 0 && !data[0][0]
+        || data.length == 0 && pDirection == "reverse" && !pNoRecursion && pObjectRelationId)
+         return _getEntryData(pObjectId, "normal", pRelationType1, pRelationType2, pPrevId, true, pObjectRelationId);
     
     // TODO: BINDATA?
     //for ( var i = 0; i < data.length; i++)  data[i][2] = image[data[i][2]] == undefined ? "" : image[data[i][2]];
     return data;
 }
 
-function _getPossibleRelationTypes(pObjectType)
-{
-    // TODO: load from entity when possible
-    return ObjectRelationUtils.getPossibleRelationTypes([pObjectType], true);
-}
-
 /**
  * insert a new Entry
  * 
diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js b/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js
index 415b1925a9..6541f935b8 100644
--- a/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js
@@ -3,5 +3,4 @@ import("Sql_lib");
 
 var objectRelationId = vars.get("$local.rowdata")["OBJECTRELATIONID.value"];
 
-newWhereIfSet("AB_OBJECTRELATION.AB_OBJECTRELATIONID", objectRelationId).deleteData();
-
+newWhereIfSet("AB_OBJECTRELATION.AB_OBJECTRELATIONID", objectRelationId).deleteData();
\ No newline at end of file
diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 983c5c2745..12420f6405 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1104,7 +1104,8 @@ _DuplicateScannerUtils._migrateParticipantsToNewContact = function (pTableName,
 {
     var excludedIds = newSelect(pAssignableIdColumn)
         .from(pTableName)
-        .where([pTableName, pContactIdColumn], pTargetContactId);
+        .where([pTableName, pContactIdColumn], pTargetContactId)
+        .arrayColumn();
 
     var updateCount = newWhere([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.NOT_IN())
         .and([pTableName, pContactIdColumn], pSourceContactId)
-- 
GitLab


From 8da2a2e2b5de5c057ad5616e6e3a3d66f12d0a9a Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 5 Oct 2020 13:41:31 +0200
Subject: [PATCH 165/251] #1065734 Duplicate merge error

---
 process/DuplicateScanner_lib/process.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 12420f6405..b8f14e5eca 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -1107,12 +1107,11 @@ _DuplicateScannerUtils._migrateParticipantsToNewContact = function (pTableName,
         .where([pTableName, pContactIdColumn], pTargetContactId)
         .arrayColumn();
 
-    var updateCount = newWhere([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.NOT_IN())
+    var updateCount = newWhereIfSet([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.NOT_IN())
         .and([pTableName, pContactIdColumn], pSourceContactId)
         .updateFields(new Map().set(pContactIdColumn, pTargetContactId), pTableName);
         
-    var deleteCount = newWhere([pTableName, pAssignableIdColumn], excludedIds, SqlBuilder.IN())
-        .and([pTableName, pContactIdColumn], pSourceContactId)
+    var deleteCount = newWhere([pTableName, pContactIdColumn], pSourceContactId)
         .tableName(pTableName)
         .deleteData();
     
-- 
GitLab


From 5abf7f916d430932b09ebd2885112788ec3d7175 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Mon, 5 Oct 2020 13:49:25 +0200
Subject: [PATCH 166/251] #1065718-LeadimportAdressenFix Privatadresse nur bei
 Privatperson

---
 process/Leadimport_lib/process.js | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index fcc56c0818..a4201c301c 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -611,20 +611,30 @@ LeadImportUtils.insertPers = function(pDataFields, pDataTypes,  pFieldDef, pFiel
     ContactValues["CONTACTPOSITION"] = ContactInfoUtils.getContactPosition(pLeadValues);
     
     if (pOrgId == "")//private
+    {
         ContactValues["ORGANISATION_ID"] = 0;
+        ContactValues["ADDRESS_ID"] = util.getNewUUID();
+    }
     else
+    {
         ContactValues["ORGANISATION_ID"] = pOrgId;
+        ContactValues["ADDRESS_ID"] = 0
+    }
+        
     
     var contactId =  LeadImportUtils.insertTable(pDataFields, pDataTypes, ContactValues, "CONTACT", pUser, pDate);
     
     //Address
-    var AddrValues = LeadImportUtils.setValues(pDataFields["ADDRESS"], pFieldDef, pFieldValues);
-    AddrValues["ADDRESSID"] = ContactValues["ADDRESS_ID"];
-    AddrValues["ADDR_TYPE"] = "HOMEADDR";
-    AddrValues["CONTACT_ID"] = contactId;
-    LeadImportUtils.insertTable(pDataFields, pDataTypes, AddrValues, "ADDRESS", pUser, pDate);
-
-    var entityFieldValues = LeadImportUtils.getEntityFieldsPers(PersValues, ContactValues, AddrValues);
+    if (ContactValues["ADDRESS_ID"])
+    {
+        var AddrValues = LeadImportUtils.setValues(pDataFields["ADDRESS"], pFieldDef, pFieldValues);
+        AddrValues["ADDRESSID"] = ContactValues["ADDRESS_ID"];
+        AddrValues["ADDR_TYPE"] = "HOMEADDR";
+        AddrValues["CONTACT_ID"] = contactId;
+        LeadImportUtils.insertTable(pDataFields, pDataTypes, AddrValues, "ADDRESS", pUser, pDate);
+    }
+    
+    var entityFieldValues = LeadImportUtils.getEntityFieldsPers(PersValues, ContactValues);
     
     return new Array(persid, contactId, entityFieldValues);
 }
@@ -850,12 +860,11 @@ LeadImportUtils.getEntityFieldsOrg = function(pOrgDataFields, pContactDataFields
  * maps the DB-Field to the ENTITY-Field
  * 
  * @param {Object} pPersDataFields the the PERSON values; 
- * @param {Object} pContactDataFields the CONTACT values; 
- * @param {Object} pAddressDataFields the ADDRESS values; 
+ * @param {Object} pContactDataFields the CONTACT values;
  * 
  * @return {Object} the mapping
  */
-LeadImportUtils.getEntityFieldsPers = function(pPersDataFields, pContactDataFields, pAddressDataFields)
+LeadImportUtils.getEntityFieldsPers = function(pPersDataFields, pContactDataFields)
 {
     var EntityPersFieldObj = {};
     EntityPersFieldObj["CONTACTID"] = pContactDataFields["CONTACTID"];
-- 
GitLab


From 93e414a6af09c6a9306b65fa3e228a4a50cf1c6c Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 5 Oct 2020 13:54:12 +0200
Subject: [PATCH 167/251] Duplicate Person merge success condition changed

---
 process/DuplicateScanner_lib/process.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index b8f14e5eca..df495ebbd2 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -649,7 +649,7 @@ DuplicateScannerUtils.mergePerson = function(pSourceContactId, pTargetContactId)
 
     DuplicateScannerUtils.deleteCachedDuplicate(pSourceContactId);
 
-    return ((isLinkedDataUpdated || isParticipantsUpdated) && deletedRows > 0);
+    return isLinkedDataUpdated || isParticipantsUpdated || deletedRows > 0;
 }
 
 DuplicateScannerUtils.createMergeSuccessActivity = function(pSourceContactId, pTargetContactId, pCurrentContactId, pContext)
@@ -1159,7 +1159,7 @@ _DuplicateScannerUtils._migrateLinkedContactData = function (pSourceContactId, p
     var setStandardsStatements = [];
     var [standardPhone, standardMail, standardAddressId] = newSelect([
             "(" + CommUtil.getStandardSubSqlPhone() + ")", 
-            "(" +CommUtil.getStandardSubSqlMail() + ")",
+            "(" + CommUtil.getStandardSubSqlMail() + ")",
             "CONTACT.ADDRESS_ID"
         ])
         .from("CONTACT")
-- 
GitLab


From 737f26eb70e7f5cf3e70926d06bd561ea51da9b3 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 5 Oct 2020 15:09:48 +0200
Subject: [PATCH 168/251] Person_entity Status displayValue expression

---
 entity/Person_entity/Person_entity.aod                      | 4 ++++
 .../recordfieldmappings/status.displayvalue/expression.js   | 6 ++++++
 2 files changed, 10 insertions(+)
 create mode 100644 entity/Person_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js

diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 6ae187ece5..bf2838ef62 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1671,6 +1671,10 @@
           <recordfield>PERSON.PERSONID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
new file mode 100644
index 0000000000..b63b2d5774
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contactStatus(), "CONTACT.STATUS");
+result.string(sql);
-- 
GitLab


From 2538097a81a849524ae7cdc95c28d7cd8a7698aa Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Mon, 5 Oct 2020 16:52:18 +0200
Subject: [PATCH 169/251] =?UTF-8?q?#1066308-KontaktDelete=20Links=20L?=
 =?UTF-8?q?=C3=B6schen=20und=20360=C2=B0Objects=20Deny?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../participantsdbrecordcontainer/conditionProcess.js         | 3 ++-
 entity/Person_entity/grantDeleteProcess.js                    | 2 ++
 entity/Person_entity/recordcontainers/db/onDBDelete.js        | 4 ++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/conditionProcess.js b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/conditionProcess.js
index b3b5019620..67d5159a7b 100644
--- a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/conditionProcess.js
+++ b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/conditionProcess.js
@@ -4,6 +4,7 @@ import("system.vars");
 
 var condition = newWhere()
     .andIfSet("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", "$param.CampaignId_param")
-    .andIfSet("CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID", "$param.CampaignStepId_param");
+    .andIfSet("CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID", "$param.CampaignStepId_param")
+    .andIfSet("CAMPAIGNPARTICIPANT.CONTACT_ID", "$param.ContactId_param");
 
 result.string(condition.toString());
diff --git a/entity/Person_entity/grantDeleteProcess.js b/entity/Person_entity/grantDeleteProcess.js
index 88573c89e8..876b00bdb6 100644
--- a/entity/Person_entity/grantDeleteProcess.js
+++ b/entity/Person_entity/grantDeleteProcess.js
@@ -28,6 +28,8 @@ if(personCount == 1)
         .andNoEntityRows("Offer_entity", "ContactOffers", {ContactId_param : contactId}) //Offers
         .andNoEntityRows("Contract_entity", "Contracts", {ContactId_param : contactId}) //Contracts
         .andNoEntityRows("ObjectTree_entity", "TreeProvider", {ObjectIds_param : JSON.stringify([contactId, vars.get("$field.PERSON_ID")]), ObjectTypes_param : JSON.stringify([currentContext, "PrivatePerson"])})
+        .andNoEntityRows("CampaignParticipant_entity", "CampaignParticipantsProvider", {ContactId_param : contactId})
+        .andNoEntityRows("Order_entity", "OrderProvider", {ContactId_param : contactId})
         .validate();
 }
 else if (personCount == 0) //special case in QuickEntry where it should be possible to remove a new Person that is not saved in the db yet
diff --git a/entity/Person_entity/recordcontainers/db/onDBDelete.js b/entity/Person_entity/recordcontainers/db/onDBDelete.js
index aed5eceb44..56d4461823 100644
--- a/entity/Person_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Person_entity/recordcontainers/db/onDBDelete.js
@@ -14,5 +14,9 @@ new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
 newWhere("COMMUNICATION.CONTACT_ID", contactId).deleteData();
 newWhere("ADDRESS.CONTACT_ID", contactId).deleteData();
 newWhere("COMMRESTRICTION.CONTACT_ID", contactId).deleteData();
+newWhere("AB_APPOINTMENTLINK.OBJECT_TYPE", "Person")
+.and("AB_APPOINTMENTLINK.OBJECT_ROWID", contactId).deleteData();
+newWhere("AB_ATTRIBUTERELATION.OBJECT_TYPE", "Person")
+.and("AB_ATTRIBUTERELATION.OBJECT_ROWID", contactId).deleteData();
 
 WorkflowSignalSender.deleted();
\ No newline at end of file
-- 
GitLab


From e1803d2120dd1d4322f581296447a8bc7e875a2d Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Mon, 5 Oct 2020 17:56:10 +0200
Subject: [PATCH 170/251] =?UTF-8?q?#1066647-OfferCharts=20Title=20hinzugef?=
 =?UTF-8?q?=C3=BCgt,=20Count=20auf=20OfferID=20und=20Anzeigen=20der=20Wars?=
 =?UTF-8?q?cheinlichkeit?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Offer_entity/Offer_entity.aod          |  6 +++-
 .../_____LANGUAGE_EXTRA.aod                   |  9 ++++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     | 12 ++++++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  9 ++++++
 .../OfferFilter_view/OfferFilter_view.aod     | 28 +++++++++++++++++++
 5 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 888a325546..2d89021bab 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -1292,13 +1292,17 @@
         </aggregateFieldDbMapping>
         <aggregateFieldDbMapping>
           <name>COUNT_aggregate.value</name>
-          <recordfield>OFFER.OFFER_ID</recordfield>
+          <recordfield>OFFER.OFFERID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
         <aggregateFieldDbMapping>
           <name>PROBABILITY_aggregate.value</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/probability_aggregate.value/expression.js</expression>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>OFFER_ID.value</name>
+          <recordfield>OFFER.OFFER_ID</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 5e056b9be7..4b8de349b3 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7269,6 +7269,15 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Count Chart</key>
+    </entry>
+    <entry>
+      <key>Sum Chart</key>
+    </entry>
+    <entry>
+      <key>Probability Chart</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index e65b895509..c6a2a8294f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9642,6 +9642,18 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>FavoriteGroup</key>
     </entry>
+    <entry>
+      <key>Count Chart</key>
+      <value>Anzahl Diagramm</value>
+    </entry>
+    <entry>
+      <key>Sum Chart</key>
+      <value>Summen Diagramm</value>
+    </entry>
+    <entry>
+      <key>Probability Chart</key>
+      <value>Wahrscheinlichkeit Diagramm</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 8347bc106b..a3cc7bb726 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7350,6 +7350,15 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Count Chart</key>
+    </entry>
+    <entry>
+      <key>Sum Chart</key>
+    </entry>
+    <entry>
+      <key>Probability Chart</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod
index 0a1ab5740c..eca4858eaa 100644
--- a/neonView/OfferFilter_view/OfferFilter_view.aod
+++ b/neonView/OfferFilter_view/OfferFilter_view.aod
@@ -140,7 +140,12 @@
       <name>DynamicMultiDataChartCount</name>
       <chartType>COLUMN</chartType>
       <yAxisLabel>Count</yAxisLabel>
+      <shareParent v="false" />
       <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>STATUS</element>
+      </defaultGroupFields>
+      <title>Count Chart</title>
       <columns>
         <neonDynamicMultiDataChartColumn>
           <name>4bbc9650-47fd-4a59-8e1e-bb60ceb85795</name>
@@ -153,7 +158,12 @@
       <name>DynamicMultiDataChartSum</name>
       <chartType>COLUMN</chartType>
       <yAxisLabel>Total in euros</yAxisLabel>
+      <shareParent v="false" />
       <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>STATUS</element>
+      </defaultGroupFields>
+      <title>Sum Chart</title>
       <columns>
         <neonDynamicMultiDataChartColumn>
           <name>e5d14506-5205-43d0-89cb-416bf6debd25</name>
@@ -162,5 +172,23 @@
         </neonDynamicMultiDataChartColumn>
       </columns>
     </dynamicMultiDataChartViewTemplate>
+    <dynamicMultiDataChartViewTemplate>
+      <name>DynamicMultiDataChartProb</name>
+      <chartType>COLUMN</chartType>
+      <yAxisLabel>Total in euros</yAxisLabel>
+      <shareParent v="false" />
+      <entityField>#ENTITY</entityField>
+      <defaultGroupFields>
+        <element>STATUS</element>
+      </defaultGroupFields>
+      <title>Probability Chart</title>
+      <columns>
+        <neonDynamicMultiDataChartColumn>
+          <name>e5d14506-5205-43d0-89cb-416bf6debd25</name>
+          <entityField>PROBABILITY</entityField>
+          <aggregateEntityField>PROBABILITY_aggregate</aggregateEntityField>
+        </neonDynamicMultiDataChartColumn>
+      </columns>
+    </dynamicMultiDataChartViewTemplate>
   </children>
 </neonView>
-- 
GitLab


From 322f0d46ea612b5591e8ac0e39253b2f68aaec19 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 5 Oct 2020 18:47:19 +0200
Subject: [PATCH 171/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066621][Kontakte=20-=20Serienaktion=20-=20zu=20Kampa?=
 =?UTF-8?q?gne=20hinzuf=C3=BCgen=20-=20Kontakte=20werden=20fehlerhaft=20in?=
 =?UTF-8?q?=20Kampagne=20angezeigt,=20Anzahl=20Teilnehmer=20fehlerhaf]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../addparticipants/onActionProcess.js        | 34 +++++++++----------
 .../valueProcess.js                           |  6 ++--
 process/Campaign_lib/process.js               | 12 +++----
 3 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
index 798e2b67f2..6d4c28eb34 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
@@ -19,10 +19,10 @@ var colNamesCampaignParticipantLog = CampaignUtils.getParticipantLogInsertColumn
 
 if(participantRowIds != null && participantRowIds.length > 0)
 {
-    let contactIdsToHandle = participantRowIds;
+    var contactIdsToHandle = participantRowIds;
     
     if(isUpdate == "false")
-        contactIdsToHandle = vars.get("$field.campaignparticipantContactIds");
+        contactIdsToHandle = JSON.parse(vars.get("$field.campaignparticipantContactIds"));
     
     _handleRowIds(contactIdsToHandle, campaignId);
 }
@@ -37,9 +37,9 @@ if (!vars.exists("$param.currentCampaignId_param") || !vars.get("$param.currentC
 
 function _handleCondition(pCampaignId, pTargetTableName, pCondition)
 {
-    let contactIdsToHandle = [];
+    var contactIdsToHandle = [];
     
-    let useRightJoinToGetOrgs = "false";
+    var useRightJoinToGetOrgs = "false";
     if(pTargetTableName == "ORGANISATION")
     {
         useRightJoinToGetOrgs = "true";
@@ -75,7 +75,7 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
             "DATE_EDIT"
         ];
     
-        let oldSteps = newSelect("CAMPAIGNPARTICIPANTID, CAMPAIGNSTEP_ID")
+        var oldSteps = newSelect("CAMPAIGNPARTICIPANTID, CAMPAIGNSTEP_ID")
                             .from("CAMPAIGNPARTICIPANT")
                             .whereIfSet("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds, SqlBuilder.IN())
                             .and("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
@@ -98,28 +98,28 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
         ];
     }
 
-    let statementArray = [];
-    let logArray = [];
+    var statementArray = [];
+    var logArray = [];
 
-    for (let participant in pParticipantRowIds)
+    for (var participant in pParticipantRowIds)
     {
-        let campaignParticipantLogId = util.getNewUUID();
-
+        var campaignParticipantLogId = util.getNewUUID();
+        var valsCampaignParticipantLog;
         if(isUpdate == "true")
         {
-            let oldCampaignStepId = oldStepIds[pParticipantRowIds[participant]] || "";
+            var oldCampaignStepId = oldStepIds[pParticipantRowIds[participant]] || "";
             
-            let updatedValues = [
+            var updatedValues = [
                 newCampaignStepId,
                 vars.get("$sys.user"),
                 vars.get("$sys.date")
             ];
 
-            let condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds[participant])
+            var condition = newWhere("CAMPAIGNPARTICIPANT.CONTACT_ID", pParticipantRowIds[participant])
                                 .and("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId)
                                 .or("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", pParticipantRowIds[participant]);
                                  
-            let valsCampaignParticipantLog = [
+            valsCampaignParticipantLog = [
                 campaignParticipantLogId,
                 campaignId, 
                 newCampaignStepId, 
@@ -134,9 +134,9 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
         }
         else
         {
-            let campaignParticipantId = util.getNewUUID();
+            var campaignParticipantId = util.getNewUUID();
 
-            let valsCampaignParticipant = [
+            var valsCampaignParticipant = [
                 campaignParticipantId,
                 pParticipantRowIds[participant],
                 campaignId,
@@ -145,7 +145,7 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
                 vars.get("$sys.date")
             ];
 
-            let valsCampaignParticipantLog = [
+            valsCampaignParticipantLog = [
                 campaignParticipantLogId,
                 campaignId, 
                 newCampaignStepId, 
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
index a8170e082c..cb25278a4a 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
@@ -29,8 +29,10 @@ if(vars.get("$field.CAMPAIGN_ID"))
         
         if (vars.get("$param.campaignParticipantsCondition_param"))
         {
-            contactIds = CampaignUtils.GetContactIdsInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition, false);
-        } else{
+            contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition, false);
+        } 
+        else
+        {
             contactIds = selection;
         }
     }
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 9db490141b..be0fe84ca4 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -520,8 +520,7 @@ CampaignUtils.GetContactIdsNotInCampaignByRowIds = function(pCampaignId, pPartic
  * @param {String} pCampaignId                      <p>
  *                                                  The id of the campaign.<br>
  * @param {String} pCondition (optional)            <p>
- *                                                  An condition which could used to<br>
- *                                                  limit the search result.<br>
+ *                                                  An condition which is used to limit the search contact results.<br>
  * @param {Boolean} pRightJoinContacts              <p>
  *                                                  Case if its true, a prefix will used<br>
  *                                                  to do a right join.<br>
@@ -540,11 +539,6 @@ CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCon
     else
         query.join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID");
     
-    if(pCondition != "")
-        subselect = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
-                        .from("CAMPAIGNPARTICIPANT")
-                        .where(pCondition);
-    
     query.join("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
         .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
         .where("CONTACT.CONTACTID",  
@@ -552,6 +546,10 @@ CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCon
             , SqlBuilder.NOT_IN()
         );
 
+    //pCondition is always a contact related condition string and not a campaignparticipant related condition
+    if(pCondition != "")
+        query.and(pCondition);
+
     return query.arrayColumn();
 }
 
-- 
GitLab


From 398438af6a87d82c05f5e63d040685f39a91305b Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 6 Oct 2020 10:01:26 +0200
Subject: [PATCH 172/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Pool][Tic?=
 =?UTF-8?q?ketNr.:=201066739][Firma=20-=20Filter=20nach=20Englisch=20-=20F?=
 =?UTF-8?q?irmen,=20die=20noch=20nicht=20in=20Kampagne=20sind,=20werden=20?=
 =?UTF-8?q?nicht=20=C3=BCbernommen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../addparticipants/onActionProcess.js        | 12 +++----
 .../addparticipants/stateProcess.js           |  9 ++++-
 .../valueProcess.js                           |  6 ++--
 process/Campaign_lib/process.js               | 33 ++++++++++---------
 4 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
index 6d4c28eb34..b2c37dfa07 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/onActionProcess.js
@@ -38,12 +38,12 @@ if (!vars.exists("$param.currentCampaignId_param") || !vars.get("$param.currentC
 function _handleCondition(pCampaignId, pTargetTableName, pCondition)
 {
     var contactIdsToHandle = [];
+    var contextComingFrom = "Person";
     
-    var useRightJoinToGetOrgs = "false";
     if(pTargetTableName == "ORGANISATION")
     {
-        useRightJoinToGetOrgs = "true";
-        pCondition += "  and PERSON.PERSONID is NULL"
+        pCondition += "  and PERSON.PERSONID is NULL";
+        contextComingFrom = "Organisation";
     }
         
     /*
@@ -55,10 +55,10 @@ function _handleCondition(pCampaignId, pTargetTableName, pCondition)
      */
     if(isUpdate == "true")
     {
-        contactIdsToHandle = CampaignUtils.GetContactIdsInCampaignByCondition(pCampaignId, pCondition, useRightJoinToGetOrgs)
+        contactIdsToHandle = CampaignUtils.GetContactIdsInCampaignByCondition(pCampaignId, pCondition);
     }
     else
-        contactIdsToHandle = CampaignUtils.GetContactIdsNotInCampaignByCondition(pCampaignId, pCondition, useRightJoinToGetOrgs);
+        contactIdsToHandle = CampaignUtils.GetContactIdsNotInCampaignByCondition(pCampaignId, pCondition, contextComingFrom);
     
     _handleRowIds(contactIdsToHandle, pCampaignId);
 }
@@ -169,6 +169,4 @@ function _handleRowIds(pParticipantRowIds, pCampaignId)
     
     if(logArray.length > 0)
         db.inserts(logArray);
-
-    neon.refreshAll();
 }
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/stateProcess.js b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/stateProcess.js
index be5aec2ba0..8271cfcda5 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/addparticipants/stateProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/addparticipants/stateProcess.js
@@ -5,4 +5,11 @@ import("system.vars");
 if (vars.get("$sys.validationerrors"))
     result.string(neon.COMPONENTSTATE_DISABLED);
 else
-    result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
+{
+    var contactCount = JSON.parse(vars.get("$field.campaignparticipantContactIds")).length;
+    if (contactCount == 0)
+        result.string(neon.COMPONENTSTATE_DISABLED);
+    else
+        result.string(neon.COMPONENTSTATE_EDITABLE);
+}
+    
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
index cb25278a4a..ff279849ce 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
@@ -22,14 +22,14 @@ if(vars.get("$field.CAMPAIGN_ID"))
         else if(comingfrom == "Person")
             filteredContactIds = FilterViewActionUtils.contactIdsFilter(selection)
         
-        contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), selection);
+        contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), selection, comingfrom);
     }
     else if(isUpdate)
     {
-        
         if (vars.get("$param.campaignParticipantsCondition_param"))
         {
-            contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition, false);
+            var contactFilterCondition = JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition;
+            contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), contactFilterCondition, comingfrom);
         } 
         else
         {
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index be0fe84ca4..7c893948d7 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -521,30 +521,34 @@ CampaignUtils.GetContactIdsNotInCampaignByRowIds = function(pCampaignId, pPartic
  *                                                  The id of the campaign.<br>
  * @param {String} pCondition (optional)            <p>
  *                                                  An condition which is used to limit the search contact results.<br>
- * @param {Boolean} pRightJoinContacts              <p>
- *                                                  Case if its true, a prefix will used<br>
- *                                                  to do a right join.<br>
+  * @param {String} [pOrigin=Organisation]          <br/>
+ *                                                  id from which context we are coming from, e.g. "Person"
  * @return {String[]}                               <p>
  *                                                  The contact ids they arent in the campaign.<br>                                                                                                                                                    
  */
-CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCondition, pRightJoinContacts)
+CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCondition, pOrigin)
 {
-    let query = newSelect("CONTACT.CONTACTID").from("PERSON");
+    var origin = pOrigin || "Organisation";
+    //subselect for excluding entries that are already in the campaign
     var subselect = newSelect("CAMPAIGNPARTICIPANT.CONTACT_ID")
-                        .from("CAMPAIGNPARTICIPANT")
-                        .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId);
-    
-    if (pRightJoinContacts == "true")
-        query.rightJoin("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID");
-    else
-        query.join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID");
+        .from("CAMPAIGNPARTICIPANT")
+        .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", pCampaignId);
     
+    var query = newSelect("CONTACT.CONTACTID")
+                    .from("CONTACT");
+
+    if (origin == "Person")
+       query.leftJoin("PERSON", "CONTACT.PERSON_ID = PERSON.PERSONID");
+
     query.join("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
         .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
         .where("CONTACT.CONTACTID",  
             subselect
             , SqlBuilder.NOT_IN()
         );
+            
+     if (origin == "Organisation")
+         query.and("CONTACT.PERSON_ID is null");
 
     //pCondition is always a contact related condition string and not a campaignparticipant related condition
     if(pCondition != "")
@@ -562,14 +566,11 @@ CampaignUtils.GetContactIdsNotInCampaignByCondition = function(pCampaignId, pCon
  * @param {String} pCondition                       <p>
  *                                                  The condition which shall be used, to<br>
  *                                                  limit the search result.<br>
- * @param {Boolean} [pRightJoinContacts=false]      <p>
- *                                                  Currently not used.<br>
- *                                                  <p>
  * @return {String[]}                               <p>
  *                                                  The contact ids which are in the given<br>
  *                                                  campaign.<br>                                                                                                  
  */
-CampaignUtils.GetContactIdsInCampaignByCondition = function(pCampaignId, pCondition, pRightJoinContacts)
+CampaignUtils.GetContactIdsInCampaignByCondition = function(pCampaignId, pCondition)
 {
     let query = newSelect("CONTACT.CONTACTID").from("CONTACT");
     
-- 
GitLab


From e41a22f1bcd43429cc11a689f37229213ad6d013 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 6 Oct 2020 10:51:36 +0200
Subject: [PATCH 173/251] AttributeTypes in Attribute_lib improved

---
 process/Attribute_lib/process.js | 245 +++++++++++++++++--------------
 1 file changed, 134 insertions(+), 111 deletions(-)

diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
index 5e0df4bb1e..a8f5e70540 100644
--- a/process/Attribute_lib/process.js
+++ b/process/Attribute_lib/process.js
@@ -1,4 +1,4 @@
-import("system.logging");
+import("Util_lib");
 import("Employee_lib");
 import("KeywordData_lib");
 import("Context_lib");
@@ -72,7 +72,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
                         .from("AB_ATTRIBUTE")
                         .join("AB_ATTRIBUTEUSAGE", "AB_ATTRIBUTEID = AB_ATTRIBUTE_ID")
                         .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
-                        .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                        .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
                         .and("ATTRIBUTE_ACTIVE = 1");
 
     if (pAttributeCount)
@@ -96,7 +96,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
     }
 
     if (!pIncludeGroups)
-        attrSelect.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP, SqlBuilder.NOT_EQUAL());
+        attrSelect.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.GROUP, SqlBuilder.NOT_EQUAL());
     
     var attributes = attrSelect.table();
     
@@ -110,7 +110,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
         }, parentIds);
         attributes = attributes.filter(function (attribute)
         {
-            return attribute[2].trim() != $AttributeTypes.GROUP || this[attribute[0]];
+            return attribute[2].trim() != AttributeTypes.GROUP || this[attribute[0]];
         }, parentIds);
     }
     
@@ -149,12 +149,12 @@ AttributeUtil.getPossibleListValues = function (pAttributeId, pAttributeType, pI
     var attributeId = pAttributeId;
     var attrType = pAttributeType.trim();
     var onlyActives = !pIncludeInactives;
-    if (attrType == $AttributeTypes.COMBO.toString())
+    if (attrType == AttributeTypes.COMBO())
     {
         var valuesSelect = newSelect("AB_ATTRIBUTEID, ATTRIBUTE_NAME")
                                 .from("AB_ATTRIBUTE")
                                 .where("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attributeId)
-                                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE);
+                                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE);
                                 
         if (onlyActives)
             valuesSelect.and("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1");
@@ -168,14 +168,14 @@ AttributeUtil.getPossibleListValues = function (pAttributeId, pAttributeType, pI
         }
         return valueList;
     }
-    else if (attrType == $AttributeTypes.BOOLEAN.toString())
+    else if (attrType == AttributeTypes.BOOLEAN())
     {
         return [
             ["1", translate.text("Yes")],
             ["0", translate.text("No")]
             ];
     }
-    else if (attrType == $AttributeTypes.KEYWORD.toString())
+    else if (attrType == AttributeTypes.KEYWORD())
     {
         var attrKeyword = newSelect("DROPDOWNDEFINITION")
                                 .from("AB_ATTRIBUTE")
@@ -185,7 +185,7 @@ AttributeUtil.getPossibleListValues = function (pAttributeId, pAttributeType, pI
         var keywords = KeywordData.getSimpleData(attrKeyword, null, onlyActives);
         return keywords;
     }
-    else if (attrType == $AttributeTypes.OBJECTSELECTION)
+    else if (attrType == AttributeTypes.OBJECTSELECTION())
     {
         var [module, filter] = newSelect("DROPDOWNDEFINITION, DROPDOWNFILTER")
                                     .from("AB_ATTRIBUTE")
@@ -393,8 +393,8 @@ AttributeUtil.hasAttributes = function (pObjectType)
                 .join("AB_ATTRIBUTE", "AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID")
                 .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
                 .and("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1")
-                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
-                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP, SqlBuilder.NOT_EQUAL())
+                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
+                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.GROUP(), SqlBuilder.NOT_EQUAL())
                 .cell() != "0"; //TODO: is there a way exists could be used?
 }
 
@@ -462,7 +462,7 @@ AttributeRelationUtils.getAttributeSqlBuilder = function (pFields, pObjectRowId,
     return newSelect(pFields)
                 .from("AB_ATTRIBUTERELATION")
                 .join("AB_ATTRIBUTE", "AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID")
-                .leftJoin("AB_ATTRIBUTE COMBOVAL", $AttributeTypes.COMBO.databaseField + " = COMBOVAL.AB_ATTRIBUTEID")
+                .leftJoin("AB_ATTRIBUTE COMBOVAL", AttributeTypes.COMBO.databaseField + " = COMBOVAL.AB_ATTRIBUTEID")
                 .whereIfSet("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId)
                 .andIfSet("AB_ATTRIBUTERELATION.OBJECT_TYPE", pObjectType);
 }
@@ -542,7 +542,7 @@ AttributeRelationUtils.selectAttributeValue = function (pAttributeId, pValueMap,
     var value = pValueMap[field];
     if(value == undefined)
         return "";
-    if (pGetViewValue && type[0] == $AttributeTypes.COMBO)
+    if (pGetViewValue && type[0] == AttributeTypes.COMBO())
     {
         value = newSelect("ATTRIBUTE_NAME")
                     .from("AB_ATTRIBUTE")
@@ -597,8 +597,8 @@ AttributeRelationUtils.presetMandatoryAttributes = function (pObjectType, pConsu
                                     .from("AB_ATTRIBUTEUSAGE")
                                     .join("AB_ATTRIBUTE", "AB_ATTRIBUTE_ID = AB_ATTRIBUTEID")
                                     .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
-                                    .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
-                                    .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP, SqlBuilder.NOT_EQUAL())
+                                    .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
+                                    .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.GROUP(), SqlBuilder.NOT_EQUAL())
                                     .and("ATTRIBUTE_ACTIVE = 1")
                                     .and("MIN_COUNT > 0");
                                     
@@ -814,36 +814,48 @@ AttributeRelationUtils.countAttributeRelations = function (pRowId, pObjectType,
  * 
  * optional:
  * getViewValue = function that gets the display value for a given value
- * isGroup = if true, the attribute can have children
  * getDropDownDefinitions = function that returns an array of possible values
  *          for DROPDOWNDEFINITION
  * singleSelection = if true, the maximal usage count is always 1
  * 
  * The display name is controlled by the keyword 'AttributeType'
  */
-function $AttributeTypes () {}
-
-$AttributeTypes.TEXT = { 
-    toString : function () {return "TEXT";},
-    contentType : "TEXT", 
-    databaseField : "CHAR_VALUE"
-};
-$AttributeTypes.DATE = {
-    toString : function () {return "DATE";},
-    contentType : "DATE", 
-    databaseField : "DATE_VALUE",
-    getViewValue : function (pValue)
-        {
-            return datetime.toDate(pValue, translate.text("dd.MM.yyyy"));
-        }
-};
-$AttributeTypes.NUMBER = {
-    toString : function () {return  "NUMBER";},
+function AttributeTypes () {}
+
+AttributeTypes.TEXT = function () {return "TEXT";}
+AttributeTypes.DATE = function () {return "DATE";}
+AttributeTypes.NUMBER = function () {return "NUMBER";}
+AttributeTypes.BOOLEAN = function () {return "BOOLEAN";}
+AttributeTypes.COMBO = function () {return "COMBO";}
+AttributeTypes.COMBOVALUE = function () {return "COMBOVALUE";}
+AttributeTypes.GROUP = function () {return "GROUP";} 
+AttributeTypes.KEYWORD = function () {return "KEYWORD";}
+AttributeTypes.VOID = function () {return "VOID";}
+AttributeTypes.MEMO = function () {return "MEMO";}
+AttributeTypes.OBJECTSELECTION = function () {return "OBJECTSELECTION";}
+AttributeTypes.THEME = function () {return "THEME";}
+
+Object.assign(AttributeTypes.TEXT, {
+    toString: function () {return this();},
+    contentType: "TEXT",
+    databaseField: "CHAR_VALUE"
+});
+Object.assign(AttributeTypes.DATE, {
+    toString: function () {return this();},
+    contentType: "DATE", 
+    databaseField: "DATE_VALUE",
+    getViewValue: function (pValue)
+    {
+        return datetime.toDate(pValue, translate.text("dd.MM.yyyy"));
+    }
+});
+Object.assign(AttributeTypes.NUMBER, {
+    toString: function () {return this();},
     contentType : "NUMBER", 
     databaseField : "NUMBER_VALUE"
-};
-$AttributeTypes.BOOLEAN = {
-    toString : function () {return "BOOLEAN";},
+});
+Object.assign(AttributeTypes.BOOLEAN, {
+    toString: function () {return this();},
     contentType : "BOOLEAN", 
     databaseField : "INT_VALUE",
     singleSelection : true,
@@ -851,38 +863,48 @@ $AttributeTypes.BOOLEAN = {
         {
             return pValue == "1" ? translate.text("Yes") : translate.text("No");
         }
-};
-$AttributeTypes.COMBO = {
-    toString : function () {return "COMBO";},
+});
+Object.assign(AttributeTypes.COMBO, {
+    toString: function () {return this();},
     contentType : "UNKNOWN",
     databaseField : "ID_VALUE",
-    isGroup : true,
-    possibleChildren : ["COMBOVALUE"],
+    possibleChildren : [AttributeTypes.COMBOVALUE()],
     //in most cases the view value of this attribute type is loaded via a direct sql join for less queries and better performance
     getViewValue : function (pValue)
         {
             var viewValue = newSelect("AB_ATTRIBUTE.ATTRIBUTE_NAME")
                 .from("AB_ATTRIBUTE")
                 .where("AB_ATTRIBUTE.AB_ATTRIBUTEID", pValue)
-                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE)
+                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE())
                 .cell();
             return viewValue ? translate.text(viewValue) : viewValue;
         }
-};
-$AttributeTypes.COMBOVALUE = {
-    toString : function () {return "COMBOVALUE";},
+});
+Object.assign(AttributeTypes.COMBOVALUE, {
+    toString: function () {return this();},
     contentType : null, 
     databaseField : null
-};
-$AttributeTypes.GROUP = {
-    toString : function () {return "GROUP";},
+});
+Object.assign(AttributeTypes.GROUP, {
+    toString: function () {return this();},
     contentType : null, 
     databaseField : null,
-    isGroup : true,
-    possibleChildren : ["GROUP", "TEXT", "NUMBER", "COMBO", "VOID", "THEME", "KEYWORD", "OBJECTSELECTION", "MEMO", "DATE", "BOOLEAN"]
-};
-$AttributeTypes.KEYWORD = {
-    toString : function () {return "KEYWORD";},
+    possibleChildren : [
+        AttributeTypes.GROUP(), 
+        AttributeTypes.TEXT(), 
+        AttributeTypes.NUMBER(), 
+        AttributeTypes.COMBO(), 
+        AttributeTypes.VOID(), 
+        AttributeTypes.THEME(), 
+        AttributeTypes.KEYWORD(), 
+        AttributeTypes.OBJECTSELECTION(), 
+        AttributeTypes.MEMO(), 
+        AttributeTypes.DATE(), 
+        AttributeTypes.BOOLEAN()
+    ]
+});
+Object.assign(AttributeTypes.KEYWORD, {
+    toString: function () {return this();},
     contentType : "UNKNOWN", 
     databaseField : "ID_VALUE", 
     getViewValue : function (pValue, pKeyword)
@@ -896,22 +918,21 @@ $AttributeTypes.KEYWORD = {
                 return [e, e];//currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
             });
         }
-};
-$AttributeTypes.VOID = {
-    toString : function () {return "VOID";},
+});
+Object.assign(AttributeTypes.VOID, {
+    toString: function () {return this();},
     contentType : null,
     databaseField : null,
-    isGroup : true,
-    possibleChildren : ["VOID"],
+    possibleChildren : [AttributeTypes.VOID()],
     singleSelection : true
-};
-$AttributeTypes.MEMO = { 
-    toString : function () {return "MEMO";},
+});
+Object.assign(AttributeTypes.MEMO, {
+    toString: function () {return this();},
     contentType : "LONG_TEXT", 
     databaseField : "CHAR_VALUE"
-};
-$AttributeTypes.OBJECTSELECTION = {
-    toString : function () {return "OBJECTSELECTION";},
+});
+Object.assign(AttributeTypes.OBJECTSELECTION, {
+    toString: function () {return this();},
     contentType : "UNKNOWN",
     databaseField : "ID_VALUE",
     getViewValue : function (pValue, pModule)
@@ -938,45 +959,47 @@ $AttributeTypes.OBJECTSELECTION = {
             project.getDataModels(project.DATAMODEL_KIND_ENTITY).forEach(
                 function (entity)
                 {
-                    if (entity[1] && $AttributeTypes.OBJECTSELECTION._selectableEntities[entity[0]])
+                    if (entity[1] && AttributeTypes.OBJECTSELECTION._selectableEntities.has(entity[0]))
                         dropDownList.push([entity[0], translate.text(entity[1])]);
                 }
             );
             return dropDownList;
         },
     /** @private */
-    _selectableEntities : {
-        "ObjectRelationType_entity" : true,
-        "DocumentTemplate_entity" : true,
-        "SupportTicket_entity" : true,
-        "Organisation_entity" : true,
-        "Salesproject_entity" : true,
-        "Productprice_entity" : true,
-        "SerialLetter_entity" : true,
-        "AnyContact_entity" : true,
-        "Salutation_entity" : true,
-        "Attribute_entity" : true,
-        "Activity_entity" : true,
-        "Contract_entity" : true,
-        "Campaign_entity" : true,
-        "BulkMail_entity" : true,
-        "Employee_entity" : true,
-        "Language_entity" : true,
-        "Product_entity" : true,
-        "Person_entity" : true,
-        "Offer_entity" : true,
-        "Order_entity" : true,
-        "Task_entity" : true,
-        "Role_entity" : true
-    }
-};
-$AttributeTypes.THEME = {
-    toString : function () {return "THEME";},
+    _selectableEntities : new Set([
+        "ObjectRelationType_entity",
+        "DocumentTemplate_entity",
+        "SupportTicket_entity",
+        "Organisation_entity",
+        "Salesproject_entity",
+        "Productprice_entity",
+        "SerialLetter_entity",
+        "AnyContact_entity",
+        "Salutation_entity",
+        "Attribute_entity",
+        "Activity_entity",
+        "Contract_entity",
+        "Campaign_entity",
+        "BulkMail_entity",
+        "Employee_entity",
+        "Language_entity",
+        "Product_entity",
+        "Person_entity",
+        "Offer_entity",
+        "Order_entity",
+        "Task_entity",
+        "Role_entity"
+    ])
+});
+Object.assign(AttributeTypes.THEME, {
+    toString: function () {return this();},
     contentType : "LONG_TEXT",
     databaseField : "CHAR_VALUE",
-    isGroup : true,
-    possibleChildren : ["THEME"]
-};
+    possibleChildren : [AttributeTypes.THEME()]
+});
+
+//reference for compatibility with old name
+var $AttributeTypes = AttributeTypes;
 
 function AttributeTypeUtil () {}
 
@@ -1005,7 +1028,7 @@ AttributeTypeUtil.getContentType = function (pAttributeType)
  */
 AttributeTypeUtil.isGroupType = function (pAttributeType)
 {
-    return AttributeTypeUtil._getProperty(pAttributeType, "isGroup", false);
+    return !Utils.isNullOrEmpty(AttributeTypeUtil.getPossibleChildren(pAttributeType));
 }
 
 /**
@@ -1069,7 +1092,7 @@ AttributeTypeUtil.isSingleSelection = function (pAttributeType)
  */
 AttributeTypeUtil.useLookup = function (pAttributeType)
 {
-    return pAttributeType.trim() == $AttributeTypes.OBJECTSELECTION.toString();
+    return pAttributeType.trim() == AttributeTypes.OBJECTSELECTION();
 }
 
 /**
@@ -1085,7 +1108,7 @@ AttributeTypeUtil.useLookup = function (pAttributeType)
 AttributeTypeUtil.getGroupTypes = function (pChildType)
 {
     var groupTypes = [];
-    for (let type in $AttributeTypes)
+    for (let type in AttributeTypes)
     {
         if (AttributeTypeUtil.isGroupType(type) && (!pChildType || (!AttributeTypeUtil.getPossibleChildren(type) || AttributeTypeUtil.getPossibleChildren(type).indexOf(pChildType) !== -1)) )
             groupTypes.push(type);
@@ -1106,7 +1129,7 @@ AttributeTypeUtil.getGroupTypes = function (pChildType)
  * @return                                  <p>
  *                                          Returns the property or null, when pAttributeType<br>
  *                                          isn't filled or the given attribute type isn't in<br>
- *                                          $AttributeTypes. Otherwise the pDefaultValue,<br>
+ *                                          AttributeTypes. Otherwise the pDefaultValue,<br>
  *                                          will be returned, case if it isn't undefined or null.<br>
  */
 AttributeTypeUtil._getProperty = function (pAttributeType, pPropertyName, pDefaultValue)
@@ -1115,9 +1138,9 @@ AttributeTypeUtil._getProperty = function (pAttributeType, pPropertyName, pDefau
         return null;
     
     pAttributeType = pAttributeType.trim();
-    if (pAttributeType in $AttributeTypes)
-        if (pPropertyName in $AttributeTypes[pAttributeType])
-            return $AttributeTypes[pAttributeType][pPropertyName];
+    if (pAttributeType in AttributeTypes)
+        if (pPropertyName in AttributeTypes[pAttributeType])
+            return AttributeTypes[pAttributeType][pPropertyName];
         else
             return pDefaultValue === undefined ? null : pDefaultValue;
         
@@ -1141,8 +1164,8 @@ AttributeTypeUtil._getProperty = function (pAttributeType, pPropertyName, pDefau
  */
 AttributeTypeUtil.getAttributeViewValue = function (pAttributeType, pValue, pKeyword)
 {
-    if (pAttributeType in $AttributeTypes && $AttributeTypes[pAttributeType].getViewValue)
-        return $AttributeTypes[pAttributeType].getViewValue(pValue, pKeyword);
+    if (pAttributeType in AttributeTypes && AttributeTypes[pAttributeType].getViewValue)
+        return AttributeTypes[pAttributeType].getViewValue(pValue, pKeyword);
     return pValue;
 }
 
@@ -1153,9 +1176,9 @@ AttributeTypeUtil._initTypeColumnData = function ()
 {
     var columns = [];
     var typeColumnMap = {};
-    for (let type in $AttributeTypes)
+    for (let type in AttributeTypes)
     {
-        type = $AttributeTypes[type];
+        type = AttributeTypes[type];
         if (type.databaseField)
         {
             var typeKey = type.toString();
@@ -1237,7 +1260,7 @@ AttributeUsageUtil.insertChildrenUsages = function (pAttributeId, pObjectType)
                                     .where("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID")
                                     .and("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)])
                             .from("AB_ATTRIBUTE")
-                            .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                            .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
                             .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId)
                             .table();
 
@@ -1300,7 +1323,7 @@ AttributeUsageUtil.updateChildrenUsages = function (pAttributeId, pOldObjectType
     function _addUpdateIds (pAttributeId)
     {
         sqlSelect.clearWhere()
-                 .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                 .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
                  .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId);
 
         var attributes = sqlSelect.table();
@@ -1340,7 +1363,7 @@ AttributeUsageUtil.deleteChildrenUsages = function (pAttributeId, pObjectType)
     function _addDeleteIds (pAttributeId)
     {
         attributeSelect.clearWhere()
-                       .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                       .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
                        .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId);
         var attributes = attributeSelect.table();
         
@@ -1571,7 +1594,7 @@ AttributeRelationQuery.prototype.getAttributes = function ()
         
         if (this._includeDisplayValue)
         {
-            if (row[0].trim() == $AttributeTypes.COMBO)
+            if (row[0].trim() == AttributeTypes.COMBO)
                 attrObj.displayValue = translate.text(row[3]);
             else
                 attrObj.displayValue = AttributeTypeUtil.getAttributeViewValue(row[0].trim(), attrObj.value, row[1]);
-- 
GitLab


From 589ff256777f34db15f2364c98cea428526794b7 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 6 Oct 2020 11:21:13 +0200
Subject: [PATCH 174/251] Usages of AttributeTypes changed to new syntax

---
 .../ab_attribute_id/onValidation.js           |  2 +-
 .../recordcontainers/jdito/contentProcess.js  | 10 +-
 entity/Attribute_entity/Attribute_entity.aod  |  2 +
 entity/Attribute_entity/afterUiInit.js        |  2 +-
 entity/Attribute_entity/documentation.adoc    |  2 +-
 .../attribute_parent_id/stateProcess.js       |  2 +-
 .../disablemincount_param/valueProcess.js     |  2 +-
 .../attributeusages/stateProcess.js           |  2 +-
 .../dropdowndefinition/dropDownProcess.js     |  2 +-
 .../dropdowndefinition/placeholderProcess.js  |  7 +-
 .../dropdowndefinition/stateProcess.js        |  2 +-
 .../dropdowndefinition/titleProcess.js        |  7 +-
 .../dropdowndefinition/valueProcess.js        |  2 +-
 .../dropdownfilter/stateProcess.js            |  2 +-
 .../dropdownfilter/valueProcess.js            |  2 +-
 .../whitelistids_param/valueProcess.js        |  2 +-
 .../recordcontainers/jdito/contentProcess.js  |  4 +-
 .../recordcontainers/jdito/onInsert.js        |  2 +-
 .../recordcontainers/db/conditionProcess.js   |  2 +-
 .../recordcontainers/db/conditionProcess.js   |  2 +-
 process/AttributeFilter_lib/process.js        | 12 +--
 process/Attribute_lib/process.js              | 99 +++++++++++--------
 .../ImporterMappingFunctions_lib/process.js   | 12 +--
 .../serviceTaskParameterProcess.js            |  4 +-
 process/Util_lib/Util_lib.aod                 |  1 +
 process/_test_importer/process.js             | 38 +++----
 26 files changed, 118 insertions(+), 108 deletions(-)

diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValidation.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValidation.js
index 5f316e6a87..9dbc7c5c1d 100644
--- a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValidation.js
+++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValidation.js
@@ -4,5 +4,5 @@ import("system.result");
 import("system.vars");
 
 var attributeId = vars.get("$local.value");
-if (AttributeUtil.getAttributeType(attributeId) == $AttributeTypes.GROUP)
+if (AttributeUtil.getAttributeType(attributeId) == AttributeTypes.GROUP())
     result.string(translate.text("Attribute groups can't be selected"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
index 97c8e742a9..b5337ee20f 100644
--- a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
@@ -15,9 +15,9 @@ if (idvalues)
 
 var typeWhitelist, typeBlacklist;
 if (vars.getString("$param.GetTheme_param") == "true")
-    typeWhitelist = [$AttributeTypes.THEME.toString()];
+    typeWhitelist = [AttributeTypes.THEME()];
 else
-    typeBlacklist = [$AttributeTypes.THEME.toString()];
+    typeBlacklist = [AttributeTypes.THEME()];
     
 var loadEmptyAttributes = vars.getString("$param.ShowEmpty_param") == "true";
 var filteredAttributeIds = vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param");
@@ -78,7 +78,7 @@ var attributeQueryMaker = {
             if (attributeChildren.length > 0)
             {
                 attributeIdCondition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID", attributeChildren, SqlBuilder.IN())
-                attributeIdCondition.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL());
+                attributeIdCondition.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL());
             }
 
             // return nothing if filteredAttributeIds is an empty array. (--> and 1=2)
@@ -119,7 +119,7 @@ var attributeQueryMaker = {
         else
             attributeQuery.join("AB_ATTRIBUTERELATION", attributeRelationCond);
 
-        attributeQuery.leftJoin("AB_ATTRIBUTE", "COMBOVAL.AB_ATTRIBUTEID = " + $AttributeTypes.COMBO.databaseField, "COMBOVAL");
+        attributeQuery.leftJoin("AB_ATTRIBUTE", "COMBOVAL.AB_ATTRIBUTEID = " + AttributeTypes.COMBO.databaseField, "COMBOVAL");
         
         return attributeQuery;
     }
@@ -174,7 +174,7 @@ attributeRelations = attributeRelations.map(function (row)
     }
     var value = row[AttributeTypeUtil.getTypeColumnIndex(attrType) + attributeQueryMaker.defaultQueryFields.length];
     var viewValue;
-    if (attrType == $AttributeTypes.COMBO)
+    if (attrType == AttributeTypes.COMBO())
         viewValue = translate.text(comboViewVal);
     else 
         viewValue = AttributeTypeUtil.getAttributeViewValue(attrType, value, dropDownDef);
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index 6f00c57a63..16498580ba 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -4,6 +4,8 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Attribute_entity/documentation.adoc</documentation>
   <title>Attribute</title>
+  <grantCreateProcess>%aditoprj%/entity/Attribute_entity/grantCreateProcess.js</grantCreateProcess>
+  <grantUpdateProcess>%aditoprj%/entity/Attribute_entity/grantUpdateProcess.js</grantUpdateProcess>
   <grantDeleteProcess>%aditoprj%/entity/Attribute_entity/grantDeleteProcess.js</grantDeleteProcess>
   <contentTitleProcess>%aditoprj%/entity/Attribute_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Attribute_entity/afterUiInit.js</afterUiInit>
diff --git a/entity/Attribute_entity/afterUiInit.js b/entity/Attribute_entity/afterUiInit.js
index 70936b24c9..6b8fdf31cc 100644
--- a/entity/Attribute_entity/afterUiInit.js
+++ b/entity/Attribute_entity/afterUiInit.js
@@ -7,7 +7,7 @@ import("Context_lib");
 import("Attribute_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW 
-    && vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE
+    && vars.get("$field.ATTRIBUTE_TYPE").trim() != AttributeTypes.COMBOVALUE()
     && vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param"))
 {
     var parentId = vars.get("$param.AttrParentId_param");
diff --git a/entity/Attribute_entity/documentation.adoc b/entity/Attribute_entity/documentation.adoc
index b51e812c57..c2d554f9f4 100644
--- a/entity/Attribute_entity/documentation.adoc
+++ b/entity/Attribute_entity/documentation.adoc
@@ -19,7 +19,7 @@ while an AttributeRelation represents the value set for one attribute and datase
 == Attribute types
 
 There are different types of attributes that can hold different kinds of values, like text, dates or numbers. Besides these also exist special types like groups, selections or
-object selections. These types are defined by the keyword "AttributeType". Behind every keyword entry of that keyword lies an entry in the object "$AttributeTypes" in the Attribute_lib,
+object selections. These types are defined by the keyword "AttributeType". Behind every keyword entry of that keyword lies an entry in the object "AttributeTypes" in the Attribute_lib,
 where properties such as the content type, the database field to store the value or other special properties are defined. In that library there also are functions to get these properties
 in AttributeTypeUtil. This logic makes it possible to handle attributes in the code in a generic way. Because of this, new attribute types could be added without
 too much effort.
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_parent_id/stateProcess.js b/entity/Attribute_entity/entityfields/attribute_parent_id/stateProcess.js
index 436eee50e0..cc791cbd80 100644
--- a/entity/Attribute_entity/entityfields/attribute_parent_id/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/attribute_parent_id/stateProcess.js
@@ -4,7 +4,7 @@
 //import("Attribute_lib");
 //
 //var fieldState;
-//if(vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.COMBOVALUE)
+//if(vars.get("$field.ATTRIBUTE_TYPE").trim() == AttributeTypes.COMBOVALUE())
 //    fieldState = neon.COMPONENTSTATE_READONLY;
 //else
 //    fieldState = neon.COMPONENTSTATE_AUTO;
diff --git a/entity/Attribute_entity/entityfields/attributeusages/children/disablemincount_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributeusages/children/disablemincount_param/valueProcess.js
index 633db40576..4d7f516bc8 100644
--- a/entity/Attribute_entity/entityfields/attributeusages/children/disablemincount_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attributeusages/children/disablemincount_param/valueProcess.js
@@ -3,4 +3,4 @@ import("system.result");
 import("Attribute_lib")
 
 var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-result.string(type == $AttributeTypes.VOID);
\ No newline at end of file
+result.string(type == AttributeTypes.VOID());
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributeusages/stateProcess.js b/entity/Attribute_entity/entityfields/attributeusages/stateProcess.js
index ce839fd256..f5ca4e1bae 100644
--- a/entity/Attribute_entity/entityfields/attributeusages/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/attributeusages/stateProcess.js
@@ -4,7 +4,7 @@ import("system.vars");
 import("Attribute_lib");
 
 var state = neon.COMPONENTSTATE_EDITABLE;
-if (vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.COMBOVALUE)
+if (vars.get("$field.ATTRIBUTE_TYPE").trim() == AttributeTypes.COMBOVALUE())
     state = neon.COMPONENTSTATE_INVISIBLE;
 
 result.string(state);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
index 2ac4fdfe74..1888819bd7 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
@@ -7,7 +7,7 @@ import("Attribute_lib");
 
 var res = [];
 var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-var getDropDownFn = type && $AttributeTypes[type] && $AttributeTypes[type].getDropDownDefinitions;
+var getDropDownFn = type && AttributeTypes[type] && AttributeTypes[type].getDropDownDefinitions;
 if (getDropDownFn instanceof Function)
     res = getDropDownFn.call();
 result.object(res);
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js
index 7ef97b2dfa..ba378a119d 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js
@@ -1,11 +1,6 @@
 import("system.translate");
-import("system.neon");
 import("system.vars");
 import("system.result");
 import("Attribute_lib");
 
-var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-if (type == $AttributeTypes.KEYWORD)
-    result.string(translate.text("Keyword"));
-else if (type == $AttributeTypes.OBJECTSELECTION)
-    result.string(translate.text("Module"));
+result.string(translate.text(AttributeTypeUtil.getDropDownDefinitionTitle(vars.get("$field.ATTRIBUTE_TYPE"))));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
index af384e2e38..7d54403831 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
@@ -5,7 +5,7 @@ import("Attribute_lib");
 
 var fieldState = neon.COMPONENTSTATE_INVISIBLE;
 var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-if (type && $AttributeTypes[type] && $AttributeTypes[type].getDropDownDefinitions)
+if (type && AttributeTypes[type] && AttributeTypes[type].getDropDownDefinitions)
 {
     if (AttributeUtil.hasRelations(vars.get("$field.UID")))
         fieldState = neon.COMPONENTSTATE_READONLY;
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/titleProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/titleProcess.js
index 7ef97b2dfa..ba378a119d 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/titleProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/titleProcess.js
@@ -1,11 +1,6 @@
 import("system.translate");
-import("system.neon");
 import("system.vars");
 import("system.result");
 import("Attribute_lib");
 
-var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-if (type == $AttributeTypes.KEYWORD)
-    result.string(translate.text("Keyword"));
-else if (type == $AttributeTypes.OBJECTSELECTION)
-    result.string(translate.text("Module"));
+result.string(translate.text(AttributeTypeUtil.getDropDownDefinitionTitle(vars.get("$field.ATTRIBUTE_TYPE"))));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/valueProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/valueProcess.js
index 009292106e..d44ff329df 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/valueProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("Attribute_lib");
 
 var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-if (type && $AttributeTypes[type] && typeof($AttributeTypes[type].getDropDownDefinitions) !== "function")
+if (type && AttributeTypes[type] && typeof(AttributeTypes[type].getDropDownDefinitions) !== "function")
     result.string("");
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdownfilter/stateProcess.js b/entity/Attribute_entity/entityfields/dropdownfilter/stateProcess.js
index 0d13ea84ec..699e137a8e 100644
--- a/entity/Attribute_entity/entityfields/dropdownfilter/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdownfilter/stateProcess.js
@@ -4,7 +4,7 @@ import("system.result");
 import("Attribute_lib");
 
 var fieldState = neon.COMPONENTSTATE_INVISIBLE;
-if (vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.OBJECTSELECTION)
+if (vars.get("$field.ATTRIBUTE_TYPE").trim() == AttributeTypes.OBJECTSELECTION())
     fieldState = neon.COMPONENTSTATE_EDITABLE;
 
 result.string(fieldState);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdownfilter/valueProcess.js b/entity/Attribute_entity/entityfields/dropdownfilter/valueProcess.js
index 1a58da7930..0e9d7f5b93 100644
--- a/entity/Attribute_entity/entityfields/dropdownfilter/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdownfilter/valueProcess.js
@@ -3,7 +3,7 @@ import("system.vars");
 import("system.result");
 import("Attribute_lib");
 
-if (vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.OBJECTSELECTION 
+if (vars.get("$field.ATTRIBUTE_TYPE").trim() == AttributeTypes.OBJECTSELECTION()
     && (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT))
 {
     var entity = vars.getString("$field.DROPDOWNDEFINITION");
diff --git a/entity/Attribute_entity/entityfields/keywordattributetypes/children/whitelistids_param/valueProcess.js b/entity/Attribute_entity/entityfields/keywordattributetypes/children/whitelistids_param/valueProcess.js
index 847edb2907..ab49a0100f 100644
--- a/entity/Attribute_entity/entityfields/keywordattributetypes/children/whitelistids_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/keywordattributetypes/children/whitelistids_param/valueProcess.js
@@ -12,7 +12,7 @@ if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.re
     else if (vars.get("$field.ATTRIBUTE_PARENT_ID"))
         type = AttributeUtil.getAttributeType(vars.get("$field.ATTRIBUTE_PARENT_ID"));
     else
-        type = $AttributeTypes.GROUP.toString(); //GROUP can have everything except COMBOVALUE as child
+        type = AttributeTypes.GROUP(); //GROUP can have everything except COMBOVALUE as child
     
     var possibleTypes = AttributeTypeUtil.getPossibleChildren(type);
     
diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
index 3979f5da0d..b3cebd1063 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
@@ -51,7 +51,7 @@ else if (objectType)  //if there's an objectType, it comes from the AttributeRel
         condition.noResult();
     else
         condition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID", ids, SqlBuilder.IN())
-            .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.THEME, !themeObjectRowId ? SqlBuilder.NOT_EQUAL() : undefined);
+            .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.THEME(), !themeObjectRowId ? SqlBuilder.NOT_EQUAL() : undefined);
 }
 else if (parentId)
 {
@@ -166,7 +166,7 @@ function _buildAttributeTable (pAttributes, pUsages)
     for (let i in rows)
     {
         let rowData = rows[i].data;
-        if (pUsages && rowData[7].trim() != $AttributeTypes.COMBOVALUE && i in pUsages)
+        if (pUsages && rowData[7].trim() != AttributeTypes.COMBOVALUE() && i in pUsages)
         {
             rowData[9] = pUsages[i].map(function (usage)
             {
diff --git a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
index 9678a3d086..0299b3290d 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
@@ -25,7 +25,7 @@ new SqlBuilder().insertFields({
     "SORTING" : sorting
 }, "AB_ATTRIBUTE");
 
-if (rowdata["ATTRIBUTE_PARENT_ID.value"] && rowdata["ATTRIBUTE_TYPE.value"] !== $AttributeTypes.COMBOVALUE.toString() && vars.get("$param.GetOnlyFirstLevelChildren_param"))
+if (rowdata["ATTRIBUTE_PARENT_ID.value"] && rowdata["ATTRIBUTE_TYPE.value"] !== AttributeTypes.COMBOVALUE() && vars.get("$param.GetOnlyFirstLevelChildren_param"))
 {
     var parentUsages = newSelect("OBJECT_TYPE")
         .from("AB_ATTRIBUTEUSAGE")
diff --git a/entity/Organisation_entity/recordcontainers/db/conditionProcess.js b/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
index 2891a3cdf0..7ef4fdefa4 100644
--- a/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
@@ -51,7 +51,7 @@ if (vars.exists("$param.OnlyOwnSupervised_param") && vars.get("$param.OnlyOwnSup
         .where("AB_ATTRIBUTERELATION.OBJECT_TYPE", ContextUtils.getCurrentContextId())
         .and("AB_ATTRIBUTERELATION.OBJECT_ROWID = CONTACT.CONTACTID")
         .and("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", $AttributeRegistry.responsibleADsupervisor())
-        .and("AB_ATTRIBUTERELATION." + $AttributeTypes.OBJECTSELECTION.databaseField, EmployeeUtils.sliceUserId(EmployeeUtils.getCurrentUserId())),
+        .and("AB_ATTRIBUTERELATION." + AttributeTypes.OBJECTSELECTION.databaseField, EmployeeUtils.sliceUserId(EmployeeUtils.getCurrentUserId())),
         SqlBuilder.EXISTS()
     );
 }
diff --git a/entity/Person_entity/recordcontainers/db/conditionProcess.js b/entity/Person_entity/recordcontainers/db/conditionProcess.js
index 105cede403..04f984cbc5 100644
--- a/entity/Person_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/conditionProcess.js
@@ -36,7 +36,7 @@ if (vars.exists("$param.OnlyOwnSupervised_param") && vars.get("$param.OnlyOwnSup
         .where("AB_ATTRIBUTERELATION.OBJECT_TYPE", ContextUtils.getCurrentContextId())
         .and("AB_ATTRIBUTERELATION.OBJECT_ROWID = CONTACT.CONTACTID")
         .and("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", $AttributeRegistry.responsibleADsupervisor())
-        .and("AB_ATTRIBUTERELATION." + $AttributeTypes.OBJECTSELECTION.databaseField, EmployeeUtils.sliceUserId(EmployeeUtils.getCurrentUserId())),
+        .and("AB_ATTRIBUTERELATION." + AttributeTypes.OBJECTSELECTION.databaseField, EmployeeUtils.sliceUserId(EmployeeUtils.getCurrentUserId())),
         SqlBuilder.EXISTS()
     );
 }
diff --git a/process/AttributeFilter_lib/process.js b/process/AttributeFilter_lib/process.js
index d70501cef8..e67a69bc2d 100644
--- a/process/AttributeFilter_lib/process.js
+++ b/process/AttributeFilter_lib/process.js
@@ -25,7 +25,7 @@ function AttributeSearchNameCoder(){}
  * 
  * @param {String} pUid                 <p/> attribute uid of the attribute that has to be encoded
  * @param {String} pAttributeType       <p/> attribute type of the attribute that has to be encoded 
- *                                      <br/> while you may able to specify any string, only values of $AttributeTypes.*** are useful
+ *                                      <br/> while you may able to specify any string, only values of AttributeTypes.*** are useful
  *                                      
  * @return {String}                     <p/> an encoded string of the given parametervalues 
  *                                      <br/> this is basically a serialized object which is base64 encoded
@@ -98,7 +98,7 @@ AttributeFilterExtensionMaker.getFilterFields = function(pObjectType)
         var attributeType = row["ATTRIBUTE_TYPE"];
         var contentType = AttributeTypeUtil.getContentType(attributeType);
         
-        if (attributeType.trim() == $AttributeTypes.VOID.toString())
+        if (attributeType.trim() == AttributeTypes.VOID())
         {
             contentType = "BOOLEAN";
         }
@@ -153,8 +153,8 @@ AttributeFilterExtensionMaker.getFilterValues = function(pFilter)
 
     var attributeId = name.id;
     var attrType = name.type;
-    if (attrType == $AttributeTypes.VOID.toString())
-        attrType = $AttributeTypes.BOOLEAN.toString();
+    if (attrType == AttributeTypes.VOID())
+        attrType = AttributeTypes.BOOLEAN();
     var res = AttributeUtil.getPossibleListValues(attributeId, attrType, true);
     if (res == null)
         res = [];
@@ -200,7 +200,7 @@ AttributeFilterExtensionMaker.getFilterCondition = function(pObjectType, pFilter
     var attributeId = name.id;
     var attributeType = name.type;
     
-    if (attributeType == $AttributeTypes.VOID.toString() || (attributeType == $AttributeTypes.BOOLEAN.toString() && (pOperatorName == "IS NOT NULL" || pOperatorName == "IS NULL")))
+    if (attributeType == AttributeTypes.VOID() || (attributeType == AttributeTypes.BOOLEAN() && (pOperatorName == "IS NOT NULL" || pOperatorName == "IS NULL")))
     {
         resSql = newSelect("count(*)")
             .from("AB_ATTRIBUTERELATION")
@@ -219,7 +219,7 @@ AttributeFilterExtensionMaker.getFilterCondition = function(pObjectType, pFilter
         var dbField = AttributeTypeUtil.getDatabaseField(name.type);
 
         var condition = pCondition;
-        if (attributeType == $AttributeTypes.BOOLEAN.toString())
+        if (attributeType == AttributeTypes.BOOLEAN())
             condition = newWhere(["AB_ATTRIBUTERELATION", dbField], SqlUtils.escapeVars(pRawValue), pOperatorName == "=" ? SqlBuilder.EQUAL() : SqlBuilder.NOT_EQUAL());
         else
         {
diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
index a8f5e70540..938efc9099 100644
--- a/process/Attribute_lib/process.js
+++ b/process/Attribute_lib/process.js
@@ -72,7 +72,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
                         .from("AB_ATTRIBUTE")
                         .join("AB_ATTRIBUTEUSAGE", "AB_ATTRIBUTEID = AB_ATTRIBUTE_ID")
                         .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
-                        .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                        .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
                         .and("ATTRIBUTE_ACTIVE = 1");
 
     if (pAttributeCount)
@@ -96,7 +96,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
     }
 
     if (!pIncludeGroups)
-        attrSelect.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.GROUP, SqlBuilder.NOT_EQUAL());
+        attrSelect.and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.GROUP(), SqlBuilder.NOT_EQUAL());
     
     var attributes = attrSelect.table();
     
@@ -110,7 +110,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
         }, parentIds);
         attributes = attributes.filter(function (attribute)
         {
-            return attribute[2].trim() != AttributeTypes.GROUP || this[attribute[0]];
+            return attribute[2].trim() != AttributeTypes.GROUP() || this[attribute[0]];
         }, parentIds);
     }
     
@@ -154,7 +154,7 @@ AttributeUtil.getPossibleListValues = function (pAttributeId, pAttributeType, pI
         var valuesSelect = newSelect("AB_ATTRIBUTEID, ATTRIBUTE_NAME")
                                 .from("AB_ATTRIBUTE")
                                 .where("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attributeId)
-                                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE);
+                                .and("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE());
                                 
         if (onlyActives)
             valuesSelect.and("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1");
@@ -851,26 +851,26 @@ Object.assign(AttributeTypes.DATE, {
 });
 Object.assign(AttributeTypes.NUMBER, {
     toString: function () {return this();},
-    contentType : "NUMBER", 
-    databaseField : "NUMBER_VALUE"
+    contentType: "NUMBER", 
+    databaseField: "NUMBER_VALUE"
 });
 Object.assign(AttributeTypes.BOOLEAN, {
     toString: function () {return this();},
-    contentType : "BOOLEAN", 
-    databaseField : "INT_VALUE",
-    singleSelection : true,
-    getViewValue : function (pValue)
+    contentType: "BOOLEAN", 
+    databaseField: "INT_VALUE",
+    singleSelection: true,
+    getViewValue: function (pValue)
         {
             return pValue == "1" ? translate.text("Yes") : translate.text("No");
         }
 });
 Object.assign(AttributeTypes.COMBO, {
     toString: function () {return this();},
-    contentType : "UNKNOWN",
-    databaseField : "ID_VALUE",
-    possibleChildren : [AttributeTypes.COMBOVALUE()],
+    contentType: "UNKNOWN",
+    databaseField: "ID_VALUE",
+    possibleChildren: [AttributeTypes.COMBOVALUE()],
     //in most cases the view value of this attribute type is loaded via a direct sql join for less queries and better performance
-    getViewValue : function (pValue)
+    getViewValue: function (pValue)
         {
             var viewValue = newSelect("AB_ATTRIBUTE.ATTRIBUTE_NAME")
                 .from("AB_ATTRIBUTE")
@@ -882,14 +882,14 @@ Object.assign(AttributeTypes.COMBO, {
 });
 Object.assign(AttributeTypes.COMBOVALUE, {
     toString: function () {return this();},
-    contentType : null, 
-    databaseField : null
+    contentType: null, 
+    databaseField: null
 });
 Object.assign(AttributeTypes.GROUP, {
     toString: function () {return this();},
-    contentType : null, 
-    databaseField : null,
-    possibleChildren : [
+    contentType: null, 
+    databaseField: null,
+    possibleChildren: [
         AttributeTypes.GROUP(), 
         AttributeTypes.TEXT(), 
         AttributeTypes.NUMBER(), 
@@ -905,13 +905,14 @@ Object.assign(AttributeTypes.GROUP, {
 });
 Object.assign(AttributeTypes.KEYWORD, {
     toString: function () {return this();},
-    contentType : "UNKNOWN", 
-    databaseField : "ID_VALUE", 
-    getViewValue : function (pValue, pKeyword)
+    contentType: "UNKNOWN", 
+    databaseField: "ID_VALUE", 
+    getViewValue: function (pValue, pKeyword)
         {
             return KeywordUtils.getViewValue(pKeyword, pValue);
         },
-    getDropDownDefinitions : function ()
+    dropDownDefinitionTitle: "Keyword",
+    getDropDownDefinitions: function ()
         {
             return KeywordUtils.getContainerNames().map(function (e)
             {
@@ -921,21 +922,21 @@ Object.assign(AttributeTypes.KEYWORD, {
 });
 Object.assign(AttributeTypes.VOID, {
     toString: function () {return this();},
-    contentType : null,
-    databaseField : null,
-    possibleChildren : [AttributeTypes.VOID()],
-    singleSelection : true
+    contentType: null,
+    databaseField: null,
+    possibleChildren: [AttributeTypes.VOID()],
+    singleSelection: true
 });
 Object.assign(AttributeTypes.MEMO, {
     toString: function () {return this();},
-    contentType : "LONG_TEXT", 
-    databaseField : "CHAR_VALUE"
+    contentType: "LONG_TEXT", 
+    databaseField: "CHAR_VALUE"
 });
 Object.assign(AttributeTypes.OBJECTSELECTION, {
     toString: function () {return this();},
-    contentType : "UNKNOWN",
-    databaseField : "ID_VALUE",
-    getViewValue : function (pValue, pModule)
+    contentType: "UNKNOWN",
+    databaseField: "ID_VALUE",
+    getViewValue: function (pValue, pModule)
         {
             if (pValue)
             {
@@ -952,7 +953,8 @@ Object.assign(AttributeTypes.OBJECTSELECTION, {
             }
             return pValue;
         },
-    getDropDownDefinitions : function ()
+    dropDownDefinitionTitle: "Module",
+    getDropDownDefinitions: function ()
         {
             // TODO: use loadEntity from context_entity
             var dropDownList = [];
@@ -966,7 +968,7 @@ Object.assign(AttributeTypes.OBJECTSELECTION, {
             return dropDownList;
         },
     /** @private */
-    _selectableEntities : new Set([
+    _selectableEntities: new Set([
         "ObjectRelationType_entity",
         "DocumentTemplate_entity",
         "SupportTicket_entity",
@@ -993,9 +995,9 @@ Object.assign(AttributeTypes.OBJECTSELECTION, {
 });
 Object.assign(AttributeTypes.THEME, {
     toString: function () {return this();},
-    contentType : "LONG_TEXT",
-    databaseField : "CHAR_VALUE",
-    possibleChildren : [AttributeTypes.THEME()]
+    contentType: "LONG_TEXT",
+    databaseField: "CHAR_VALUE",
+    possibleChildren: [AttributeTypes.THEME()]
 });
 
 //reference for compatibility with old name
@@ -1079,6 +1081,21 @@ AttributeTypeUtil.isSingleSelection = function (pAttributeType)
     return AttributeTypeUtil._getProperty(pAttributeType, "singleSelection", false);
 }
 
+/**
+ * Returns the title of the "dropDownDefinition"
+ * 
+ * @param {String} pAttributeType               <p>
+ *                                              The attribute type (use the values<br>
+ *                                              of the AttributeTypes object, e. g.<br>
+ *                                              AttributeTypes.TEXT)<br>
+ * @return {String}                           <p>
+ *                                              .<br>
+ */
+AttributeTypeUtil.getDropDownDefinitionTitle = function (pAttributeType)
+{
+    return AttributeTypeUtil._getProperty(pAttributeType, "dropDownDefinitionTitle", "");
+}
+
 /**
  * Compare the given pAttributeType with the attribute type string
  * "OBJECTSELECTION".
@@ -1260,7 +1277,7 @@ AttributeUsageUtil.insertChildrenUsages = function (pAttributeId, pObjectType)
                                     .where("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID")
                                     .and("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)])
                             .from("AB_ATTRIBUTE")
-                            .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                            .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
                             .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId)
                             .table();
 
@@ -1323,7 +1340,7 @@ AttributeUsageUtil.updateChildrenUsages = function (pAttributeId, pOldObjectType
     function _addUpdateIds (pAttributeId)
     {
         sqlSelect.clearWhere()
-                 .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                 .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
                  .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId);
 
         var attributes = sqlSelect.table();
@@ -1363,7 +1380,7 @@ AttributeUsageUtil.deleteChildrenUsages = function (pAttributeId, pObjectType)
     function _addDeleteIds (pAttributeId)
     {
         attributeSelect.clearWhere()
-                       .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE, SqlBuilder.NOT_EQUAL())
+                       .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.COMBOVALUE(), SqlBuilder.NOT_EQUAL())
                        .and("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId);
         var attributes = attributeSelect.table();
         
@@ -1594,7 +1611,7 @@ AttributeRelationQuery.prototype.getAttributes = function ()
         
         if (this._includeDisplayValue)
         {
-            if (row[0].trim() == AttributeTypes.COMBO)
+            if (row[0].trim() == AttributeTypes.COMBO())
                 attrObj.displayValue = translate.text(row[3]);
             else
                 attrObj.displayValue = AttributeTypeUtil.getAttributeViewValue(row[0].trim(), attrObj.value, row[1]);
diff --git a/process/ImporterMappingFunctions_lib/process.js b/process/ImporterMappingFunctions_lib/process.js
index a78f54d956..1598b0c0d1 100644
--- a/process/ImporterMappingFunctions_lib/process.js
+++ b/process/ImporterMappingFunctions_lib/process.js
@@ -112,9 +112,9 @@ function iAttribute(pObject)
     var valueColumn = "";
     var attributes = attribute.split(".");   
     var columns = [ab_attributeId, attribute_parent_id, attribute_name, attribute_type, attribute_active];
-    var type = $AttributeTypes.GROUP.toString();
+    var type = AttributeTypes.GROUP();
 
-    if ($AttributeTypes[attributeType] == undefined) 
+    if (AttributeTypes[attributeType] == undefined) 
     {
         this.writeLog(this.LogLevels.Error, "iAttribute: " + attributeType + " isn't a valid attribute type.");
         return false;
@@ -122,12 +122,12 @@ function iAttribute(pObject)
 
     switch (attributeType) 
     {
-        case $AttributeTypes.COMBO.toString():
-            valueColumn = $AttributeTypes[attributeType].databaseField;
-            type = $AttributeTypes.COMBO.toString();
+        case AttributeTypes.COMBO():
+            valueColumn = AttributeTypes[attributeType].databaseField;
+            type = AttributeTypes.COMBO();
             break;
         default:
-            valueColumn = $AttributeTypes[attributeType].databaseField;
+            valueColumn = AttributeTypes[attributeType].databaseField;
     }
 
     if (funcBuffer == undefined) funcBuffer = {childs: {}};
diff --git a/process/SetAttribute_workflowService/serviceTaskParameterProcess.js b/process/SetAttribute_workflowService/serviceTaskParameterProcess.js
index 6a32e4b765..118269c0c1 100644
--- a/process/SetAttribute_workflowService/serviceTaskParameterProcess.js
+++ b/process/SetAttribute_workflowService/serviceTaskParameterProcess.js
@@ -16,14 +16,14 @@ var currentValues = JSON.parse(vars.get("$local.value"));
 
 var allAttributes = newSelect("AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME, ATTRIBUTE_TYPE, ATTRIBUTE_ACTIVE")
     .from("AB_ATTRIBUTE")
-    .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.OBJECTSELECTION, SqlBuilder.NOT_EQUAL()) //these can't work yet
+    .where("AB_ATTRIBUTE.ATTRIBUTE_TYPE", AttributeTypes.OBJECTSELECTION(), SqlBuilder.NOT_EQUAL()) //these can't work yet
     .table();
 var attributeNameMap = {};
 var attributes = [];
 allAttributes.forEach(function ([attributeId, parentId, attributeName, attributeType, isActive])
 {
     attributeNameMap[attributeId] = [translate.text(attributeName), parentId];
-    if (isActive == "1" && attributeType != $AttributeTypes.GROUP && attributeType != $AttributeTypes.COMBOVALUE)
+    if (isActive == "1" && attributeType != AttributeTypes.GROUP() && attributeType != AttributeTypes.COMBOVALUE())
         attributes.push(attributeId);
 });
 attributes = attributes.map(function (attributeId)
diff --git a/process/Util_lib/Util_lib.aod b/process/Util_lib/Util_lib.aod
index 18ccba5128..6a28f6ac13 100644
--- a/process/Util_lib/Util_lib.aod
+++ b/process/Util_lib/Util_lib.aod
@@ -3,6 +3,7 @@
   <name>Util_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <process>%aditoprj%/process/Util_lib/process.js</process>
+  <alias>Data_alias</alias>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/_test_importer/process.js b/process/_test_importer/process.js
index 90df3ed16d..3eaad9708e 100644
--- a/process/_test_importer/process.js
+++ b/process/_test_importer/process.js
@@ -241,53 +241,53 @@ var fixtures = {
     iAttribute: {
         "insertAttributeNew": function() {
             return [
-                ["TestString", $AttributeTypes.TEXT.toString()],
-                ["TestCombo1.TestCombo2.TestCombo3", $AttributeTypes.COMBOVALUE.toString()],
-                ["TestBool", $AttributeTypes.BOOLEAN.toString()],
-                ["TestNum", $AttributeTypes.NUMBER.toString()]
+                ["TestString", AttributeTypes.TEXT()],
+                ["TestCombo1.TestCombo2.TestCombo3", AttributeTypes.COMBOVALUE()],
+                ["TestBool", AttributeTypes.BOOLEAN()],
+                ["TestNum", AttributeTypes.NUMBER()]
             ];
         },
         "insertAttributeUsage": function() {
             return [
-                ["TestUsage1", $AttributeTypes.NUMBER.toString(), "Organisation"],
-                ["TestUsage1", $AttributeTypes.NUMBER.toString(), "Person"]
+                ["TestUsage1", AttributeTypes.NUMBER(), "Organisation"],
+                ["TestUsage1", AttributeTypes.NUMBER(), "Person"]
             ];
         },
         "insertAttributeRelation": function() {
             return [
-                ["TestRel1", $AttributeTypes.TEXT.toString(), "Person", "666", "six hundred sixty six"],
-                ["TestRel1", $AttributeTypes.TEXT.toString(), "Person", "777", "seven hundred seventy seven"],
-                ["TestRel2", $AttributeTypes.NUMBER.toString(), "Organisation", "888", 888],
-                ["TestRel2", $AttributeTypes.NUMBER.toString(), "Organisation", "999", 999]
+                ["TestRel1", AttributeTypes.TEXT(), "Person", "666", "six hundred sixty six"],
+                ["TestRel1", AttributeTypes.TEXT(), "Person", "777", "seven hundred seventy seven"],
+                ["TestRel2", AttributeTypes.NUMBER(), "Organisation", "888", 888],
+                ["TestRel2", AttributeTypes.NUMBER(), "Organisation", "999", 999]
             ];
         },
         "insertAttributeMissing": function() {
             return [
-                ["", $AttributeTypes.TEXT.toString()],
+                ["", AttributeTypes.TEXT()],
                 ["TestNum", ""],
                 ["", 234]
             ];
         },
         "insertAttributeSame": function() {
             return [
-                ["TestRel1", $AttributeTypes.TEXT.toString(), "Person", "666", "six hundred sixty four"],
-                ["TestRel1", $AttributeTypes.TEXT.toString(), "Person", "777", "seven hundred seventy five"]               
+                ["TestRel1", AttributeTypes.TEXT(), "Person", "666", "six hundred sixty four"],
+                ["TestRel1", AttributeTypes.TEXT(), "Person", "777", "seven hundred seventy five"]               
             ];
         }
     },
     iKeywordAttribute: {
         "insertKeywordAttributeNew": function() {
             return [
-                ["KeyAttribute1", $AttributeTypes.TEXT.toString(), "ContainerTest2"],
-                ["KeyAttribute2", $AttributeTypes.NUMBER.toString(), "ContainerTest2"],
-                ["KeyAttribute3", $AttributeTypes.TEXT.toString(), "ContainerTest3"]
+                ["KeyAttribute1", AttributeTypes.TEXT(), "ContainerTest2"],
+                ["KeyAttribute2", AttributeTypes.NUMBER(), "ContainerTest2"],
+                ["KeyAttribute3", AttributeTypes.TEXT(), "ContainerTest3"]
             ];
         },
         "insertKeywordAttributeRelation": function() {
             return [
-                ["KeyAttRel1", $AttributeTypes.TEXT.toString(), "ContainerTest2", "KeywordTest6", "test value"],
-                ["KeyAttRel2", $AttributeTypes.TEXT.toString(), "ContainerTest2", "KeywordTest7", "test value"],
-                ["KeyAttribute2", $AttributeTypes.NUMBER.toString(), "ContainerTest1", "KeywordTest8", 888]
+                ["KeyAttRel1", AttributeTypes.TEXT(), "ContainerTest2", "KeywordTest6", "test value"],
+                ["KeyAttRel2", AttributeTypes.TEXT(), "ContainerTest2", "KeywordTest7", "test value"],
+                ["KeyAttribute2", AttributeTypes.NUMBER(), "ContainerTest1", "KeywordTest8", 888]
             ]
         },
         "insertKeywordAttributeMissing": function() {
-- 
GitLab


From 8ec61edb5ac9b46c2a4273820f47c2d65f3877a4 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@host.docker.internal>
Date: Tue, 6 Oct 2020 13:33:16 +0200
Subject: [PATCH 175/251] =?UTF-8?q?#1047687-BelegFilter=20Verkn=C3=BCpfung?=
 =?UTF-8?q?s=20Filter?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Order_entity/Order_entity.aod | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 1e0d2d5b12..77fcf820ec 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -1000,17 +1000,18 @@
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
           <recordfield>SALESORDER.CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ORG_ID.value</name>
           <recordfield>CONTACT.ORGANISATION_ID</recordfield>
-          <isFilterable v="true" />
+          <isFilterable v="false" />
           <isLookupFilter v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_PERSON_ID.value</name>
           <recordfield>CONTACT.PERSON_ID</recordfield>
-          <isFilterable v="true" />
+          <isFilterable v="false" />
           <isLookupFilter v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-- 
GitLab


From f88f2a31a1685f01218a4358d4b0e47fe98be9a6 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@host.docker.internal>
Date: Tue, 6 Oct 2020 13:51:27 +0200
Subject: [PATCH 176/251] #1066764-FavoritesFilter Rename FilterExtentions

---
 entity/Organisation_entity/Organisation_entity.aod          | 6 +++---
 .../filterConditionProcess.js                               | 0
 .../filterValuesProcess.js                                  | 0
 entity/Person_entity/Person_entity.aod                      | 6 +++---
 .../filterConditionProcess.js                               | 0
 .../filterValuesProcess.js                                  | 0
 6 files changed, 6 insertions(+), 6 deletions(-)
 rename entity/Organisation_entity/recordcontainers/db/filterextensions/{favoriten_filter => favorites_filter}/filterConditionProcess.js (100%)
 rename entity/Organisation_entity/recordcontainers/db/filterextensions/{favoriten_filter => favorites_filter}/filterValuesProcess.js (100%)
 rename entity/Person_entity/recordcontainers/db/filterextensions/{favorits_filter => favorites_filter}/filterConditionProcess.js (100%)
 rename entity/Person_entity/recordcontainers/db/filterextensions/{favorits_filter => favorites_filter}/filterValuesProcess.js (100%)

diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 4cb186b342..b57569f1d2 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1658,11 +1658,11 @@
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtension>
-          <name>Favoriten_filter</name>
+          <name>Favorites_filter</name>
           <title>Favoritegroup</title>
           <contentType>TEXT</contentType>
-          <filterValuesProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js</filterConditionProcess>
+          <filterValuesProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtension>
       </filterExtensions>
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js
similarity index 100%
rename from entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterConditionProcess.js
rename to entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
similarity index 100%
rename from entity/Organisation_entity/recordcontainers/db/filterextensions/favoriten_filter/filterValuesProcess.js
rename to entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index bf2838ef62..58638d3e71 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1685,11 +1685,11 @@
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
         <filterExtension>
-          <name>Favorits_filter</name>
+          <name>Favorites_filter</name>
           <title>Favoritegroup</title>
           <contentType>TEXT</contentType>
-          <filterValuesProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js</filterValuesProcess>
-          <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js</filterConditionProcess>
+          <filterValuesProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtension>
       </filterExtensions>
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js
similarity index 100%
rename from entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterConditionProcess.js
rename to entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterConditionProcess.js
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
similarity index 100%
rename from entity/Person_entity/recordcontainers/db/filterextensions/favorits_filter/filterValuesProcess.js
rename to entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
-- 
GitLab


From 42eda3a7d94d9075fe12e9dd2db9524f3324e02f Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 6 Oct 2020 16:19:12 +0200
Subject: [PATCH 177/251] Workflow webservices workaround considering corrupt
 calls

---
 process/workflowDeploy_rest/process.js        |   3 +-
 process/workflowRoles_rest/process.js         | 148 ++++++++++--------
 .../workflowServiceTaskParams_rest/process.js |  21 ++-
 process/workflowServiceTasks_rest/process.js  |  19 ++-
 process/workflowUsers_rest/process.js         |  19 ++-
 5 files changed, 134 insertions(+), 76 deletions(-)

diff --git a/process/workflowDeploy_rest/process.js b/process/workflowDeploy_rest/process.js
index 82c3ed4a98..4b5a9c33f2 100644
--- a/process/workflowDeploy_rest/process.js
+++ b/process/workflowDeploy_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("system.workflow");
 import("system.util");
 
@@ -6,7 +7,7 @@ function restpost (pRequest)
     var request = JSON.parse(pRequest);
     
     var processObj = JSON.parse(util.decodeBase64String(request.body));
-    if (processObj && processObj.processXML)
+    if (processObj && processObj.processXML && WorkflowUtils.engineIsEnabled())
     {
         var processIds = workflow.getProcessIds(processObj.processXML);
         processIds = processIds != null ? JSON.parse(processIds) : [];
diff --git a/process/workflowRoles_rest/process.js b/process/workflowRoles_rest/process.js
index dd60527468..360a7522ea 100644
--- a/process/workflowRoles_rest/process.js
+++ b/process/workflowRoles_rest/process.js
@@ -1,82 +1,102 @@
+import("Workflow_lib");
 import("system.text");
 import("system.tools");
 
 function restget (pRequest)
 {
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var header = request.header;
     var roleIds = header.Ids && JSON.parse(header.Ids);
     var userId = header.Userid;
     
-    if (userId)
-    {
-        //if a userId is present, get only the roles of that user
-        let user = tools.getUserByAttribute(tools.NAME, userId);
-        roleIds = user ? user[tools.ROLENAMES].slice() : [];
-    }
+    var roles = [];
     
-    var roles = tools.getAllRoles([tools.ROLE_PROJECT, tools.ROLE_CUSTOM], false);
-    roles = Object.keys(roles).map(function (role)
+    if (WorkflowUtils.engineIsEnabled())
     {
-        var [title, type, desc, id] = roles[role];
-        return {
-            name : title,
-            id : id,
-            type : type
-        };
-    });
-    
-    //object for handling filtering
-    var filter = {
-        EQUAL : "equal",
-        IGNORECASE : "ignoreCase",
-        IN : "in",
-        LIKE : "like",
-        LIKEIGNORECASE : "likeIgnoreCase",
-        
-        _filters : [],
-        addIfSet : function (pUserPropertyName, pFilterValue, pType)
-        {
-            if (pFilterValue && pFilterValue.length !== 0)
-                this.add(pUserPropertyName, pFilterValue, pType);
-        },
-        add : function (pUserPropertyName, pFilterValue, pType)
+        if (userId)
         {
-            this._filters.push([pUserPropertyName, pFilterValue, pType]);
-        },
-        check : function  (pUser)
+            //if a userId is present, get only the roles of that user
+            let user = tools.getUserByAttribute(tools.NAME, userId);
+            roleIds = user ? user[tools.ROLENAMES].slice() : [];
+        }
+
+        roles = tools.getAllRoles([tools.ROLE_PROJECT, tools.ROLE_CUSTOM], false);
+        roles = Object.keys(roles).map(function (role)
         {
-            return this._filters.every(function ([prop, value, type])
+            var [title, type, desc, id] = roles[role];
+            return {
+                name : title,
+                id : id,
+                type : type
+            };
+        });
+
+        //object for handling filtering
+        var filter = {
+            EQUAL : "equal",
+            IGNORECASE : "ignoreCase",
+            IN : "in",
+            LIKE : "like",
+            LIKEIGNORECASE : "likeIgnoreCase",
+
+            _filters : [],
+            addIfSet : function (pUserPropertyName, pFilterValue, pType)
             {
-                let userValue = pUser[prop] || "";
-                let flags;
-                switch (type)
+                if (pFilterValue && pFilterValue.length !== 0)
+                    this.add(pUserPropertyName, pFilterValue, pType);
+            },
+            add : function (pUserPropertyName, pFilterValue, pType)
+            {
+                this._filters.push([pUserPropertyName, pFilterValue, pType]);
+            },
+            check : function  (pUser)
+            {
+                return this._filters.every(function ([prop, value, type])
                 {
-                    case this.EQUAL:
-                        return userValue == value;
-                    case this.IGNORECASE:
-                        return userValue.toUpperCase() == value.toUpperCase();
-                    case this.IN:
-                        return value.indexOf(userValue) !== -1;
-                    case this.LIKEIGNORECASE:
-                        flags = "i";
-                    case this.LIKE:
-                        value = text.replaceAll(value, {"%" : ".*", "_" : "."});
-                        return new RegExp(value, flags).test(userValue);
-                }
-                return false;
-            }, this);
-        }
-    };
-    
-    //add the filters of the request to the filter object
-    filter.addIfSet("id", header.Id, filter.EQUAL);
-    filter.addIfSet("id", roleIds, filter.IN);
-    filter.addIfSet("name", header.Name, filter.EQUAL);
-    filter.addIfSet("name", header.Namelike, filter.LIKE);
-    filter.addIfSet("name", header.Namelikeignorecase, filter.LIKEIGNORECASE);
-    
-    roles = roles.filter(filter.check, filter); //do the filtering
+                    let userValue = pUser[prop] || "";
+                    let flags;
+                    switch (type)
+                    {
+                        case this.EQUAL:
+                            return userValue == value;
+                        case this.IGNORECASE:
+                            return userValue.toUpperCase() == value.toUpperCase();
+                        case this.IN:
+                            return value.indexOf(userValue) !== -1;
+                        case this.LIKEIGNORECASE:
+                            flags = "i";
+                        case this.LIKE:
+                            value = text.replaceAll(value, {"%" : ".*", "_" : "."});
+                            return new RegExp(value, flags).test(userValue);
+                    }
+                    return false;
+                }, this);
+            }
+        };
+
+        //add the filters of the request to the filter object
+        filter.addIfSet("id", header.Id, filter.EQUAL);
+        filter.addIfSet("id", roleIds, filter.IN);
+        filter.addIfSet("name", header.Name, filter.EQUAL);
+        filter.addIfSet("name", header.Namelike, filter.LIKE);
+        filter.addIfSet("name", header.Namelikeignorecase, filter.LIKEIGNORECASE);
+
+        roles = roles.filter(filter.check, filter); //do the filtering
+    }
     
     request.response.body = JSON.stringify(roles);
 
diff --git a/process/workflowServiceTaskParams_rest/process.js b/process/workflowServiceTaskParams_rest/process.js
index 15f2084ec4..529fdbf1cd 100644
--- a/process/workflowServiceTaskParams_rest/process.js
+++ b/process/workflowServiceTaskParams_rest/process.js
@@ -1,8 +1,23 @@
+import("Workflow_lib");
 import("system.workflow");
 
 function restget (pRequest)
 {
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var jditoProcess = request.header.Jditoprocess;
     
     /* this is an object containing the values currently set in the modeler, it looks like this:
@@ -12,7 +27,9 @@ function restget (pRequest)
      * }
      */
     var currentValues = request.header.Currentvalues;
-    var parameters = workflow.getServiceTaskParameters(jditoProcess, currentValues);
+    var parameters = jditoProcess && WorkflowUtils.engineIsEnabled()
+        ? workflow.getServiceTaskParameters(jditoProcess, currentValues)
+        : null;
     
     request.response.body = parameters || "[]";
 
diff --git a/process/workflowServiceTasks_rest/process.js b/process/workflowServiceTasks_rest/process.js
index 470717e7e1..0831b23024 100644
--- a/process/workflowServiceTasks_rest/process.js
+++ b/process/workflowServiceTasks_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("Sql_lib");
 import("system.project");
 import("system.process");
@@ -5,15 +6,19 @@ import("system.process");
 function restget (pRequest)
 {
     var request = JSON.parse(pRequest);
+    var serviceTasks = [];
     
-    var serviceTaskNames = process.getProcesses([process.VARIANT_WORKFLOW]);
-    var serviceTasks = project.getDataModels(project.DATAMODEL_KIND_PROCESS, serviceTaskNames).map(function (row)
+    if (WorkflowUtils.engineIsEnabled())
     {
-        return {
-            id : row[0],
-            name : row[1] || row[0]
-        };
-    });
+        var serviceTaskNames = process.getProcesses([process.VARIANT_WORKFLOW]);
+        serviceTasks = project.getDataModels(project.DATAMODEL_KIND_PROCESS, serviceTaskNames).map(function (row)
+        {
+            return {
+                id : row[0],
+                name : row[1] || row[0]
+            };
+        });
+    }
     
     request.response.body = JSON.stringify(serviceTasks);
 
diff --git a/process/workflowUsers_rest/process.js b/process/workflowUsers_rest/process.js
index 99246ce894..c9368b9006 100644
--- a/process/workflowUsers_rest/process.js
+++ b/process/workflowUsers_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("system.text");
 import("system.vars");
 import("system.logging");
@@ -10,7 +11,21 @@ function restget (pRequest)
     //minimum required length of the search pattern
     const MIN_SEARCHLENGTH = 0;
 
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var header = request.header;
     var userFilter = header.Userfilter 
         ? JSON.parse(header.Userfilter)
@@ -95,7 +110,7 @@ function restget (pRequest)
     function _getUsers (pSearch)
     {
         //empty result if the search value does not have the minimal required length
-        if (pSearch !== undefined && pSearch.trim() < MIN_SEARCHLENGTH)
+        if ((pSearch !== undefined && pSearch.trim() < MIN_SEARCHLENGTH) || !WorkflowUtils.engineIsEnabled())
             return [];
         
         //if the search value contains spaces, it will be split into individual words, every word must be found
-- 
GitLab


From 6dede0cecb16d612ccd06aefee9ff8796f713394 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 6 Oct 2020 14:19:12 +0000
Subject: [PATCH 178/251] Workflow webservices workaround considering corrupt
 calls

(cherry picked from commit 42eda3a7d94d9075fe12e9dd2db9524f3324e02f)
---
 process/workflowDeploy_rest/process.js        |   3 +-
 process/workflowRoles_rest/process.js         | 148 ++++++++++--------
 .../workflowServiceTaskParams_rest/process.js |  21 ++-
 process/workflowServiceTasks_rest/process.js  |  19 ++-
 process/workflowUsers_rest/process.js         |  19 ++-
 5 files changed, 134 insertions(+), 76 deletions(-)

diff --git a/process/workflowDeploy_rest/process.js b/process/workflowDeploy_rest/process.js
index 82c3ed4a98..4b5a9c33f2 100644
--- a/process/workflowDeploy_rest/process.js
+++ b/process/workflowDeploy_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("system.workflow");
 import("system.util");
 
@@ -6,7 +7,7 @@ function restpost (pRequest)
     var request = JSON.parse(pRequest);
     
     var processObj = JSON.parse(util.decodeBase64String(request.body));
-    if (processObj && processObj.processXML)
+    if (processObj && processObj.processXML && WorkflowUtils.engineIsEnabled())
     {
         var processIds = workflow.getProcessIds(processObj.processXML);
         processIds = processIds != null ? JSON.parse(processIds) : [];
diff --git a/process/workflowRoles_rest/process.js b/process/workflowRoles_rest/process.js
index dd60527468..360a7522ea 100644
--- a/process/workflowRoles_rest/process.js
+++ b/process/workflowRoles_rest/process.js
@@ -1,82 +1,102 @@
+import("Workflow_lib");
 import("system.text");
 import("system.tools");
 
 function restget (pRequest)
 {
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var header = request.header;
     var roleIds = header.Ids && JSON.parse(header.Ids);
     var userId = header.Userid;
     
-    if (userId)
-    {
-        //if a userId is present, get only the roles of that user
-        let user = tools.getUserByAttribute(tools.NAME, userId);
-        roleIds = user ? user[tools.ROLENAMES].slice() : [];
-    }
+    var roles = [];
     
-    var roles = tools.getAllRoles([tools.ROLE_PROJECT, tools.ROLE_CUSTOM], false);
-    roles = Object.keys(roles).map(function (role)
+    if (WorkflowUtils.engineIsEnabled())
     {
-        var [title, type, desc, id] = roles[role];
-        return {
-            name : title,
-            id : id,
-            type : type
-        };
-    });
-    
-    //object for handling filtering
-    var filter = {
-        EQUAL : "equal",
-        IGNORECASE : "ignoreCase",
-        IN : "in",
-        LIKE : "like",
-        LIKEIGNORECASE : "likeIgnoreCase",
-        
-        _filters : [],
-        addIfSet : function (pUserPropertyName, pFilterValue, pType)
-        {
-            if (pFilterValue && pFilterValue.length !== 0)
-                this.add(pUserPropertyName, pFilterValue, pType);
-        },
-        add : function (pUserPropertyName, pFilterValue, pType)
+        if (userId)
         {
-            this._filters.push([pUserPropertyName, pFilterValue, pType]);
-        },
-        check : function  (pUser)
+            //if a userId is present, get only the roles of that user
+            let user = tools.getUserByAttribute(tools.NAME, userId);
+            roleIds = user ? user[tools.ROLENAMES].slice() : [];
+        }
+
+        roles = tools.getAllRoles([tools.ROLE_PROJECT, tools.ROLE_CUSTOM], false);
+        roles = Object.keys(roles).map(function (role)
         {
-            return this._filters.every(function ([prop, value, type])
+            var [title, type, desc, id] = roles[role];
+            return {
+                name : title,
+                id : id,
+                type : type
+            };
+        });
+
+        //object for handling filtering
+        var filter = {
+            EQUAL : "equal",
+            IGNORECASE : "ignoreCase",
+            IN : "in",
+            LIKE : "like",
+            LIKEIGNORECASE : "likeIgnoreCase",
+
+            _filters : [],
+            addIfSet : function (pUserPropertyName, pFilterValue, pType)
             {
-                let userValue = pUser[prop] || "";
-                let flags;
-                switch (type)
+                if (pFilterValue && pFilterValue.length !== 0)
+                    this.add(pUserPropertyName, pFilterValue, pType);
+            },
+            add : function (pUserPropertyName, pFilterValue, pType)
+            {
+                this._filters.push([pUserPropertyName, pFilterValue, pType]);
+            },
+            check : function  (pUser)
+            {
+                return this._filters.every(function ([prop, value, type])
                 {
-                    case this.EQUAL:
-                        return userValue == value;
-                    case this.IGNORECASE:
-                        return userValue.toUpperCase() == value.toUpperCase();
-                    case this.IN:
-                        return value.indexOf(userValue) !== -1;
-                    case this.LIKEIGNORECASE:
-                        flags = "i";
-                    case this.LIKE:
-                        value = text.replaceAll(value, {"%" : ".*", "_" : "."});
-                        return new RegExp(value, flags).test(userValue);
-                }
-                return false;
-            }, this);
-        }
-    };
-    
-    //add the filters of the request to the filter object
-    filter.addIfSet("id", header.Id, filter.EQUAL);
-    filter.addIfSet("id", roleIds, filter.IN);
-    filter.addIfSet("name", header.Name, filter.EQUAL);
-    filter.addIfSet("name", header.Namelike, filter.LIKE);
-    filter.addIfSet("name", header.Namelikeignorecase, filter.LIKEIGNORECASE);
-    
-    roles = roles.filter(filter.check, filter); //do the filtering
+                    let userValue = pUser[prop] || "";
+                    let flags;
+                    switch (type)
+                    {
+                        case this.EQUAL:
+                            return userValue == value;
+                        case this.IGNORECASE:
+                            return userValue.toUpperCase() == value.toUpperCase();
+                        case this.IN:
+                            return value.indexOf(userValue) !== -1;
+                        case this.LIKEIGNORECASE:
+                            flags = "i";
+                        case this.LIKE:
+                            value = text.replaceAll(value, {"%" : ".*", "_" : "."});
+                            return new RegExp(value, flags).test(userValue);
+                    }
+                    return false;
+                }, this);
+            }
+        };
+
+        //add the filters of the request to the filter object
+        filter.addIfSet("id", header.Id, filter.EQUAL);
+        filter.addIfSet("id", roleIds, filter.IN);
+        filter.addIfSet("name", header.Name, filter.EQUAL);
+        filter.addIfSet("name", header.Namelike, filter.LIKE);
+        filter.addIfSet("name", header.Namelikeignorecase, filter.LIKEIGNORECASE);
+
+        roles = roles.filter(filter.check, filter); //do the filtering
+    }
     
     request.response.body = JSON.stringify(roles);
 
diff --git a/process/workflowServiceTaskParams_rest/process.js b/process/workflowServiceTaskParams_rest/process.js
index 15f2084ec4..529fdbf1cd 100644
--- a/process/workflowServiceTaskParams_rest/process.js
+++ b/process/workflowServiceTaskParams_rest/process.js
@@ -1,8 +1,23 @@
+import("Workflow_lib");
 import("system.workflow");
 
 function restget (pRequest)
 {
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var jditoProcess = request.header.Jditoprocess;
     
     /* this is an object containing the values currently set in the modeler, it looks like this:
@@ -12,7 +27,9 @@ function restget (pRequest)
      * }
      */
     var currentValues = request.header.Currentvalues;
-    var parameters = workflow.getServiceTaskParameters(jditoProcess, currentValues);
+    var parameters = jditoProcess && WorkflowUtils.engineIsEnabled()
+        ? workflow.getServiceTaskParameters(jditoProcess, currentValues)
+        : null;
     
     request.response.body = parameters || "[]";
 
diff --git a/process/workflowServiceTasks_rest/process.js b/process/workflowServiceTasks_rest/process.js
index 470717e7e1..0831b23024 100644
--- a/process/workflowServiceTasks_rest/process.js
+++ b/process/workflowServiceTasks_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("Sql_lib");
 import("system.project");
 import("system.process");
@@ -5,15 +6,19 @@ import("system.process");
 function restget (pRequest)
 {
     var request = JSON.parse(pRequest);
+    var serviceTasks = [];
     
-    var serviceTaskNames = process.getProcesses([process.VARIANT_WORKFLOW]);
-    var serviceTasks = project.getDataModels(project.DATAMODEL_KIND_PROCESS, serviceTaskNames).map(function (row)
+    if (WorkflowUtils.engineIsEnabled())
     {
-        return {
-            id : row[0],
-            name : row[1] || row[0]
-        };
-    });
+        var serviceTaskNames = process.getProcesses([process.VARIANT_WORKFLOW]);
+        serviceTasks = project.getDataModels(project.DATAMODEL_KIND_PROCESS, serviceTaskNames).map(function (row)
+        {
+            return {
+                id : row[0],
+                name : row[1] || row[0]
+            };
+        });
+    }
     
     request.response.body = JSON.stringify(serviceTasks);
 
diff --git a/process/workflowUsers_rest/process.js b/process/workflowUsers_rest/process.js
index 99246ce894..c9368b9006 100644
--- a/process/workflowUsers_rest/process.js
+++ b/process/workflowUsers_rest/process.js
@@ -1,3 +1,4 @@
+import("Workflow_lib");
 import("system.text");
 import("system.vars");
 import("system.logging");
@@ -10,7 +11,21 @@ function restget (pRequest)
     //minimum required length of the search pattern
     const MIN_SEARCHLENGTH = 0;
 
-    var request = JSON.parse(pRequest);
+    //Workaround for handling corrupt json. Remove when the json problem is fixed.
+    var request;
+    try 
+    {
+        request = JSON.parse(pRequest);
+    }
+    catch (err)
+    {
+        pRequest = pRequest.replace(/"value"\s*?:\s*?"(\{\s*?".+?\})"/, function (foundStr, unescapedJson)
+        {
+            return '"value":"' + unescapedJson.replace(/"/g, '\\"') + '"';
+        });
+        request = JSON.parse(pRequest);
+    }
+    
     var header = request.header;
     var userFilter = header.Userfilter 
         ? JSON.parse(header.Userfilter)
@@ -95,7 +110,7 @@ function restget (pRequest)
     function _getUsers (pSearch)
     {
         //empty result if the search value does not have the minimal required length
-        if (pSearch !== undefined && pSearch.trim() < MIN_SEARCHLENGTH)
+        if ((pSearch !== undefined && pSearch.trim() < MIN_SEARCHLENGTH) || !WorkflowUtils.engineIsEnabled())
             return [];
         
         //if the search value contains spaces, it will be split into individual words, every word must be found
-- 
GitLab


From 0252aede1e08d11022ccba1cdd7a48ec1669a421 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 11:11:08 +0200
Subject: [PATCH 179/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066051][Dublettensuche=20entfernt=20unn=C3=B6tig=20P?=
 =?UTF-8?q?unkt=20vor=20der=20Suche]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 process/DuplicateScanner_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/DuplicateScanner_lib/process.js b/process/DuplicateScanner_lib/process.js
index 983c5c2745..6bd25d1030 100644
--- a/process/DuplicateScanner_lib/process.js
+++ b/process/DuplicateScanner_lib/process.js
@@ -728,7 +728,7 @@ DuplicateScannerUtils.buildEntityFieldConfigs = function(pDuplicateFieldsConfig,
         if(entityFieldValue == null)
             entityFieldValue = "";
         else
-            ntityFieldValue = indexsearch.escapeString(entityFieldValue).trim();
+            entityFieldValue = indexsearch.escapeString(entityFieldValue).trim();
         
         let exclude = fieldConfig.exclude;
         if (exclude)
-- 
GitLab


From 0f845834e73b58b156d8070bce7032c95b8eb107 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 7 Oct 2020 11:20:52 +0200
Subject: [PATCH 180/251] #1065488 nominatim check for different street address
 tags

---
 process/WsValidation_lib/process.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/process/WsValidation_lib/process.js b/process/WsValidation_lib/process.js
index d7387dcc3d..03bccc71e6 100644
--- a/process/WsValidation_lib/process.js
+++ b/process/WsValidation_lib/process.js
@@ -95,6 +95,11 @@ WsValidationType.get = function(pKey)
                 var cityext = pPlaceData.address.suburb
                     || pPlaceData.address.city_district;
                 
+                var road = pPlaceData.address.road 
+                    || pPlaceData.address.street
+                    || pPlaceData.address.path
+                    || pPlaceData.address.address27;
+                
                 return {
                     placeId: pPlaceData.place_id,
                     value: pValue,
@@ -106,7 +111,7 @@ WsValidationType.get = function(pKey)
                     district: pPlaceData.address.district,
                     region: pPlaceData.address.state_district,
                     state: pPlaceData.address.state,
-                    road: pPlaceData.address.road, //8
+                    road: road, //8
                     buildingNo: pPlaceData.address.house_number,
                     lat: pPlaceData.lat,
                     lon: pPlaceData.lon
-- 
GitLab


From b0b3c4984d89f29e1681d173ab0ea05f2b420cf0 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 09:42:21 +0000
Subject: [PATCH 181/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201063416][Verwaiste=20Prozesse=20f=C3=BChren=20zu=20Sc?=
 =?UTF-8?q?anService-Warnungsflut]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Activity_entity/Activity_entity.aod                 | 7 -------
 .../entityfields/entrymonth/displayValueProcess.js         | 1 -
 entity/Attribute_entity/Attribute_entity.aod               | 2 --
 entity/Campaign_entity/Campaign_entity.aod                 | 1 -
 entity/Campaign_entity/entityfields/tasks/stateProcess.js  | 0
 .../ClassificationGrading_entity.aod                       | 1 +
 entity/Classification_entity/Classification_entity.aod     | 1 -
 .../entityfields/classifications/documentation.adoc        | 0
 .../children/containername_param/documentation.adoc        | 0
 entity/DSGVOInfo_entity/DSGVOInfo_entity.aod               | 1 -
 .../entityfields/reporttype_param/valueProcess.js          | 0
 entity/DSGVO_entity/DSGVO_entity.aod                       | 1 -
 .../DistrictResponsible_entity.aod                         | 1 +
 .../DuplicateScannerResultFieldConfig_entity.aod           | 1 -
 .../documentation.adoc                                     | 0
 .../KeywordAttributeRelation_entity.aod                    | 1 -
 .../filteralreadyusedbyentryid_param/documentation.adoc    | 0
 entity/Member_entity/Member_entity.aod                     | 2 +-
 entity/Member_entity/grantCreateProcess.js                 | 0
 entity/Order_entity/Order_entity.aod                       | 2 --
 .../entityfields/contactid_param/documentation.adoc        | 0
 .../children/assignmentname_param/documentation.adoc       | 0
 entity/Prod2prod_entity/Prod2prod_entity.aod               | 1 +
 .../SalesprojectConversionRate_entity.aod                  | 5 -----
 .../person_id.displayvalue/expression.js                   | 5 -----
 .../OfferPreviewMultiple_view.aod                          | 3 +--
 process/_test_importer/process.js                          | 1 +
 27 files changed, 6 insertions(+), 31 deletions(-)
 delete mode 100644 entity/Campaign_entity/entityfields/tasks/stateProcess.js
 delete mode 100644 entity/Classification_entity/entityfields/classifications/documentation.adoc
 delete mode 100644 entity/Competition_entity/entityfields/keywordwonlost/children/containername_param/documentation.adoc
 delete mode 100644 entity/DSGVOInfo_entity/entityfields/reporttype_param/valueProcess.js
 delete mode 100644 entity/DuplicateScannerResultFieldConfig_entity/documentation.adoc
 delete mode 100644 entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/documentation.adoc
 delete mode 100644 entity/Member_entity/grantCreateProcess.js
 delete mode 100644 entity/Order_entity/entityfields/contactid_param/documentation.adoc
 delete mode 100644 entity/Order_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc
 delete mode 100644 entity/VisitPlanEmployeeWeek_entity/recordcontainers/db/recordfieldmappings/person_id.displayvalue/expression.js

diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 809e7cb7f2..9163db06e9 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -157,7 +157,6 @@
       <title>Date (Month)</title>
       <contentType>TEXT</contentType>
       <groupable v="true" />
-      <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entrymonth/valueProcess.js</valueProcess>
       <onValueChangeTypes>
         <element>MASK</element>
         <element>PROCESS</element>
@@ -395,7 +394,6 @@
       <name>ENTRYDAY</name>
       <title>Date (Day)</title>
       <groupable v="true" />
-      <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entryday/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
       <name>Attributes</name>
@@ -563,7 +561,6 @@
       <name>ENTRYYEAR</name>
       <title>Date (Year)</title>
       <groupable v="true" />
-      <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entryyear/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>bindata</name>
@@ -799,10 +796,6 @@
           <recordfield>ACTIVITY.ACTIVITYID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
-        <dbRecordFieldMapping>
-          <name>COUNT.value</name>
-          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/count.value/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ENTRYDAY.value</name>
           <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryday.value/expression.js</expression>
diff --git a/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js b/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
index e95bca5a3e..cb6405c40f 100644
--- a/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
+++ b/entity/Activity_entity/entityfields/entrymonth/displayValueProcess.js
@@ -10,4 +10,3 @@ if (m) {
     let monthDate = new Date(2020, m-1);
     result.string(translate.text(datetime.toDate(monthDate.getTime(), "MMMM", "UTC")));
 }
-
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index 16498580ba..6f00c57a63 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -4,8 +4,6 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Attribute_entity/documentation.adoc</documentation>
   <title>Attribute</title>
-  <grantCreateProcess>%aditoprj%/entity/Attribute_entity/grantCreateProcess.js</grantCreateProcess>
-  <grantUpdateProcess>%aditoprj%/entity/Attribute_entity/grantUpdateProcess.js</grantUpdateProcess>
   <grantDeleteProcess>%aditoprj%/entity/Attribute_entity/grantDeleteProcess.js</grantDeleteProcess>
   <contentTitleProcess>%aditoprj%/entity/Attribute_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Attribute_entity/afterUiInit.js</afterUiInit>
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index fbc177e81a..37416e7b55 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -274,7 +274,6 @@
     <entityConsumer>
       <name>Tasks</name>
       <title>Tasks</title>
-      <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/tasks/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Task_entity</entityName>
diff --git a/entity/Campaign_entity/entityfields/tasks/stateProcess.js b/entity/Campaign_entity/entityfields/tasks/stateProcess.js
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod b/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
index e82162ec53..fdf4e99995 100644
--- a/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
+++ b/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
@@ -20,6 +20,7 @@
     </entityField>
     <entityField>
       <name>MAXGRADEFORSCORE</name>
+      <documentation>%aditoprj%/entity/ClassificationGrading_entity/entityfields/maxgradeforscore/documentation.adoc</documentation>
       <title>Max Value</title>
       <contentType>NUMBER</contentType>
       <outputFormat>#####</outputFormat>
diff --git a/entity/Classification_entity/Classification_entity.aod b/entity/Classification_entity/Classification_entity.aod
index 011426f28c..0ffc7c0298 100644
--- a/entity/Classification_entity/Classification_entity.aod
+++ b/entity/Classification_entity/Classification_entity.aod
@@ -42,7 +42,6 @@
     </entityParameter>
     <entityProvider>
       <name>Classifications</name>
-      <documentation>%aditoprj%/entity/Classification_entity/entityfields/classifications/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>6274acfa-3dbf-4a9b-8926-2a2d1ff80d6d</name>
diff --git a/entity/Classification_entity/entityfields/classifications/documentation.adoc b/entity/Classification_entity/entityfields/classifications/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Competition_entity/entityfields/keywordwonlost/children/containername_param/documentation.adoc b/entity/Competition_entity/entityfields/keywordwonlost/children/containername_param/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod b/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod
index dd8ae2f623..9a090c1ee2 100644
--- a/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod
+++ b/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod
@@ -52,7 +52,6 @@
     </entityParameter>
     <entityParameter>
       <name>ReportType_param</name>
-      <valueProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/reporttype_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
     <entityProvider>
diff --git a/entity/DSGVOInfo_entity/entityfields/reporttype_param/valueProcess.js b/entity/DSGVOInfo_entity/entityfields/reporttype_param/valueProcess.js
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod
index 6fd134a3a8..19cefc3a19 100644
--- a/entity/DSGVO_entity/DSGVO_entity.aod
+++ b/entity/DSGVO_entity/DSGVO_entity.aod
@@ -13,7 +13,6 @@
   </siblings>
   <grantCreate v="false" />
   <grantDelete v="false" />
-  <afterSave>%aditoprj%/entity/DSGVO_entity/afterSave.js</afterSave>
   <titlePlural></titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
diff --git a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
index cc4783ab5b..4062bb8fd4 100644
--- a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
+++ b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
@@ -148,6 +148,7 @@
     </entityConsumer>
     <entityField>
       <name>departmentAttributeName</name>
+      <documentation>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc</documentation>
       <title>Department</title>
       <state>READONLY</state>
       <stateProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js</stateProcess>
diff --git a/entity/DuplicateScannerResultFieldConfig_entity/DuplicateScannerResultFieldConfig_entity.aod b/entity/DuplicateScannerResultFieldConfig_entity/DuplicateScannerResultFieldConfig_entity.aod
index b587b5faf5..3297b0d171 100644
--- a/entity/DuplicateScannerResultFieldConfig_entity/DuplicateScannerResultFieldConfig_entity.aod
+++ b/entity/DuplicateScannerResultFieldConfig_entity/DuplicateScannerResultFieldConfig_entity.aod
@@ -2,7 +2,6 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>DuplicateScannerResultFieldConfig_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <documentation>%aditoprj%/entity/DuplicateScannerResultFieldConfig_entity/documentation.adoc</documentation>
   <recordContainer>recordContainer</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/DuplicateScannerResultFieldConfig_entity/documentation.adoc b/entity/DuplicateScannerResultFieldConfig_entity/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
index e4f1112d7f..81be338ad3 100644
--- a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
+++ b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
@@ -90,7 +90,6 @@
           <name>FilterAlreadyUsedByEntryId_param</name>
           <valueProcess>%aditoprj%/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js</valueProcess>
           <expose v="false" />
-          <documentation>%aditoprj%/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/documentation.adoc</documentation>
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/documentation.adoc b/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod
index 53dfef4032..23a14e5ebe 100644
--- a/entity/Member_entity/Member_entity.aod
+++ b/entity/Member_entity/Member_entity.aod
@@ -4,7 +4,6 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Member_entity/documentation.adoc</documentation>
   <title>${SALESPROJECT_MEMBER}</title>
-  <grantCreateProcess>%aditoprj%/entity/Member_entity/grantCreateProcess.js</grantCreateProcess>
   <grantUpdateProcess>%aditoprj%/entity/Member_entity/grantUpdateProcess.js</grantUpdateProcess>
   <grantDeleteProcess>%aditoprj%/entity/Member_entity/grantDeleteProcess.js</grantDeleteProcess>
   <iconId>VAADIN:FILE_SOUND</iconId>
@@ -219,6 +218,7 @@
     </entityField>
     <entityField>
       <name>recordType</name>
+      <documentation>%aditoprj%/entity/Member_entity/entityfields/recordtype/documentation.adoc</documentation>
     </entityField>
   </entityFields>
   <recordContainers>
diff --git a/entity/Member_entity/grantCreateProcess.js b/entity/Member_entity/grantCreateProcess.js
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 77fcf820ec..06389d921d 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -166,7 +166,6 @@
       <name>ContactId_param</name>
       <expose v="true" />
       <mandatory v="true" />
-      <documentation>%aditoprj%/entity/Order_entity/entityfields/contactid_param/documentation.adoc</documentation>
       <description>PARAMETER</description>
     </entityParameter>
     <entityField>
@@ -219,7 +218,6 @@
       <children>
         <entityParameter>
           <name>AssignmentName_param</name>
-          <documentation>%aditoprj%/entity/Order_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc</documentation>
         </entityParameter>
         <entityParameter>
           <name>AssignmentRowId_param</name>
diff --git a/entity/Order_entity/entityfields/contactid_param/documentation.adoc b/entity/Order_entity/entityfields/contactid_param/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Order_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc b/entity/Order_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod
index 09e2fcde10..824ac6d55e 100644
--- a/entity/Prod2prod_entity/Prod2prod_entity.aod
+++ b/entity/Prod2prod_entity/Prod2prod_entity.aod
@@ -17,6 +17,7 @@
     </entityField>
     <entityField>
       <name>OPTIONAL</name>
+      <documentation>%aditoprj%/entity/Prod2prod_entity/entityfields/optional/documentation.adoc</documentation>
       <title>Optional</title>
       <contentType>BOOLEAN</contentType>
       <dropDownProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/optional/dropDownProcess.js</dropDownProcess>
diff --git a/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod b/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
index 3a7099a2d8..e7474ae27a 100644
--- a/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
+++ b/entity/SalesprojectConversionRate_entity/SalesprojectConversionRate_entity.aod
@@ -76,11 +76,6 @@
           <name>AB_KEYWORD_ENTRYID_TITLE.value</name>
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
-      <aggregateFieldMappings>
-        <jDitoRecordFieldMapping>
-          <name>conversionRate_aggregate.value</name>
-        </jDitoRecordFieldMapping>
-      </aggregateFieldMappings>
       <filterExtensions>
         <filterExtension>
           <name>Year</name>
diff --git a/entity/VisitPlanEmployeeWeek_entity/recordcontainers/db/recordfieldmappings/person_id.displayvalue/expression.js b/entity/VisitPlanEmployeeWeek_entity/recordcontainers/db/recordfieldmappings/person_id.displayvalue/expression.js
deleted file mode 100644
index b061026da3..0000000000
--- a/entity/VisitPlanEmployeeWeek_entity/recordcontainers/db/recordfieldmappings/person_id.displayvalue/expression.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("system.vars");
-import("Person_lib");
-
-result.string(PersUtils.getResolvingDisplaySubSql("VISITPLANEMPLOYEEWEEK.CONTACT_ID"));
\ No newline at end of file
diff --git a/neonView/OfferPreviewMultiple_view/OfferPreviewMultiple_view.aod b/neonView/OfferPreviewMultiple_view/OfferPreviewMultiple_view.aod
index c879059396..44610fe33c 100644
--- a/neonView/OfferPreviewMultiple_view/OfferPreviewMultiple_view.aod
+++ b/neonView/OfferPreviewMultiple_view/OfferPreviewMultiple_view.aod
@@ -5,7 +5,7 @@
   <layout>
     <headerFooterLayout>
       <name>layout</name>
-      <footer>Scorecard</footer>
+      <footer>AggregatedValues</footer>
     </headerFooterLayout>
   </layout>
   <children>
@@ -39,7 +39,6 @@
     </treeTableViewTemplate>
     <scoreCardViewTemplate>
       <name>AggregatedValues</name>
-      <entityField>OfferAggregates</entityField>
       <fields>
         <entityFieldLink>
           <name>71cd7dd5-c142-4b4c-8a6b-ca5ed8acf92e</name>
diff --git a/process/_test_importer/process.js b/process/_test_importer/process.js
index 3eaad9708e..418c18564d 100644
--- a/process/_test_importer/process.js
+++ b/process/_test_importer/process.js
@@ -1,3 +1,4 @@
+import("Attribute_lib");
 import("system.text");
 import("Util_lib");
 import("ImporterTest_lib");
-- 
GitLab


From 8b1cf8bebadf34701790eacf66d7238b0f39ac63 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 14:42:16 +0200
Subject: [PATCH 182/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1054197][Angebot: Preview-View - Preise nicht refresht]

---
 entity/Offer_entity/Offer_entity.aod | 1 +
 1 file changed, 1 insertion(+)

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 888a325546..8de69496e5 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -114,6 +114,7 @@
     </entityField>
     <entityConsumer>
       <name>Offeritems</name>
+      <refreshParent v="true" />
       <description></description>
       <dependency>
         <name>dependency</name>
-- 
GitLab


From d22cbaed27de6410be55ac137aeaadf1ef3a2416 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 13:49:04 +0000
Subject: [PATCH 183/251] 1061035 fix bulkmail throw error

---
 .../_____LANGUAGE_EXTRA.aod                   |  3 +++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  4 ++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  3 +++
 process/Email_lib/process.js                  | 19 ++++++++++++++++---
 4 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 5e056b9be7..8b633511b0 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7269,6 +7269,9 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index e65b895509..61cbdca201 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9642,6 +9642,10 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>FavoriteGroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+      <value>Mailbridge fehlgeschlagen: Benutzer '%0' ist unbekannt, kontaktieren sie einen Administrator.</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 8347bc106b..7b56909fe4 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7350,6 +7350,9 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js
index 373495625a..bffbe633e2 100644
--- a/process/Email_lib/process.js
+++ b/process/Email_lib/process.js
@@ -1,3 +1,4 @@
+import("system.question");
 import("Sql_lib");
 import("MimeType_lib");
 import("Document_lib");
@@ -10,7 +11,8 @@ import("Communication_lib");
 import("DocumentTemplate_lib");
 import("system.neon");
 import("system.mail");
-import("Bulkmail_lib")
+import("Bulkmail_lib");
+import("system.tools");
 
 function EmailWritingUtils () {}
 
@@ -380,8 +382,19 @@ Email.prototype.send = function (pUser)
         
         if (this.sender)
             mail.setSender(mailId, this.sender);
-    
-        var sentMails = mail.sendMailAs(pUser || "mailbridge", mailId)
+        var mailbridgeTitle = "mailbridge";
+        var sentMails;
+        if(pUser)
+            sentMails = mail.sendMailAs(pUser, mailId)
+        else
+        {
+            let mailbridgeExists = tools.getUser(mailbridgeTitle);
+            
+            if(mailbridgeExists)
+                mail.sendMailAs(mailbridgeTitle, mailId)
+            else //check mailbridge user if this error gets thrown
+                question.showMessage(translate.withArguments("Mailbridge failed: user '%0' is unknown, contact an administrator.", [mailbridgeTitle]), question.ERROR, translate.text("Error"));
+        }
         // remove from cache
         mail.deleteMail(mailId)
         return sentMails > 0;
-- 
GitLab


From 562cf0e53cf94850ff01b42f6c524765664614ac Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 13:53:37 +0000
Subject: [PATCH 184/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201066768][Klassifizierung=20-=20Nachtr=C3=A4gliche=20?=
 =?UTF-8?q?=C3=84nderung=20der=20Werte=20-=20Hardcodierte=20Texte=20werden?=
 =?UTF-8?q?=20nicht=20aktualisiert=20und=20k=C3=B6nnen=20sehr=20irritieren?=
 =?UTF-8?q?]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../recordcontainers/db/onDBDelete.js              |  2 +-
 .../ClassificationType_entity.aod                  |  1 +
 .../entityfields/infofield/valueProcess.js         | 11 ++++++-----
 process/Classification_lib/process.js              | 14 +++++++++++++-
 4 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js b/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
index 27385ec36d..f45ecc8306 100644
--- a/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/ClassificationScore_entity/recordcontainers/db/onDBDelete.js
@@ -21,7 +21,7 @@ try
         var table = ["CLASSIFICATIONGRADING"];
         var multiplicand = maxScore/gradingTable[0][1];
         var update = newWhere("CLASSIFICATIONGRADING.CLASSIFICATIONGRADINGID", gradingTable[0][0])
-                                .updateData(true, table, column, null, column, db.getCurrentAlias()), [maxScore]);
+                                .updateData(true, table, column, null, column, db.getCurrentAlias(), [maxScore]);
 
         for (let i = 1; i < gradingTable.length; i++) 
         {
diff --git a/entity/ClassificationType_entity/ClassificationType_entity.aod b/entity/ClassificationType_entity/ClassificationType_entity.aod
index d86c079f7b..faf8305ab8 100644
--- a/entity/ClassificationType_entity/ClassificationType_entity.aod
+++ b/entity/ClassificationType_entity/ClassificationType_entity.aod
@@ -39,6 +39,7 @@
     </entityField>
     <entityConsumer>
       <name>ClassificationScores</name>
+      <refreshParent v="true" />
       <dependency>
         <name>dependency</name>
         <entityName>ClassificationScore_entity</entityName>
diff --git a/entity/ClassificationType_entity/entityfields/infofield/valueProcess.js b/entity/ClassificationType_entity/entityfields/infofield/valueProcess.js
index 07815a1f88..1aec260db1 100644
--- a/entity/ClassificationType_entity/entityfields/infofield/valueProcess.js
+++ b/entity/ClassificationType_entity/entityfields/infofield/valueProcess.js
@@ -1,3 +1,4 @@
+import("system.neon");
 import("system.translate");
 import("Entity_lib");
 import("system.result");
@@ -16,7 +17,7 @@ var maxScore = 0;
 var i;
 var randomScoreId;
 
-result.string(translate.text("Keep in Mind that changes to the Value with the greatest score directly affect the Classification Gradings of the Classification!"))
+var res = ClassificationUtils.getTranslatedInfo();
 if(rows.length > 0)
 {
     for (i = 0; i < rows.length; i++) 
@@ -54,7 +55,7 @@ if(rows.length > 0)
                 for (i = 0; i < gradingTable.length; i++) 
                 {
                     oldToNewValueString += gradingTable[i][2] + ": " + gradingTable[i][1] + "->" + parseInt(gradingTable[i][1] * multiplicand) + "\n\
-            ";
+    ";
                 }
             }
             else 
@@ -67,9 +68,9 @@ if(rows.length > 0)
             ";
                 }
             }
-            var resString = translate.text("This is how the Classification Gradings of the Classification will get affected by these changes:") + "\n\
+            res = translate.text("This is how the Classification Gradings of the Classification will get affected by these changes:") + "\n\
     "+ oldToNewValueString;
-            result.string(resString);
         }
     }
-}
\ No newline at end of file
+}
+result.string(res);
\ No newline at end of file
diff --git a/process/Classification_lib/process.js b/process/Classification_lib/process.js
index 66105c8ae1..756e30fa53 100644
--- a/process/Classification_lib/process.js
+++ b/process/Classification_lib/process.js
@@ -440,6 +440,18 @@ ClassificationUtils.decode = function (pEncodedString)
     return res
 };
 
+/**
+ * gets the translated Info text for the ClassificationtypePreview
+ *  
+ * @return {String}                     <p/> the translated InfoText
+ * @static 
+ */
+ClassificationUtils.getTranslatedInfo = function ()
+{
+return translate.text("Keep in Mind that changes to the Value with the greatest score directly affect the Classification Gradings of the Classification!");
+};
+
+
 /*this is right now (2020-08-15) the only way to get something like a constant with 
  - a prober name
  - autocomplete support within the ADITO Designer
@@ -453,4 +465,4 @@ $ClassificationRecordCategories.CLASSIFICATION_GROUP_EXISTS =            functio
 $ClassificationRecordCategories.CLASSIFICATION_GROUP_DOESNT_EXIST =      function(){return "ClassificationGroupDoesntExist"};
 
 function $ClassificationPlaceholder(){}
-$ClassificationPlaceholder.TOPSECRETPLACEHOLDER =                       function(){return "T0PS3CR3TPL4CEH0LD3R"};
\ No newline at end of file
+$ClassificationPlaceholder.TOPSECRETPLACEHOLDER =                        function(){return "T0PS3CR3TPL4CEH0LD3R"};
-- 
GitLab


From af200605167a01879189fe2226861c210109abd1 Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Wed, 7 Oct 2020 13:55:23 +0000
Subject: [PATCH 185/251] #1066647 offer refactoring label

---
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod | 3 +++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod       | 4 ++++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       | 3 +++
 neonView/OfferFilter_view/OfferFilter_view.aod       | 2 +-
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 4b8de349b3..4cd6f0330a 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7278,6 +7278,9 @@
     <entry>
       <key>Probability Chart</key>
     </entry>
+    <entry>
+      <key>Probability in %</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c6a2a8294f..cf7a3b049c 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9654,6 +9654,10 @@ Bitte Datumseingabe prüfen</value>
       <key>Probability Chart</key>
       <value>Wahrscheinlichkeit Diagramm</value>
     </entry>
+    <entry>
+      <key>Probability in %</key>
+      <value>Wahrscheinlichkeit in %</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index a3cc7bb726..a15f9a2f09 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7359,6 +7359,9 @@
     <entry>
       <key>Probability Chart</key>
     </entry>
+    <entry>
+      <key>Probability in %</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod
index eca4858eaa..dcfe1e8da8 100644
--- a/neonView/OfferFilter_view/OfferFilter_view.aod
+++ b/neonView/OfferFilter_view/OfferFilter_view.aod
@@ -175,7 +175,7 @@
     <dynamicMultiDataChartViewTemplate>
       <name>DynamicMultiDataChartProb</name>
       <chartType>COLUMN</chartType>
-      <yAxisLabel>Total in euros</yAxisLabel>
+      <yAxisLabel>Probability in %</yAxisLabel>
       <shareParent v="false" />
       <entityField>#ENTITY</entityField>
       <defaultGroupFields>
-- 
GitLab


From 83fa304fed427f973dd3c78961d4384d97f168e7 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 7 Oct 2020 15:21:01 +0200
Subject: [PATCH 186/251] ObjectRelationType_entity documentation

---
 entity/ObjectRelationType_entity/documentation.adoc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/entity/ObjectRelationType_entity/documentation.adoc b/entity/ObjectRelationType_entity/documentation.adoc
index 9c296c2d48..268b6a7387 100644
--- a/entity/ObjectRelationType_entity/documentation.adoc
+++ b/entity/ObjectRelationType_entity/documentation.adoc
@@ -1,3 +1,14 @@
 = ObjectRelationType_entity
 
-Administrative obsolescence of the object_entity
\ No newline at end of file
+This entity is for administrating the different types of ObjectRelations that can be used with the ObjectTree_entity.
+
+== Database Structure
+
+One complete ObjectRelationType can consist of either one or two rows in the table 'AB_OBJECTRELATIONTYPE', depending on whether the ObjectRelationType is double-sided or not. When there are two rows they share the same 'RELATION_TYPE' and the order of them is determined by the 'SIDE'.
+The flag 'HIERARCHY' determines if the relation between to objects will be hierarchical.
+
+== Entity Structure
+
+In the entity, one row represents a "full" ObjectRelationType, so the database entries that make it up are already joined together. 
+
+NOTE: A "second side" of the ObjectRelationType is not mandatory, if it is not set, only one row in the database is needed. Such a relation type makes sense when a relation is the same regardless from which side you view it (e. g. acquaintance).
\ No newline at end of file
-- 
GitLab


From 49125f36cada33fa2dcf7b978c3308e403f199e0 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 8 Oct 2020 08:55:44 +0200
Subject: [PATCH 187/251] #1065119 Employee email address not changeable

---
 entity/Employee_entity/Employee_entity.aod               | 1 +
 .../entityfields/email_address/stateProcess.js           | 9 +++++++++
 2 files changed, 10 insertions(+)
 create mode 100644 entity/Employee_entity/entityfields/email_address/stateProcess.js

diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod
index 60ea8401f6..c3144f1349 100644
--- a/entity/Employee_entity/Employee_entity.aod
+++ b/entity/Employee_entity/Employee_entity.aod
@@ -64,6 +64,7 @@
       <mandatory v="true" />
       <dropDownProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/dropDownProcess.js</dropDownProcess>
       <textInputAllowed v="true" />
+      <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/Employee_entity/entityfields/email_address/onValidation.js</onValidation>
     </entityField>
     <entityField>
diff --git a/entity/Employee_entity/entityfields/email_address/stateProcess.js b/entity/Employee_entity/entityfields/email_address/stateProcess.js
new file mode 100644
index 0000000000..41639552ec
--- /dev/null
+++ b/entity/Employee_entity/entityfields/email_address/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+//the email should not be changed afterwards, because it is also used as calendar id
+if (!vars.get("$field.EMAIL_ADDRESS") || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_READONLY);
-- 
GitLab


From 43f6fb68543e5eea550949f8ec506ccd8a0031ff Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 8 Oct 2020 10:05:25 +0200
Subject: [PATCH 188/251] #1066606 ObjectRelation deletion fix

---
 .../ObjectTree_entity/recordcontainers/jdito/contentProcess.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
index c36c8c3e14..d1d925c81b 100644
--- a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
@@ -266,6 +266,9 @@ function _getEntryData(pObjectId, pDirection, pRelationType1, pRelationType2, pP
         || data.length == 0 && pDirection == "reverse" && !pNoRecursion && pObjectRelationId)
          return _getEntryData(pObjectId, "normal", pRelationType1, pRelationType2, pPrevId, true, pObjectRelationId);
     
+    if (data.length == 0 && pDirection == "normal" && !pNoRecursion && pObjectRelationId)
+        return _getEntryData(pObjectId, "reverse", pRelationType1, pRelationType2, pPrevId, true, pObjectRelationId);
+    
     // TODO: BINDATA?
     //for ( var i = 0; i < data.length; i++)  data[i][2] = image[data[i][2]] == undefined ? "" : image[data[i][2]];
     return data;
-- 
GitLab


From d2edb93df0feffec6a3b802986ac578677ad8f0f Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Thu, 8 Oct 2020 08:15:06 +0000
Subject: [PATCH 189/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1061334][Object_entity - contentProcess]

---
 .../Object_entity/recordcontainers/jdito/contentProcess.js   | 4 ++--
 process/Context_lib/process.js                               | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/entity/Object_entity/recordcontainers/jdito/contentProcess.js b/entity/Object_entity/recordcontainers/jdito/contentProcess.js
index 67b5e68f5a..27b0b7e83a 100644
--- a/entity/Object_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Object_entity/recordcontainers/jdito/contentProcess.js
@@ -19,8 +19,8 @@ if (vars.get("$param.ObjectType_param"))
     if (vars.exists("$param.ContactId") && vars.get("$param.ContactId"))
         contactId = vars.get("$param.ContactId");
     
-    result.object(db.table(ContextUtils.getContextDataSql(objectType, contactId, false, undefined, false, excludedIds)))
-} 
+    result.object(db.table(ContextUtils.getContextDataSql(objectType, contactId, false, undefined, false, null, null, excludedIds)))
+}
 else
 {
     result.object([]);
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index f65180f1d1..31d6082843 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -662,7 +662,7 @@ ContextUtils.getContactId = function(pContextId, pRowId)
  * nur 360
  * 
  */
-ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pActive, pWithState, pWithGroupBy, pUidsForFiltering)
+ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pActive, pWithState, pWithGroupBy, pUidsForFiltering, pExcludeIds)
 {
     var selectMap = ContextUtils.getSelectMap();
     var ownContextSelector = selectMap[pContextId];
@@ -690,7 +690,8 @@ ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pAc
     var contextDataSelect = newSelect( columns.join(", ") )
                                 .from(ownContextSelector.getFullFromClause())
                                 .where(ownContextSelector.getFullField(ownContextSelector.contactIdField), pContactId, SqlBuilder.IN())
-                                .andIfSet(ownContextSelector.getFullIdField(), pUidsForFiltering, SqlBuilder.IN());
+                                .andIfSet(ownContextSelector.getFullIdField(), pUidsForFiltering, SqlBuilder.IN())
+                                .andIfSet(ownContextSelector.getFullIdField(), pExcludeIds, SqlBuilder.NOT_IN());
     
     if (pActive != undefined)
     {
-- 
GitLab


From 8485d29fac9575c73b42c9fbcb262ff689136dcb Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Thu, 8 Oct 2020 08:24:01 +0000
Subject: [PATCH 190/251] LeadimportFixes #1066810 Felder mandatory & #1066477
 Eigenschaften Import & #1066475 Standard Sprache Englisch

---
 .../LeadimportMappingAssistant_entity.aod     |  3 +++
 process/Leadimport_lib/process.js             | 20 ++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/entity/LeadimportMappingAssistant_entity/LeadimportMappingAssistant_entity.aod b/entity/LeadimportMappingAssistant_entity/LeadimportMappingAssistant_entity.aod
index 0cbf79b0dd..f985150a0e 100644
--- a/entity/LeadimportMappingAssistant_entity/LeadimportMappingAssistant_entity.aod
+++ b/entity/LeadimportMappingAssistant_entity/LeadimportMappingAssistant_entity.aod
@@ -14,6 +14,7 @@
       <name>FIELDNAME</name>
       <title>Fieldname</title>
       <consumer>KeywordImportFields</consumer>
+      <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/LeadimportMappingAssistant_entity/entityfields/fieldname/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
@@ -26,10 +27,12 @@
     <entityField>
       <name>INPUTVALUE</name>
       <title>Input value</title>
+      <mandatory v="true" />
     </entityField>
     <entityField>
       <name>OUTPUTVALUE</name>
       <title>Output value</title>
+      <mandatory v="true" />
     </entityField>
     <entityField>
       <name>USER_NEW</name>
diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index a4201c301c..6feb9d42a8 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -450,20 +450,16 @@ LeadImportUtils.insertAttr = function(pDataFields, pDataTypes, pFieldDef, pLeadV
                 DataValues["OBJECT_ROWID"] = pContactId;
                 switch(attrdata[1][1].trim())//type
                 {
-                    case "COMBO":
-                        value = newSelect("AB_ATTRIBUTEID")
-                                    .from("AB_ATTRIBUTE")
-                                    .where("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attrdata[1][0])
-                                    .and("AB_ATTRIBUTE.ATTRIBUTE_NAME", value)
-                                    .cell();
-
-                        type = "ID_VALUE";
+                    case AttributeTypes.COMBO():
+                        value = AttributeUtil.getPossibleListValues(attrdata[1][0], attrdata[1][1]).filter(function (attrbute) { return attrbute[1] == value});
+
+                        type = AttributeTypes.COMBO.databaseField;
                         break;
                 //other cases can be added here
                 }
-                if (value != "" && type != "")
+                if (value.length && type != "")
                 {
-                    DataValues[type] = value;
+                    DataValues[type] = value[0][0];
                     LeadImportUtils.insertTable(pDataFields, pDataTypes, DataValues, "AB_ATTRIBUTERELATION", pUser, pDate);
                 }
             }
@@ -591,7 +587,7 @@ LeadImportUtils.insertOrg = function(pDataFields, pDataTypes,  pFieldDef, pField
  */
 LeadImportUtils.insertPers = function(pDataFields, pDataTypes,  pFieldDef, pFieldValues, pOrgId, pLeadValues, pUser, pDate)
 {
-    var isoLanguage = pLeadValues["ISOLANGUAGE"] ? pLeadValues["ISOLANGUAGE"] : "deu";
+    var isoLanguage = pLeadValues["ISOLANGUAGE"];
     
     //Person
     var PersValues = LeadImportUtils.setValues(pDataFields["PERSON"], pFieldDef, pFieldValues);
@@ -830,7 +826,7 @@ LeadImportUtils.checkISOLanguage = function(pLanguage)
                     .or("AB_LANGUAGE.NAME_LATIN", pLanguage)
                     .cell();
     
-    return iso3 ? iso3 : "deu";
+    return iso3 ? iso3 : "eng";
 }
 
 
-- 
GitLab


From c08a23e9ae7f64d9fb3322eadaa9c3d1f6536b09 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 8 Oct 2020 14:03:49 +0200
Subject: [PATCH 191/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201058907][Serienbrief=20-=20Log:=20Status=C3=A4nderung?=
 =?UTF-8?q?en=20werden=20nicht=20angezeigt]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 aliasDefinition/Data_alias/Data_alias.aod | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 31f424c2a7..b7ca17d42a 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -11346,6 +11346,19 @@
                 <documentation></documentation>
                 <title></title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <description></description>
+                    <property v="true" />
+                  </customBooleanProperty>
+                  <customStringProperty>
+                    <name>keyword</name>
+                    <global v="false" />
+                    <property>SerialLetterStatus</property>
+                  </customStringProperty>
+                </customProperties>
               </entityFieldDb>
             </entityFields>
           </entityDb>
-- 
GitLab


From 8160879a26eae28b5bca0e635148d4ab83eddea0 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Thu, 8 Oct 2020 14:48:13 +0200
Subject: [PATCH 192/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1065877][Mahnung - Tippfehler im Beleg]

---
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  4 +-
 report/Reminder_report/reportData.jrxml       | 54 +++++++++----------
 2 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index f2aba5d40f..b5c2b89456 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -6548,7 +6548,7 @@
     </entry>
     <entry>
       <key>Order number</key>
-      <value>Belegsnummer</value>
+      <value>Belegnummer</value>
     </entry>
     <entry>
       <key>Permission Action</key>
@@ -6576,7 +6576,7 @@
     </entry>
     <entry>
       <key>Order date</key>
-      <value>Belegsdatum</value>
+      <value>Belegdatum</value>
     </entry>
     <entry>
       <key>Due date</key>
diff --git a/report/Reminder_report/reportData.jrxml b/report/Reminder_report/reportData.jrxml
index 5e0e92752a..0c3b01764e 100644
--- a/report/Reminder_report/reportData.jrxml
+++ b/report/Reminder_report/reportData.jrxml
@@ -2,7 +2,7 @@
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Mahnung" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
 	<property name="ireport.zoom" value="2.1435888100000016"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="144"/>
+	<property name="ireport.y" value="339"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Kontenabstimmung" class="java.lang.String"/>
 	<parameter name="Rech.-Nr" class="java.lang.String"/>
@@ -41,28 +41,28 @@
 				<textField>
 					<reportElement x="13" y="0" width="68" height="15" uuid="0a515534-8d2a-4e3e-9370-6cac4c65ef68"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$P{Ordernumber}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="104" y="0" width="63" height="15" uuid="87fc2f40-ffdc-47d5-9fd8-7a8caf821114"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$P{Orderdate}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="202" y="0" width="62" height="15" uuid="86eacb27-6bb5-4ce8-b8cf-c3f0993380ad"/>
+					<reportElement x="202" y="0" width="76" height="15" uuid="86eacb27-6bb5-4ce8-b8cf-c3f0993380ad"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$P{DueDate}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="429" y="0" width="59" height="15" uuid="62a0909f-ef03-4242-969a-8a9532d1aa9a"/>
 					<textElement textAlignment="Right">
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$P{Due}]]></textFieldExpression>
 				</textField>
@@ -72,58 +72,58 @@
 				<textField>
 					<reportElement x="104" y="36" width="64" height="15" uuid="ca4c366a-1954-4aee-91c4-05c093b04df5"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{ORDERDATE}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="13" y="36" width="68" height="15" uuid="3fcb3ee0-fe4d-409e-8cb8-7a0e6ceca5ab"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{ORDERCODE}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="202" y="36" width="62" height="15" uuid="b5e006cf-5d37-42a1-bf74-0b49d3a39b27"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{DUEDATE}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="428" y="36" width="60" height="15" uuid="d57eeb7b-f517-4c85-a925-cdc3c1ea0830"/>
 					<textElement textAlignment="Right">
-						<font  size="8" isBold="true"/>
+						<font size="8" isBold="true"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{OFFEN}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="307" y="35" width="56" height="15" uuid="72a49ece-7fc0-4cd7-a00c-94580845d150"/>
+					<reportElement x="332" y="35" width="56" height="15" uuid="72a49ece-7fc0-4cd7-a00c-94580845d150"/>
 					<textElement textAlignment="Right">
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{BRUTTO}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="307" y="15" width="56" height="15" uuid="a991ccab-0b04-4550-bbd2-2033a5fad0f0"/>
+					<reportElement x="332" y="15" width="56" height="15" uuid="a991ccab-0b04-4550-bbd2-2033a5fad0f0"/>
 					<textElement textAlignment="Right">
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{CURRENCY}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="429" y="15" width="59" height="15" uuid="8e257160-536a-418a-b9df-80fa020268b8"/>
 					<textElement textAlignment="Right">
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
 					<textFieldExpression><![CDATA[$F{CURRENCY}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="326" y="0" width="62" height="15" uuid="000feb72-9b7d-42e6-ade9-8e12359c3eef"/>
+					<reportElement x="307" y="0" width="81" height="15" uuid="000feb72-9b7d-42e6-ade9-8e12359c3eef"/>
 					<textElement>
-						<font  size="8"/>
+						<font size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$R{Rech.-Betrag}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$R{Rechnungsbetrag}]]></textFieldExpression>
 				</textField>
 			</band>
 		</groupHeader>
@@ -140,7 +140,7 @@
 			<textField>
 				<reportElement x="13" y="88" width="527" height="20" forecolor="#000000" uuid="a47fa80c-6b70-4c8a-938d-3d44273b1ffb"/>
 				<textElement textAlignment="Center" verticalAlignment="Middle">
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$P{Address}]]></textFieldExpression>
 			</textField>
@@ -157,35 +157,35 @@
 			<textField isStretchWithOverflow="true">
 				<reportElement x="13" y="122" width="152" height="20" uuid="c8514bfb-5e34-43f4-a256-7899cb58f0c1"/>
 				<textElement>
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$P{ReminderAddress}]]></textFieldExpression>
 			</textField>
 			<textField>
 				<reportElement x="13" y="172" width="132" height="20" uuid="d21620a9-4a49-496e-80f6-db842f0b70a9"/>
 				<textElement>
-					<font  size="14" isBold="true"/>
+					<font size="14" isBold="true"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$P{Reminder}]]></textFieldExpression>
 			</textField>
 			<textField pattern="dd.MM.yyyy">
 				<reportElement x="388" y="192" width="100" height="20" uuid="5141d92f-3325-445b-b616-90630c1648f7"/>
 				<textElement textAlignment="Right">
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
 			</textField>
 			<textField>
 				<reportElement x="13" y="232" width="294" height="20" uuid="3f7d1c4a-a326-436b-831d-5da9fd255bf0"/>
 				<textElement>
-					<font  size="8" isBold="true"/>
+					<font size="8" isBold="true"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$F{DUNNINGTEXT}]]></textFieldExpression>
 			</textField>
 			<textField>
 				<reportElement x="13" y="212" width="214" height="20" uuid="52834aec-d107-4cc7-9662-1cdd73ba15c1"/>
 				<textElement>
-					<font  size="8" isBold="true"/>
+					<font size="8" isBold="true"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$P{Dunninglevel} + " " + $F{DUNNINGLEVEL}]]></textFieldExpression>
 			</textField>
@@ -196,21 +196,21 @@
 			<textField pattern="EEEEE dd MMMMM yyyy">
 				<reportElement x="340" y="13" width="112" height="15" forecolor="#999999" uuid="26510f19-a203-4b34-8093-f6a9f7f6050e"/>
 				<textElement>
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
 			</textField>
 			<textField>
 				<reportElement x="452" y="13" width="48" height="15" forecolor="#999999" uuid="218ef560-390f-4807-b7f6-98e6f6162892"/>
 				<textElement textAlignment="Right">
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[$R{Seite}+" "+$V{PAGE_NUMBER}+" "+$R{von}]]></textFieldExpression>
 			</textField>
 			<textField evaluationTime="Report">
 				<reportElement x="500" y="13" width="40" height="15" forecolor="#999999" uuid="7ac354ed-0f8f-41fa-80a5-c2a0f74f7e09"/>
 				<textElement>
-					<font  size="8"/>
+					<font size="8"/>
 				</textElement>
 				<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
 			</textField>
-- 
GitLab


From c459ab871590eb87119c279738315fa3feaf1f48 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 9 Oct 2020 15:07:45 +0200
Subject: [PATCH 193/251] Workflow enable start forms

---
 .../WorkflowInstance_entity.aod                       | 11 +++++++++++
 .../entityfields/processdefinition_id/valueProcess.js |  8 ++++++++
 .../entityfields/startformdefinition/valueProcess.js  |  8 ++++++++
 .../recordcontainers/jdito/contentProcess.js          |  3 ++-
 .../recordcontainers/jdito/onInsert.js                |  9 +++++++--
 .../WorkflowInstanceEdit_view.aod                     |  6 ++++++
 6 files changed, 42 insertions(+), 3 deletions(-)
 create mode 100644 entity/WorkflowInstance_entity/entityfields/processdefinition_id/valueProcess.js
 create mode 100644 entity/WorkflowInstance_entity/entityfields/startformdefinition/valueProcess.js

diff --git a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
index 5a1d85e3ae..a582194e6d 100644
--- a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
+++ b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
@@ -48,6 +48,7 @@
       <name>PROCESSDEFINITION_ID</name>
       <title>Workflow definition</title>
       <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/WorkflowInstance_entity/entityfields/processdefinition_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>START_TIME</name>
@@ -198,6 +199,13 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>STARTFORMDEFINITION</name>
+      <valueProcess>%aditoprj%/entity/WorkflowInstance_entity/entityfields/startformdefinition/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>STARTFORMRESULT</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -247,6 +255,9 @@
         <jDitoRecordFieldMapping>
           <name>ICON.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>STARTFORMRESULT.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/WorkflowInstance_entity/entityfields/processdefinition_id/valueProcess.js b/entity/WorkflowInstance_entity/entityfields/processdefinition_id/valueProcess.js
new file mode 100644
index 0000000000..51591bbe17
--- /dev/null
+++ b/entity/WorkflowInstance_entity/entityfields/processdefinition_id/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+import("system.workflow"); 
+
+var processKey = vars.get("$field.KEY");
+if (processKey && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(workflow.getLatestProcessDefinitionId(processKey));
\ No newline at end of file
diff --git a/entity/WorkflowInstance_entity/entityfields/startformdefinition/valueProcess.js b/entity/WorkflowInstance_entity/entityfields/startformdefinition/valueProcess.js
new file mode 100644
index 0000000000..4c39536dd2
--- /dev/null
+++ b/entity/WorkflowInstance_entity/entityfields/startformdefinition/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+import("system.workflow");
+
+var processDefinitionId = vars.get("$field.PROCESSDEFINITION_ID");
+if (processDefinitionId && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(workflow.getStartFormProperties(processDefinitionId));
\ No newline at end of file
diff --git a/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js b/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
index 7f18c8bc49..9c9bcb7476 100644
--- a/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
@@ -64,7 +64,8 @@ var mappingFn = function (instance)
         "false", //ISFINISHED
         instance.processDefinitionVersion,
         JSON.stringify(instance.processVariables),
-        instance.active ? "VAADIN:AUTOMATION" : "VAADIN:ELLIPSIS_DOTS_H"
+        instance.active ? "VAADIN:AUTOMATION" : "VAADIN:ELLIPSIS_DOTS_H",
+        ""
     ];
 }
 
diff --git a/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js b/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
index c2d4c9cd52..231b021426 100644
--- a/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
@@ -1,3 +1,4 @@
+import("Util_lib");
 import("Employee_lib");
 import("system.entities");
 import("Context_lib");
@@ -6,11 +7,15 @@ import("system.vars");
 import("system.workflow");
 import("system.process");
 
-var variables = JSON.parse(vars.getString("$param.ProcessVariables_param"));
-var targetIdFilter = vars.get("$param.TargetIdFilter_param") ? JSON.parse(vars.getString("$param.TargetIdFilter_param")) : null;
+var variables = Utils.parseJSON(vars.getString("$param.ProcessVariables_param")) || {};
+var targetIdFilter = Utils.parseJSON(vars.get("$param.TargetIdFilter_param"));
 var rowdata = vars.get("$local.rowdata");
 var processKey = rowdata["KEY.value"];
 var instanceName = rowdata["NAME.value"];
+var startFormResult = Utils.parseJSON(rowdata["STARTFORMRESULT.value"]);
+
+if (!Utils.isNullOrEmpty(startFormResult))
+    Object.assign(variables, startFormResult);
 
 //a placeholder that can be used for individual instance names, will be replaced by the content title
 var titlePlaceholder = "{title}";
diff --git a/neonView/WorkflowInstanceEdit_view/WorkflowInstanceEdit_view.aod b/neonView/WorkflowInstanceEdit_view/WorkflowInstanceEdit_view.aod
index ac1fc2fe5b..0d3e0c89b9 100644
--- a/neonView/WorkflowInstanceEdit_view/WorkflowInstanceEdit_view.aod
+++ b/neonView/WorkflowInstanceEdit_view/WorkflowInstanceEdit_view.aod
@@ -25,5 +25,11 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <dynamicFormViewTemplate>
+      <name>StartForm</name>
+      <formDefinition>STARTFORMDEFINITION</formDefinition>
+      <formResult>STARTFORMRESULT</formResult>
+      <editMode v="true" />
+    </dynamicFormViewTemplate>
   </children>
 </neonView>
-- 
GitLab


From 18c2dd483a0014387d40da304cf1df784ca91125 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Fri, 9 Oct 2020 14:57:58 +0000
Subject: [PATCH 194/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064723][Zahlungs-/ Lieferadresse  in Beleg]

---
 .../entityfields/chosendeliveryaddress/onValueChange.js      | 5 ++---
 .../entityfields/chosenpaymentaddress/onValueChange.js       | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js b/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
index b0019362e9..0af12a93e3 100644
--- a/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
+++ b/entity/Order_entity/entityfields/chosendeliveryaddress/onValueChange.js
@@ -3,10 +3,9 @@ import("system.neon");
 import("PostalAddress_lib");
 import("Entity_lib");
 
-var newAddressId = vars.get("local.value");
+var newAddressId = vars.get("$local.value");
 
 if (newAddressId)
 {
     neon.setFieldValue("$field.DELIVERYADDRESS", AddressUtils.getAddressById(newAddressId));
-    
-    }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js b/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js
index 77ffefc857..e30268bc6a 100644
--- a/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js
+++ b/entity/Order_entity/entityfields/chosenpaymentaddress/onValueChange.js
@@ -3,7 +3,7 @@ import("system.neon");
 import("PostalAddress_lib");
 import("Entity_lib");
 
-var newAddressId = vars.get("local.value");
+var newAddressId = vars.get("$local.value");
 
 if (newAddressId)
 {
-- 
GitLab


From ed1ee0db2170fbbe8ffba633c7cdd18086b81090 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 12 Oct 2020 11:38:37 +0200
Subject: [PATCH 195/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1064514][Dashlet: Sales-Trichter mit Filter "Status=offen" programmieren]

---
 .../SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
index 1228d3cc49..67c3c73690 100644
--- a/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
+++ b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod
@@ -8,7 +8,7 @@
       <name>SalesprojectPhases</name>
       <title>Salesproject phases</title>
       <description>Shows how many sales projects are in the various sales phases</description>
-      <fragment>Salesproject/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJQSEFTRSIsIm9wZXJhdG9yIjoiTk9UX0VRVUFMIiwidmFsdWUiOiJOZWdvdGlhdGlvbiIsImtleSI6IlNBTFBST0pQSEFTRU5FR08iLCJjb250ZW50dHlwZSI6IlRFWFQifV19&amp;axes=COUNT&amp;grouping=%23EXTENSION.Phase_filterExtention.Phase_filterExtention%23TEXT</fragment>
+      <fragment>Salesproject/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJQSEFTRSIsIm9wZXJhdG9yIjoiTk9UX0VRVUFMIiwidmFsdWUiOiJOZWdvdGlhdGlvbiIsImtleSI6IlNBTFBST0pQSEFTRU5FR08iLCJjb250ZW50dHlwZSI6IlRFWFQifSx7InR5cGUiOiJyb3ciLCJuYW1lIjoiU1RBVFVTIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiT2ZmZW4iLCJrZXkiOiJTQUxQUk9KU1RBVE9QRU4iLCJjb250ZW50dHlwZSI6IlRFWFQifV19&amp;axes=COUNT&amp;grouping=%23EXTENSION.Phase_filterExtention.Phase_filterExtention%23TEXT</fragment>
       <singleton v="true" />
       <storeRoles>
         <element>PROJECT_FieldStaff</element>
-- 
GitLab


From e972c8fe1251ffbc40a6b9535c3e0280efd1e673 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 12 Oct 2020 12:09:49 +0200
Subject: [PATCH 196/251] WorkflowSignalSender variables added to method
 arguments

---
 process/Workflow_lib/process.js | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index 6bea1c6a4d..8d37e73e42 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -128,33 +128,36 @@ WorkflowSignalSender.EVENT_DELETE = function ()
  * Adds an entry to a context-variable that tells a insert happened. The variable is then checked by WorkflowSignalSender.doInsertedOrUpdated,
  * where the actual logic is executed. The reason for this approach is that 'inserted' signals should be thrown after the insert finished.
  * 
- * @param {String} pTargetId uid of the inserted dataset
- * @param {String} pTargetContext context of the inserted dataset
+ * @param {Object} [pVariables]                     variables to set
+ * @param {String} [pTargetId=$sys.uid]             uid of the inserted dataset
+ * @param {String} [pTargetContext=current context] context of the inserted dataset
  */
-WorkflowSignalSender.inserted = function (pTargetId, pTargetContext)
+WorkflowSignalSender.inserted = function (pVariables, pTargetId, pTargetContext)
 {
-    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_INSERT(), pTargetId, pTargetContext);
+    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_INSERT(), pTargetId, pTargetContext, pVariables);
 }
 
 /**
  * Adds an entry to a context-variable that tells a update happened. The variable is then checked by WorkflowSignalSender.doInsertedOrUpdated,
  * where the actual logic is executed. The reason for this approach is that 'updated' signals should be thrown after the update finished.
  * 
- * @param {String} pTargetId uid of the updated dataset
- * @param {String} pTargetContext context of the updated dataset
+ * @param {Object} [pVariables]                     variables to set
+ * @param {String} [pTargetId=$sys.uid]             uid of the inserted dataset
+ * @param {String} [pTargetContext=current context] context of the inserted dataset
  */
-WorkflowSignalSender.updated = function (pTargetId, pTargetContext)
+WorkflowSignalSender.updated = function (pVariables, pTargetId, pTargetContext)
 {
-    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_UPDATE(), pTargetId, pTargetContext);
+    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_UPDATE(), pTargetId, pTargetContext, pVariables);
 }
 
 /**
- * @param {String} pTargetId uid of the deleted dataset
- * @param {String} pTargetContext context of the deleted dataset
+ * @param {Object} [pVariables]                     variables to set
+ * @param {String} [pTargetId=$sys.uid]             uid of the inserted dataset
+ * @param {String} [pTargetContext=current context] context of the inserted dataset
  */
-WorkflowSignalSender.deleted = function (pTargetId, pTargetContext)
+WorkflowSignalSender.deleted = function (pVariables, pTargetId, pTargetContext)
 {
-    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_DELETE(), pTargetId, pTargetContext);
+    WorkflowSignalSender.eventHappened(WorkflowSignalSender.EVENT_DELETE(), pTargetId, pTargetContext, pVariables);
 }
 
 /**
-- 
GitLab


From 9a44ff30aece6fcb2ce5680bad93287595c1c84e Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 12 Oct 2020 13:46:13 +0200
Subject: [PATCH 197/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1065877][Mahnung - Tippfehler im Beleg]

---
 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod |  3 +++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod       |  4 ++++
 language/_____LANGUAGE_en/_____LANGUAGE_en.aod       |  3 +++
 report/Reminder_report/reportData.jrxml              | 10 +++++-----
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 2853fb5978..ba8f537e45 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7284,6 +7284,9 @@
     <entry>
       <key>Probability in %</key>
     </entry>
+    <entry>
+      <key>Outstanding Amount</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index b5c2b89456..698fcf15c8 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9662,6 +9662,10 @@ Bitte Datumseingabe prüfen</value>
       <key>Probability in %</key>
       <value>Wahrscheinlichkeit in %</value>
     </entry>
+    <entry>
+      <key>Outstanding Amount</key>
+      <value>Offener Betrag</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index b09cc03cde..7831ec4c96 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7365,6 +7365,9 @@
     <entry>
       <key>Probability in %</key>
     </entry>
+    <entry>
+      <key>Outstanding Amount</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/report/Reminder_report/reportData.jrxml b/report/Reminder_report/reportData.jrxml
index 0c3b01764e..ca529152a3 100644
--- a/report/Reminder_report/reportData.jrxml
+++ b/report/Reminder_report/reportData.jrxml
@@ -2,7 +2,7 @@
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Mahnung" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
 	<property name="ireport.zoom" value="2.1435888100000016"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="339"/>
+	<property name="ireport.y" value="57"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Kontenabstimmung" class="java.lang.String"/>
 	<parameter name="Rech.-Nr" class="java.lang.String"/>
@@ -60,11 +60,11 @@
 					<textFieldExpression><![CDATA[$P{DueDate}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="429" y="0" width="59" height="15" uuid="62a0909f-ef03-4242-969a-8a9532d1aa9a"/>
+					<reportElement x="408" y="0" width="103" height="15" uuid="62a0909f-ef03-4242-969a-8a9532d1aa9a"/>
 					<textElement textAlignment="Right">
 						<font size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Due}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Outstanding Amount}]]></textFieldExpression>
 				</textField>
 				<line>
 					<reportElement x="13" y="33" width="527" height="1" uuid="d5108302-191f-4e27-8920-fcd330d335e8"/>
@@ -91,7 +91,7 @@
 					<textFieldExpression><![CDATA[$F{DUEDATE}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="428" y="36" width="60" height="15" uuid="d57eeb7b-f517-4c85-a925-cdc3c1ea0830"/>
+					<reportElement x="451" y="36" width="60" height="15" uuid="d57eeb7b-f517-4c85-a925-cdc3c1ea0830"/>
 					<textElement textAlignment="Right">
 						<font size="8" isBold="true"/>
 					</textElement>
@@ -112,7 +112,7 @@
 					<textFieldExpression><![CDATA[$F{CURRENCY}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="429" y="15" width="59" height="15" uuid="8e257160-536a-418a-b9df-80fa020268b8"/>
+					<reportElement x="452" y="15" width="59" height="15" uuid="8e257160-536a-418a-b9df-80fa020268b8"/>
 					<textElement textAlignment="Right">
 						<font size="8"/>
 					</textElement>
-- 
GitLab


From 5ba29552f7e67b51c49b2e676cafe971e02bf657 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 12 Oct 2020 17:10:18 +0200
Subject: [PATCH 198/251] Liquibase Data_alias 2020.2.1 folder added

---
 .liquibase/Data_alias/basic/2020.2.1/changelog.xml | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/changelog.xml

diff --git a/.liquibase/Data_alias/basic/2020.2.1/changelog.xml b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
new file mode 100644
index 0000000000..78f4080832
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
@@ -0,0 +1,5 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    
+</databaseChangeLog>
-- 
GitLab


From c0a17574761e17ec1772e9cfc7ecf84b71dd336e Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 14 Oct 2020 14:43:22 +0200
Subject: [PATCH 199/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201067247][[Export]=20Ansicht=20bleibt=20ge=C3=B6ffnet,?=
 =?UTF-8?q?=20Export=20kann=20beliebig=20oft=20ausgef=C3=BChrt=20werden]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../entityfields/safeandexport/onActionProcess.js           | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js b/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js
index 0eecb635d1..66ee054757 100644
--- a/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js
+++ b/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js
@@ -9,6 +9,8 @@ var comingFrom = vars.get("$field.comingfrom");
 
 if(templateId)
 {
-var document = ExportTemplateUtils.buildExport(templateId, selection, comingFrom, filename);
-neon.download(document.content, document.filename);
+    var document = ExportTemplateUtils.buildExport(templateId, selection, comingFrom, filename);
+    neon.download(document.content, document.filename);
+    //since we do not open something after the download we need to close the window where the action is placed
+    neon.closeImage(vars.get("$sys.currentimage"), true);
 }
\ No newline at end of file
-- 
GitLab


From df6c05182cc618699f1442ff5f33db848a9a81f1 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 14 Oct 2020 13:10:48 +0000
Subject: [PATCH 200/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1060551][Standardadresse bleibt bei Firmenwechsel gleich]

---
 .../recordcontainers/db/onDBUpdate.js         | 26 +++----------------
 1 file changed, 3 insertions(+), 23 deletions(-)

diff --git a/entity/Person_entity/recordcontainers/db/onDBUpdate.js b/entity/Person_entity/recordcontainers/db/onDBUpdate.js
index b6e1ccbb97..0c29899fd4 100644
--- a/entity/Person_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Person_entity/recordcontainers/db/onDBUpdate.js
@@ -21,30 +21,10 @@ for (var i = 0; i < localChanged.length; i++) {
 
 if(orgChanged)
 {
-    var orgAddressId = newSelect("CONTACT.ADDRESS_ID")
-                                    .from("CONTACT")
-                                    .where("CONTACT.ORGANISATION_ID",  vars.get("$field.ORGANISATION_ID"))
-                                    .and("CONTACT.PERSON_ID is null")
-                                    .cell();
+    var standardAddressId = new StandardObject("Address", null, "Person", vars.get("$field.PERSONID"))
+            .onPersonValueChange(vars.get("$field.ORGANISATION_ID"));
 
-    var addressId = vars.get("$field.ADDRESS_ID");
-
-    if(addressId != orgAddressId) //update standard address if the the organisation changed
-    {
-        var persAddress = newSelect("ADDRESS.ADDRESSID")
-                                .from("ADDRESS")
-                                .where("ADDRESS.CONTACT_ID", vars.get("$field.CONTACTID"))
-                                .and("ADDRESS.ADDRESSID", addressId)
-                                .cell();
-
-        if(!persAddress) // only when the standard address is from the organisation
-        {
-            var standardAddressId = new StandardObject("Address", null, "Person", vars.get("$field.PERSONID"))
-                    .onPersonValueChange(vars.get("$field.ORGANISATION_ID"));
-
-            neon.setFieldValue("$field.ADDRESS_ID", standardAddressId);
-        }
-    }
+    newWhere("CONTACT.CONTACTID", vars.get("$field.CONTACTID")).updateData(true, "CONTACT", ["ADDRESS_ID"], null, [standardAddressId])
 }
 
 var rowdata =  vars.get("$local.rowdata");
-- 
GitLab


From d2a593b19feb499f6e701bb6f475b17b5b2cdc69 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 14 Oct 2020 13:14:23 +0000
Subject: [PATCH 201/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201054174][Fehler=20in=20FilterExtension=20f=C3=BCr=20A?=
 =?UTF-8?q?ttributes]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../AttributeRelation_entity.aod              | 35 +++++++++++++++++++
 .../displaysimplename_param/valueProcess.js   |  3 ++
 .../attributecount_param/valueProcess.js      |  8 +++++
 .../children/objecttype_param/valueProcess.js |  4 +++
 entity/Attribute_entity/Attribute_entity.aod  | 21 +++++++++++
 .../displaysimplename_param/valueProcess.js   |  3 ++
 .../Organisation_entity.aod                   | 21 +++++++++++
 .../objectrowid_param/valueProcess.js         |  4 +++
 .../children/objecttype_param/valueProcess.js |  4 +++
 .../_____LANGUAGE_EXTRA.aod                   |  9 +++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     | 12 +++++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  9 +++++
 process/AttributeFilter_lib/process.js        |  2 +-
 13 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 entity/AttributeRelation_entity/entityfields/filterprovider/children/displaysimplename_param/valueProcess.js
 create mode 100644 entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/attributecount_param/valueProcess.js
 create mode 100644 entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/objecttype_param/valueProcess.js
 create mode 100644 entity/Attribute_entity/entityfields/specificfilterattributes/children/displaysimplename_param/valueProcess.js
 create mode 100644 entity/Organisation_entity/entityfields/attributesfilter/children/objectrowid_param/valueProcess.js
 create mode 100644 entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js

diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index 74b45b0ba6..4e5c98f9de 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -346,6 +346,41 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityConsumer>
+      <name>SpecificFilterAttributes</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Attribute_entity</entityName>
+        <fieldName>SpecificFilterAttributes</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AttributeCount_param</name>
+          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/attributecount_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityProvider>
+      <name>FilterProvider</name>
+      <dependencies>
+        <entityDependency>
+          <name>0560c6d0-8473-4050-9ca1-a935bbac2ef9</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>AttributesFilter</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>DisplaySimpleName_param</name>
+          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/filterprovider/children/displaysimplename_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityProvider>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/AttributeRelation_entity/entityfields/filterprovider/children/displaysimplename_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/filterprovider/children/displaysimplename_param/valueProcess.js
new file mode 100644
index 0000000000..e0f3ec47e2
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/filterprovider/children/displaysimplename_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(false);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/attributecount_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/attributecount_param/valueProcess.js
new file mode 100644
index 0000000000..9c0bc23173
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/attributecount_param/valueProcess.js
@@ -0,0 +1,8 @@
+import("Attribute_lib");
+import("system.result");
+import("system.vars");
+
+var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
+var rowId = vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param");
+if (vars.get("$param.GetTree_param") == "true" && rowId)
+    result.object(AttributeRelationUtils.countAttributeRelations(rowId, objectType));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/objecttype_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000..5c2ba1e99b
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/specificfilterattributes/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.exists("$param.ObjectType_param") ? vars.get("$param.ObjectType_param") : "");
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index 6f00c57a63..26e2e934e5 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -485,6 +485,27 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityProvider>
+      <name>SpecificFilterAttributes</name>
+      <dependencies>
+        <entityDependency>
+          <name>9b2b5f2e-229d-4a10-a54f-cbf77aafe512</name>
+          <entityName>AttributeRelation_entity</entityName>
+          <fieldName>SpecificFilterAttributes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>DisplaySimpleName_param</name>
+          <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/specificfilterattributes/children/displaysimplename_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ChildType_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityProvider>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Attribute_entity/entityfields/specificfilterattributes/children/displaysimplename_param/valueProcess.js b/entity/Attribute_entity/entityfields/specificfilterattributes/children/displaysimplename_param/valueProcess.js
new file mode 100644
index 0000000000..e0f3ec47e2
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/specificfilterattributes/children/displaysimplename_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(false);
\ No newline at end of file
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index b57569f1d2..4d5db6ed1a 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1074,6 +1074,7 @@
     </entityActionGroup>
     <entityField>
       <name>STANDARD_COUNTRY</name>
+      <title>Standard Country</title>
       <groupable v="true" />
     </entityField>
     <entityParameter>
@@ -1139,10 +1140,12 @@
     </entityField>
     <entityField>
       <name>STANDARD_ZIP</name>
+      <title>Standard Zip</title>
       <groupable v="true" />
     </entityField>
     <entityField>
       <name>STANDARD_CITY</name>
+      <title>Standard City</title>
       <groupable v="true" />
     </entityField>
     <entityField>
@@ -1397,6 +1400,24 @@
         </entityActionField>
       </children>
     </entityActionGroup>
+    <entityConsumer>
+      <name>AttributesFilter</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>FilterProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributesfilter/children/objectrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Organisation_entity/entityfields/attributesfilter/children/objectrowid_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributesfilter/children/objectrowid_param/valueProcess.js
new file mode 100644
index 0000000000..59af8506d7
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/attributesfilter/children/objectrowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));//TODO: CONTACTID/ORGANISATIONID: review if this should be the CONTACTID or the ORGANISATIONID
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000..59af8506d7
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));//TODO: CONTACTID/ORGANISATIONID: review if this should be the CONTACTID or the ORGANISATIONID
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 2853fb5978..bee7fd6513 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7284,6 +7284,15 @@
     <entry>
       <key>Probability in %</key>
     </entry>
+    <entry>
+      <key>Standard City</key>
+    </entry>
+    <entry>
+      <key>Standard Country</key>
+    </entry>
+    <entry>
+      <key>Standard Zip</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index f2aba5d40f..04d7a48207 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9662,6 +9662,18 @@ Bitte Datumseingabe prüfen</value>
       <key>Probability in %</key>
       <value>Wahrscheinlichkeit in %</value>
     </entry>
+    <entry>
+      <key>Standard City</key>
+      <value>Standardstadt</value>
+    </entry>
+    <entry>
+      <key>Standard Country</key>
+      <value>Standartland</value>
+    </entry>
+    <entry>
+      <key>Standard Zip</key>
+      <value>Standart Plz</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index b09cc03cde..8c0cd36df4 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7365,6 +7365,15 @@
     <entry>
       <key>Probability in %</key>
     </entry>
+    <entry>
+      <key>Standard City</key>
+    </entry>
+    <entry>
+      <key>Standard Country</key>
+    </entry>
+    <entry>
+      <key>Standard Zip</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/process/AttributeFilter_lib/process.js b/process/AttributeFilter_lib/process.js
index e67a69bc2d..d64df9664b 100644
--- a/process/AttributeFilter_lib/process.js
+++ b/process/AttributeFilter_lib/process.js
@@ -89,7 +89,7 @@ AttributeFilterExtensionMaker.getFilterFields = function(pObjectType)
     var res = [];
 
     var loadingConfig = entities.createConfigForLoadingRows().entity("Attribute_entity")
-        .provider("SpecificAttribute")
+        .provider("SpecificFilterAttributes")
         .fields(["UID", "FULL_ATTRIBUTE_NAME", "ATTRIBUTE_TYPE"])
         .addParameter("ObjectType_param", pObjectType);
 
-- 
GitLab


From cb98a0d5bcd16f838e0d9e46f0ce00d3269fea85 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 14 Oct 2020 08:30:44 +0200
Subject: [PATCH 202/251] Language fix

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 04d7a48207..b147edcd14 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9270,7 +9270,7 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Child Attributes</key>
-      <value>Diagrameigenschaften</value>
+      <value>Untergeordnete Eigenschaften</value>
     </entry>
     <entry>
       <key>Recalculate all Classifications</key>
-- 
GitLab


From 2e9008ed9c1c1bef0d5546595271f96bbb22b6d0 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 14 Oct 2020 08:31:37 +0200
Subject: [PATCH 203/251] #1065237 Trigger workflows with link

---
 process/Workflow_lib/process.js         | 54 +++++++++++++++++++++++++
 process/redirect_rest/process.js        | 23 +++++++++++
 process/redirect_rest/redirect_rest.aod | 12 ++++++
 3 files changed, 89 insertions(+)
 create mode 100644 process/redirect_rest/process.js
 create mode 100644 process/redirect_rest/redirect_rest.aod

diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index 8d37e73e42..16770fca1a 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -1,3 +1,4 @@
+import("Util_lib");
 import("system.text");
 import("system.logging");
 import("system.project");
@@ -601,3 +602,56 @@ WorkflowModelerApiCall.prototype.importModel = function ()
 }
 
 
+function WorkflowLinkActions () {}
+
+WorkflowLinkActions.types = {
+    RECEIVE_TASK: function () {return "receive";}
+};
+
+WorkflowLinkActions.types.RECEIVE_TASK.execute = function (pParameters)
+{
+    if (!pParameters.piId || !pParameters.recId)
+        return;
+    
+    workflow.triggerReceiveTask(pParameters.piId, pParameters.recId);
+}
+
+
+WorkflowLinkActions.encodeAction = function (pType, pLink, pParams)
+{
+    var actionObj = pParams || {};
+    actionObj.type = pType;
+    actionObj.link = pLink;
+    
+    var actionString = JSON.stringify(actionObj);
+    return encodeURIComponent(util.encodeBase64String(actionString));
+}
+
+WorkflowLinkActions.parseAction = function (pEncodedAction)
+{
+    try 
+    {   
+        var decodedAction = decodeURIComponent(util.decodeBase64String(pEncodedAction))
+        var parsedAction = JSON.parse(decodedAction);
+    }
+    catch (err)
+    {
+        parsedAction = {};
+    }
+    
+    return {
+        type: parsedAction.type || null,
+        redirectLink: parsedAction.link || null,
+        params: parsedAction,
+        run: function ()
+        {
+            for (let typeName in WorkflowLinkActions.types)
+            {
+                let actionType = WorkflowLinkActions.types[typeName];
+                if (this.type == actionType())
+                    return actionType.execute.call(this, this.params);
+            }
+            return null;
+        }
+    };
+}
\ No newline at end of file
diff --git a/process/redirect_rest/process.js b/process/redirect_rest/process.js
new file mode 100644
index 0000000000..8fe7bdeca5
--- /dev/null
+++ b/process/redirect_rest/process.js
@@ -0,0 +1,23 @@
+import("Workflow_lib");
+import("system.util");
+import("system.logging");
+
+function restget (pRequest)
+{
+    var request = JSON.parse(pRequest);
+    var action = WorkflowLinkActions.parseAction(request.query.act);
+    
+    action.run();
+    
+    if (action.redirectLink)
+    {
+        request.response.httpStatusCode = 302; //found, redirect
+        request.response.header.Location = action.redirectLink;
+    }
+    else
+    {
+        request.response.httpStatusCode = 204; //no content
+    }
+    
+    return JSON.stringify(request);
+}
diff --git a/process/redirect_rest/redirect_rest.aod b/process/redirect_rest/redirect_rest.aod
new file mode 100644
index 0000000000..3087b0ad4b
--- /dev/null
+++ b/process/redirect_rest/redirect_rest.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>redirect_rest</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/redirect_rest/process.js</process>
+  <publishAsWebservice v="true" />
+  <style>REST</style>
+  <loginTypeId>internal.none</loginTypeId>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
-- 
GitLab


From 07fb72b31d62005e8e4e7970cd6484667d9bc889 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 14 Oct 2020 14:32:26 +0200
Subject: [PATCH 204/251] #1065237 Send email with workflow link

---
 .../CreateActivity_workflowService/process.js |  5 +-
 .../process.js                                |  2 +-
 process/DocumentTemplate_lib/process.js       |  3 +-
 process/Employee_lib/process.js               |  4 +-
 process/SendEmail_workflowService/process.js  | 18 +++--
 .../serviceTaskParameterProcess.js            | 34 +++++++++-
 .../SetAttribute_workflowService/process.js   |  2 +-
 process/Workflow_lib/process.js               | 66 ++++++++++++++++---
 process/redirect_rest/process.js              |  2 +-
 9 files changed, 110 insertions(+), 26 deletions(-)

diff --git a/process/CreateActivity_workflowService/process.js b/process/CreateActivity_workflowService/process.js
index 99d7da17dd..339b653450 100644
--- a/process/CreateActivity_workflowService/process.js
+++ b/process/CreateActivity_workflowService/process.js
@@ -15,7 +15,4 @@ var activityData = {
 };
 
 var links = [[variables.targetContext, variables.targetId]];
-var activity = ActivityUtils.insertNewActivity(activityData, links);
-
-result.string(activity.activityId);
-
+var activity = ActivityUtils.insertNewActivity(activityData, links);
\ No newline at end of file
diff --git a/process/CreateSalesproject_workflowService/process.js b/process/CreateSalesproject_workflowService/process.js
index a1fb1558fc..03e704f2ea 100644
--- a/process/CreateSalesproject_workflowService/process.js
+++ b/process/CreateSalesproject_workflowService/process.js
@@ -34,4 +34,4 @@ var processVariables = {
         "targetId": id,
         "targetContext": "Salesproject"
 }
-workflow.setProcessInstanceVariables(vars.get("$local.uid"), processVariables)
+result.object(processVariables);
diff --git a/process/DocumentTemplate_lib/process.js b/process/DocumentTemplate_lib/process.js
index 9d6c7fd07c..68621c5eef 100644
--- a/process/DocumentTemplate_lib/process.js
+++ b/process/DocumentTemplate_lib/process.js
@@ -637,6 +637,7 @@ DocumentTemplate.prototype.getReplacementsByContactIds = function (pContactIds,
     var placeholders = this._getRequiredPlaceholders(["{@firstname@}", "{@lastname@}"], pAdditionalPlaceholders);
     var contactPlaceholders = [];
     var additionalPlaceholders = {};
+    var isUserRequired = false;
     placeholders.forEach(function (placeholder)
     {
         switch (placeholder.type)
@@ -673,7 +674,7 @@ DocumentTemplate.prototype.getReplacementsByContactIds = function (pContactIds,
             if (placeholder.type === Placeholder.types.FIXEDVALUE)
                 replacements[contactId][placeholderName] = placeholder.valueDefinition;
             else if (placeholder.type === Placeholder.types.CALLBACKFUNCTION)
-                replacements[contactId][placeholderName] = placeholder.valueDefinition(contactId);
+                replacements[contactId][placeholderName] = placeholder.valueDefinition.call(this, contactId);
         }
     }
     return replacements;
diff --git a/process/Employee_lib/process.js b/process/Employee_lib/process.js
index 2c7e08724a..34e15d5760 100644
--- a/process/Employee_lib/process.js
+++ b/process/Employee_lib/process.js
@@ -22,7 +22,9 @@ EmployeeUtils.getCurrentContactId = function ()
 {
     if (vars.getString("$sys.isclient") == "true" && vars.exists("$global.user.contactId"))
         return  vars.get("$global.user.contactId");
-
+    if (!vars.exists("$sys.user"))
+        return null;
+    
     var user = tools.getCurrentUser();
     return user ? user[tools.PARAMS][tools.CONTACTID] : null;
 }
diff --git a/process/SendEmail_workflowService/process.js b/process/SendEmail_workflowService/process.js
index b2d61012cd..6ccbfe3e76 100644
--- a/process/SendEmail_workflowService/process.js
+++ b/process/SendEmail_workflowService/process.js
@@ -1,22 +1,33 @@
+import("Util_lib");
 import("Communication_lib");
 import("system.tools");
 import("system.result");
 import("DocumentTemplate_lib");
 import("system.vars");
 import("Email_lib");
+import("Placeholder_lib");
+import("Workflow_lib");
 
+var processInstanceId = vars.get("$local.uid");
 var variables = JSON.parse(vars.get("$local.value"));
 var recipientContactId = variables.recipientContactId;
 var documentTemplateId = variables.documentTemplateId;
 var senderName = variables.senderName;
 var mailSubject = variables.mailSubject;
 
-var email = Email.fromTemplate(documentTemplateId, recipientContactId);
+var actionParams = Utils.clone(variables);
+actionParams.processInstanceId = processInstanceId;
+var linkPlaceholder = new Placeholder("workflowActionLink", Placeholder.types.CALLBACKFUNCTION, function ()
+{
+    return WorkflowLinkActions.getActionLink("https://localhost:8443", actionParams.linkActionType, actionParams.redirectLink, actionParams);
+});
+
+var email = Email.fromTemplate(documentTemplateId, recipientContactId, null, [linkPlaceholder]);
 email.subject = mailSubject;
 email.toRecipients = [CommUtil.getStandardMail(recipientContactId)];
 
 //if we use @@instanceId in the mail body to track the user interaction, we replace it here with the instance id
-email.body = email.body.replace("@@instanceId", vars.get("$local.uid"));    
+email.body = email.body.replace("@@instanceId", processInstanceId);    
 
 var sendResult;
 if(senderName)
@@ -29,5 +40,4 @@ if(senderName)
 else
 {
     sendResult = email.send();  
-}
-result.string(sendResult);
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/process/SendEmail_workflowService/serviceTaskParameterProcess.js b/process/SendEmail_workflowService/serviceTaskParameterProcess.js
index 8fdc7e978b..b581232fe5 100644
--- a/process/SendEmail_workflowService/serviceTaskParameterProcess.js
+++ b/process/SendEmail_workflowService/serviceTaskParameterProcess.js
@@ -1,3 +1,4 @@
+import("system.vars");
 import("system.result");
 import("Workflow_lib");
 import("KeywordRegistry_basic");
@@ -19,7 +20,34 @@ var contacts = newSelect(["CONTACTID", new ContactTitleRenderer(Contact.createWi
     .table()
     .map(function (item) {return {id : item[0], name : item[1]};});
 
-result.object([
+var workflowLinkActionTypes = [];
+for (let typeName in WorkflowLinkActions.types)
+{
+    let actionType = WorkflowLinkActions.types[typeName];
+    workflowLinkActionTypes.push({id: actionType(), name: actionType.title});
+}
+
+var parameters = [
     new WorkflowServiceTaskParameter("documentTemplateId", "Document template", WorkflowServiceTaskParameter.ENUM(), templates),
-    new WorkflowServiceTaskParameter("recipientContactId", "Recipient", WorkflowServiceTaskParameter.ENUM(), contacts)
-]);
\ No newline at end of file
+    new WorkflowServiceTaskParameter("recipientContactId", "Recipient", WorkflowServiceTaskParameter.ENUM(), contacts),
+    new WorkflowServiceTaskParameter("linkActionType", "Link action", WorkflowServiceTaskParameter.ENUM(), workflowLinkActionTypes, true)
+];
+
+var currentValues = JSON.parse(vars.get("$local.value"));
+if (currentValues.linkActionType && currentValues.linkActionType.value)
+{
+    parameters.push(new WorkflowServiceTaskParameter("redirectLink", "Link", WorkflowServiceTaskParameter.STRING()));
+    switch (currentValues.linkActionType.value)
+    {
+        case WorkflowLinkActions.types.RECEIVE_TASK():
+            parameters.push(new WorkflowServiceTaskParameter("receiveTask", "Receive Task Id", WorkflowServiceTaskParameter.STRING()));
+            break;
+        case WorkflowLinkActions.types.SIGNAL():
+            parameters.push(new WorkflowServiceTaskParameter("signal", "Signal", WorkflowServiceTaskParameter.STRING()));
+            break;
+        case WorkflowLinkActions.types.MESSAGE():
+            parameters.push(new WorkflowServiceTaskParameter("message", "Message", WorkflowServiceTaskParameter.STRING()));
+    }
+}
+
+result.object(parameters);
\ No newline at end of file
diff --git a/process/SetAttribute_workflowService/process.js b/process/SetAttribute_workflowService/process.js
index 5ae7685d47..c9f17d88c3 100644
--- a/process/SetAttribute_workflowService/process.js
+++ b/process/SetAttribute_workflowService/process.js
@@ -16,4 +16,4 @@ if (variables.attributeName)
 else
     attributeId = variables.attributeId;
 
-result.string(new AttributeRelationQuery(variables.targetId, attributeId, variables.targetContext).insertAttribute(variables.attributeValue));
\ No newline at end of file
+new AttributeRelationQuery(variables.targetId, attributeId, variables.targetContext).insertAttribute(variables.attributeValue);
\ No newline at end of file
diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index 16770fca1a..a876cd9f85 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -1,3 +1,4 @@
+import("system.process");
 import("Util_lib");
 import("system.text");
 import("system.logging");
@@ -605,44 +606,89 @@ WorkflowModelerApiCall.prototype.importModel = function ()
 function WorkflowLinkActions () {}
 
 WorkflowLinkActions.types = {
-    RECEIVE_TASK: function () {return "receive";}
+    RECEIVE_TASK: function () {return "rec";},
+    SIGNAL: function () {return "sig";},
+    MESSAGE: function () {return "msg";}
 };
 
+WorkflowLinkActions.types.RECEIVE_TASK.title = "Receive Task";
 WorkflowLinkActions.types.RECEIVE_TASK.execute = function (pParameters)
 {
-    if (!pParameters.piId || !pParameters.recId)
+    if (!pParameters.processInstanceId)
         return;
     
-    workflow.triggerReceiveTask(pParameters.piId, pParameters.recId);
+    workflow.triggerReceiveTask(pParameters.processInstanceId, pParameters.receiveTask || null);
 }
 
+WorkflowLinkActions.types.SIGNAL.title = "Signal";
+WorkflowLinkActions.types.SIGNAL.execute = function (pParameters)
+{
+    if (!pParameters.processInstanceId)
+        return;
+    workflow.signalEventReceived(pParameters.signal);
+}
+
+WorkflowLinkActions.types.MESSAGE.title = "Message";
+WorkflowLinkActions.types.MESSAGE.execute = function (pParameters)
+{
+    if (!pParameters.processInstanceId || !pParameters.message)
+        return;
+}
 
 WorkflowLinkActions.encodeAction = function (pType, pLink, pParams)
 {
-    var actionObj = pParams || {};
-    actionObj.type = pType;
-    actionObj.link = pLink;
+    if (!pParams)
+        pParams = {};
+    //map params to have shorter keys, results in shorter url
+    var actionObj = {};
+    if (pParams.processInstanceId)
+        actionObj.pi = pParams.processInstanceId;
+    if (pParams.signal)
+        actionObj.sg = pParams.signal;
+    if (pParams.message)
+        actionObj.ms = pParams.message;
+    if (pParams.receiveTask)
+        actionObj.re = pParams.receiveTask;
+    actionObj.ty = pType;
+    actionObj.ln = pLink;
     
     var actionString = JSON.stringify(actionObj);
     return encodeURIComponent(util.encodeBase64String(actionString));
 }
 
+WorkflowLinkActions.getActionLink = function (pBaseUrl, pType, pLink, pParams)
+{
+    if (!pBaseUrl.endsWith("/"))
+        pBaseUrl += "/";
+    return pBaseUrl + "services/rest/redirect_rest?act=" + WorkflowLinkActions.encodeAction(pType, pLink, pParams);
+}
+
 WorkflowLinkActions.parseAction = function (pEncodedAction)
 {
     try 
     {   
-        var decodedAction = decodeURIComponent(util.decodeBase64String(pEncodedAction))
+        var decodedAction = decodeURIComponent(util.decodeBase64String(pEncodedAction));
         var parsedAction = JSON.parse(decodedAction);
     }
     catch (err)
     {
         parsedAction = {};
     }
+    //map the object so it has understandable keys when used
+    var actionParams = {};
+    if (parsedAction.pi)
+        actionParams.processInstanceId = parsedAction.pi;
+    if (parsedAction.sg)
+        actionParams.signal = parsedAction.sg;
+    if (parsedAction.ms)
+        actionParams.message = parsedAction.ms;
+    if (parsedAction.re)
+        actionParams.receiveTask = parsedAction.re;
     
     return {
-        type: parsedAction.type || null,
-        redirectLink: parsedAction.link || null,
-        params: parsedAction,
+        type: parsedAction.ty || null,
+        redirectLink: parsedAction.ln || null,
+        params: actionParams,
         run: function ()
         {
             for (let typeName in WorkflowLinkActions.types)
diff --git a/process/redirect_rest/process.js b/process/redirect_rest/process.js
index 8fe7bdeca5..fe542e6008 100644
--- a/process/redirect_rest/process.js
+++ b/process/redirect_rest/process.js
@@ -1,6 +1,6 @@
 import("Workflow_lib");
+import("Util_lib");
 import("system.util");
-import("system.logging");
 
 function restget (pRequest)
 {
-- 
GitLab


From 0f5fdda60d41775f21049ca9e985071e9eb61379 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 15 Oct 2020 13:43:24 +0200
Subject: [PATCH 205/251] #1067300 SqlMaskingUtils concat fixed for oracle db

---
 process/Sql_lib/process.js | 141 +++++++++++++++++++------------------
 1 file changed, 73 insertions(+), 68 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index a801475536..5c4b1876b6 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3099,12 +3099,12 @@ function SqlMaskingUtils(alias) {
  * returns the concat symbol depending on database type
  * @return {String} Concat Symbol
  */
-SqlMaskingUtils.prototype.getConcatSymbol = function() {
-    var concatSymbol;
-    switch(Number(this.dbType)) {
+SqlMaskingUtils.prototype.getConcatSymbol = function() 
+{
+    switch(Number(this.dbType)) 
+    {
         case db.DBTYPE_SQLSERVER2000:
-            concatSymbol = " + ";
-            break;
+            return " + ";
         case db.DBTYPE_MARIADB10:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_ORACLE10_CLUSTER:
@@ -3113,10 +3113,8 @@ SqlMaskingUtils.prototype.getConcatSymbol = function() {
         case db.DBTYPE_POSTGRESQL8:
         case db.DBTYPE_DERBY10:
         default:
-            concatSymbol = " || ";
-            break;
+            return " || ";
     }
-    return concatSymbol;
 }
 
 /**
@@ -3131,18 +3129,11 @@ SqlMaskingUtils.prototype.getConcatSymbol = function() {
 * @return {String}                      <p>
 *                                       Returns the trimmed string.<br>
 */
-SqlMaskingUtils.prototype.trim = function(pField) {
-    var dbType, resultStr;
-    dbType = this.dbType;
-    switch(dbType) {
-        case db.DBTYPE_SQLSERVER2000:
-            resultStr = "ltrim(rtrim(" + pField + "))";
-            break;
-        default:
-            resultStr = "trim(" + pField + ")"
-            break;
-    }
-    return resultStr;
+SqlMaskingUtils.prototype.trim = function(pField) 
+{
+    if (this.dbType == db.DBTYPE_SQLSERVER2000)
+            return "ltrim(rtrim(" + pField + "))";
+    return "trim(" + pField + ")";
 }
 
 /**
@@ -3267,10 +3258,10 @@ SqlMaskingUtils.prototype.cast = function(field, targetDatatype, targetLength) {
             switch(targetDatatype)
             {
                 case SQLTYPES.VARCHAR:
-                    datatype = "varchar2";
+                    sqlDataType = "varchar2";
                     break;
                 case SQLTYPES.INTEGER:
-                    datatype = "number";
+                    sqlDataType = "number";
                     targetLength = "10"
                     break;
                 case SQLTYPES.CHAR:
@@ -3417,41 +3408,41 @@ SqlMaskingUtils.prototype.substring = function(field, start, length) {
 * if a sql field is empty no separator will be added
 * note that this function will often create a lot of sql-code
 *
-* @param {Array} fields req fields (or expressions) that should be concatenated
-* @param {String} [separatorCharacter=space-character] character for separating the fields; warning: the character will not be quoted
-* @param {String} [autoTrimFields=true] autoTrimFields if true the expressions are always trimmed, false no change will be applied
+* @param {Array} pFields fields (or expressions) that should be concatenated
+* @param {String} [pSeparator=space-character] character for separating the fields
+* @param {String} [pAutoTrimFields=true] autoTrimFields if true the expressions are always trimmed, false no change will be applied
 *
 * @return {String} part of SQL-querey
 */
-SqlMaskingUtils.prototype.concat = function(fields, separatorCharacter, autoTrimFields) {
-    var concatSql, retSql, isNotEmptyStrSql, isNotNullSql, separatorSql, _isNotEmpty, _trimIfAutoTrimEnabled;
-    if (fields.length == 0)
+SqlMaskingUtils.prototype.concat = function(pFields, pSeparator, pAutoTrimFields) 
+{
+    if (pFields.length === 0)
         return "''";
-    else if (fields.length == 1)
-        return fields[0];
-    concatSql = this.getConcatSymbol();
-    isNotEmptyStrSql =  " != '' ";
-    isNotNullSql = " is not null ";
-    separatorSql = separatorCharacter == undefined ? " " : separatorCharacter;
-    retSql = "";
-    if (autoTrimFields == undefined)
-        autoTrimFields = true;
+    if (pFields.length === 1)
+        return pFields[0];
+    
+    if (pAutoTrimFields == undefined)
+        pAutoTrimFields = true;
+    
+    if (pSeparator === null || pSeparator === undefined)
+        pSeparator = "' '";
+    else if (pSeparator)
+        pSeparator = "'" + db.quote(pSeparator, this.alias) + "'";
+    
+    var doEmptyStringCheck = true;
 
-    switch(this.dbType)
+    switch (this.dbType)
     {
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
         case db.DBTYPE_POSTGRESQL8:
-            retSql = " concat_ws( '" + separatorSql + "'";
-            for (let i = 0; i < fields.length; i++) {
-                retSql += ", " + fields[i];
-            }
-            return retSql + ") ";
-            break;
+            if (pAutoTrimFields)
+                pFields = pFields.map(this.trim, this);
+            return " concat_ws( " + pSeparator + ", " + pFields.join(", ") + ")";
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            isNotEmptyStrSql = null; //empty strings are changed to DB-null-values internally in oracle; by specifing JS-null we disable this check
+            doEmptyStringCheck = false; //empty strings are changed to DB-null-values internally in oracle; by specifing JS-null we disable this check
             break;
         case db.DBTYPE_SQLSERVER2000:
             //MS SQL Server supports "concat_ws" (and ignoring null values) from version SQL Server 2017 and newer:
@@ -3462,33 +3453,47 @@ SqlMaskingUtils.prototype.concat = function(fields, separatorCharacter, autoTrim
         default:
             throw new Error(translate.withArguments("${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0", ["SqlMaskingUtils.prototype.concat"]));
     }
-    separatorSql = concatSql + "'" + separatorSql + "'";
-    _trimIfAutoTrimEnabled = function(f){
-        if (autoTrimFields)
-            return this.trim(f);
+    
+    var concatCharacter = this.getConcatSymbol();
+    var concatSql = "";
+    
+    for (let i = 0; i < pFields.length; i++)
+    {
+        let field = pFields[i];
+        let isLast = i + 1 === pFields.length;
+        
+        if (!_isFixedValue(field))
+            concatSql += (pAutoTrimFields ? this.trim(this.isNull(field)) : this.isNull(field));
         else
-            return f;
-    }
-    _trimIfAutoTrimEnabled = _trimIfAutoTrimEnabled.bind(this);
-    _isNotEmpty = function(f){
-        return _trimIfAutoTrimEnabled(f) + isNotEmptyStrSql + " and " + f + isNotNullSql;
+            concatSql += (pAutoTrimFields ? "'" + field.slice(1, -1).trim() + "'" : field);
+        
+        if (!isLast)
+        {
+            concatSql += concatCharacter;
+            let nextField = pFields[i+1];
+            if (pSeparator && _isFixedValue(nextField))
+            {
+                if (nextField.slice(1, -1).trim())
+                    concatSql += pSeparator + concatCharacter;
+            }
+            else if (pSeparator)
+            {
+                let nextFieldTrimmed = pAutoTrimFields ? this.trim(nextField) : nextField;
+                let nextNotNullCondition = nextField + " is not null ";
+                if (doEmptyStringCheck || pAutoTrimFields)
+                    nextNotNullCondition += " and " + nextFieldTrimmed + " != '' ";
+
+                concatSql += "case when " + nextNotNullCondition + " then " + pSeparator + " else '' end " + concatCharacter;
+            }
+        }
     }
-    _isNotEmpty = _isNotEmpty.bind(this);
     
-    for (let i = 0; i < fields.length; i++) {
-        if (retSql != "")  
-            retSql += concatSql;
-        retSql += "case when " + _isNotEmpty(fields[i]) + " then ";
-        if ( i < fields.length - 1 ) //Prüfen, ob ein nachfolgender Wert kommt, sonst braucht man keinen Separator
-            retSql += " case when " + _isNotEmpty(fields[i + 1]) + " then " + _trimIfAutoTrimEnabled(fields[i]) + separatorSql + " else " + _trimIfAutoTrimEnabled(fields[i]) + " end "; 
-        else
-            retSql += _trimIfAutoTrimEnabled(fields[i]);
-        //this blank is used just as in the old concat function which means this concat function has the same (wrong) behaviour
-        //TODO: find way to fix the case when separator is not a whitepsace (e.g. space)
-        //this concat-function does not work properly if you concat [<<value>>, <<null>>, <<value>>] by comma
-        retSql += " else ' ' end ";
+    return concatSql;
+    
+    function _isFixedValue (pSqlField)
+    {
+        return pSqlField.startsWith("'") && pSqlField.endsWith("'") && !pSqlField.slice(1, -1).includes("'");
     }
-    return retSql;
 }
 
 /**
-- 
GitLab


From cac26f9ab97f659255eb1fbe61278bced97e7b2b Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 15 Oct 2020 15:34:38 +0200
Subject: [PATCH 206/251] Coding guidelines applied to SqlMaskingUtils

---
 process/Sql_lib/process.js | 234 ++++++++++++++++---------------------
 1 file changed, 103 insertions(+), 131 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 5c4b1876b6..3b2f720def 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3061,11 +3061,12 @@ SqlBuilder.prototype.translate = function(pAlias)
 /**
  *provides functions for masking sql functions
  *
- * @param {String} [alias=currentAlias] database alias, you can specify null if you have no alias available and  you can manually set the dbType property
+ * @param {String} [pAlias=currentAlias] database alias, you can specify null if you have no alias available and  you can manually set the dbType property
  * 
  * @class
  */
-function SqlMaskingUtils(alias) {
+function SqlMaskingUtils (pAlias) 
+{
     this.alias = null;
     Object.defineProperty(this, "alias", {
         set: function(v){
@@ -3089,10 +3090,10 @@ function SqlMaskingUtils(alias) {
         }
     });
     
-    if (alias === undefined)
+    if (pAlias === undefined)
         this.alias = vars.getString("$sys.dbalias");
     else
-        this.alias = alias;
+        this.alias = pAlias;
 }
 
 /**
@@ -3101,7 +3102,7 @@ function SqlMaskingUtils(alias) {
  */
 SqlMaskingUtils.prototype.getConcatSymbol = function() 
 {
-    switch(Number(this.dbType)) 
+    switch(this.dbType) 
     {
         case db.DBTYPE_SQLSERVER2000:
             return " + ";
@@ -3129,10 +3130,10 @@ SqlMaskingUtils.prototype.getConcatSymbol = function()
 * @return {String}                      <p>
 *                                       Returns the trimmed string.<br>
 */
-SqlMaskingUtils.prototype.trim = function(pField) 
+SqlMaskingUtils.prototype.trim = function (pField) 
 {
     if (this.dbType == db.DBTYPE_SQLSERVER2000)
-            return "ltrim(rtrim(" + pField + "))";
+        return "ltrim(rtrim(" + pField + "))";
     return "trim(" + pField + ")";
 }
 
@@ -3140,26 +3141,26 @@ SqlMaskingUtils.prototype.trim = function(pField)
 *  returns the max-value sql expressions depending on the database behind the given alias
 *  note that this function does not verifiy if the field (and type) usage is valid at all
 *
-* @param {String} field expression
+* @param {String} pField expression
 *
 * @return {String} sql-part that can be used in a select
 */
-SqlMaskingUtils.prototype.max = function(field) 
+SqlMaskingUtils.prototype.max = function (pField) 
 {
-    return "max(" + field + ")";
+    return "max(" + pField + ")";
 }
 
 /**
 * returns the min-value sql expressions depending on the database behind the given alias
 * note that this function does not verifiy if the field (and type) usage is valid at all
 *
-* @param {String} field expression
+* @param {String} pField expression
 *
 * @return {String} sql-part that can be used in a select
 */
-SqlMaskingUtils.prototype.min = function(field) 
+SqlMaskingUtils.prototype.min = function (pField) 
 {
-    return "min(" + field + ")";
+    return "min(" + pField + ")";
 }
 
 /**
@@ -3169,25 +3170,25 @@ SqlMaskingUtils.prototype.min = function(field)
  * Problems:
  * Derby has problems with casting to CHAR({> 254}) https://db.apache.org/derby/docs/10.14/ref/rrefsqlj13733.html
  *
- * @param {String} field name of the database field that shall be castet
- * @param {String} [targetDatatype] a SQLTYPES-value of the following: SQLTYPES.CHAR, SQLTYPES.VARCHAR, SQLTYPES.INTEGER, 
+ * @param {String} pField name of the database field that shall be castet
+ * @param {String} [pTargetDatatype] a SQLTYPES-value of the following: SQLTYPES.CHAR, SQLTYPES.VARCHAR, SQLTYPES.INTEGER, 
  *                                   SQLTYPES.DECIMAL, SQLTYPES.DATE
- * @param {int|int[]} targetLength specifies the length of the target data type;
+ * @param {int|int[]} pTargetLength specifies the length of the target data type;
  *                                   <br/>- char/varchar: length
  *                                   <br/>- decimal: [length, decimals]
  *
  * @return {String} sql part to be included in sql-statements
  */
-SqlMaskingUtils.prototype.cast = function(field, targetDatatype, targetLength) {
+SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLength) 
+{
     /* Some informations if you want to add supported databaseTypes or dataTypes:
      * You should consider using the _mapDefaults function-expression (details in the functions doc)
      * However you shouldn't use the function in a "default"-Block of a switch-case because of the following behaviour:
      * If a datatype is not supported you just have to NOT specify "sqlDataType" (leave it "undefined") -> an error is then raised
      * Therefore you should explicitly define which Data-type is supported and which is not
      */
-    var dbType, functionName, sqlPart, sqlDataType, _mapDefaults;
-    dbType = this.dbType;
-    functionName = "cast";//overwrite this in the "switch (dbType)" if needed with your DBMS
+    var sqlDataType;
+    var functionName = "cast";//overwrite this in the "switch (dbType)" if needed with your DBMS
 
     /**
      * handles default-scenarios for mapping input-targetDatatype to a string for a sql-statement
@@ -3195,39 +3196,37 @@ SqlMaskingUtils.prototype.cast = function(field, targetDatatype, targetLength) {
      * @param {Number} dataType input as a value of "SQLTYPES." that will be mapped to a string
      * @return {String} the mapped dataType for using in a sql-statement
      */
-    _mapDefaults = function(dataType) {
-        var res;
-        switch(dataType) {
+    var _mapDefaults = function (dataType) 
+    {
+        switch (dataType) 
+        {
             case SQLTYPES.CHAR:
-                res = "char";
-                break;
+                return "char";
             case SQLTYPES.VARCHAR:
-                res = "char";
-                break;
+                return "char";
             case SQLTYPES.INTEGER:
-                res = "int";
-                break;
+                return "int";
             case SQLTYPES.DECIMAL:
-                res = "decimal";
-                break;
+                return "decimal";
             case SQLTYPES.DATE:
-                res = "date";
-                break;
+                return "date";
         }
-        return res;
+        return null;
     }
         
-    switch (dbType) {
+    switch (this.dbType) 
+    {
         case db.DBTYPE_DERBY10:
-            switch(targetDatatype) {
+            switch(pTargetDatatype) 
+            {
                 case SQLTYPES.VARCHAR:
                     // Because of a Derby bug, you can't cast INTEGER into VARCHAR
                     // Therefor first cast to char then to varchar
                     // https://issues.apache.org/jira/browse/DERBY-2072
                     // This cast to char is only done if the length is not bigger than 254,
                     // otherwise the additional cast would result in a different error
-                    if (targetLength <= 254)
-                        field = "rtrim(" + this.cast(field, SQLTYPES.CHAR, targetLength) + ")";
+                    if (pTargetLength <= 254)
+                        pField = "rtrim(" + this.cast(pField, SQLTYPES.CHAR, pTargetLength) + ")";
                     sqlDataType = "varchar";
                     break;
                 case SQLTYPES.CHAR:
@@ -3236,50 +3235,51 @@ SqlMaskingUtils.prototype.cast = function(field, targetDatatype, targetLength) {
                 case SQLTYPES.DECIMAL:
                 case SQLTYPES.INTEGER:
                 case SQLTYPES.DATE:
-                    sqlDataType = _mapDefaults(targetDatatype);
+                    sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
         case db.DBTYPE_MARIADB10:
         case db.DBTYPE_MYSQL4:
-            switch(targetDatatype) {
+            switch(pTargetDatatype) 
+            {
                 case SQLTYPES.VARCHAR:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.INTEGER:
                 case SQLTYPES.DECIMAL:
                 case SQLTYPES.DATE:
-                    sqlDataType = _mapDefaults(targetDatatype);
+                    sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            switch(targetDatatype)
+            switch(pTargetDatatype)
             {
                 case SQLTYPES.VARCHAR:
                     sqlDataType = "varchar2";
                     break;
                 case SQLTYPES.INTEGER:
                     sqlDataType = "number";
-                    targetLength = "10"
+                    pTargetLength = "10"
                     break;
                 case SQLTYPES.CHAR:
                 case SQLTYPES.DECIMAL:
                 case SQLTYPES.DATE:
-                    sqlDataType = _mapDefaults(targetDatatype);
+                    sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
         case db.DBTYPE_POSTGRESQL8:
-            switch(targetDatatype)
+            switch(pTargetDatatype)
             {
                 case SQLTYPES.DATE:
                 case SQLTYPES.DECIMAL:
                 case SQLTYPES.INTEGER:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.VARCHAR:
-                    sqlDataType = _mapDefaults(targetDatatype);
+                    sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
@@ -3289,64 +3289,60 @@ SqlMaskingUtils.prototype.cast = function(field, targetDatatype, targetLength) {
         case SQLTYPES.INTEGER:
         case SQLTYPES.CHAR:
         case SQLTYPES.VARCHAR:
-            sqlDataType = _mapDefaults(targetDatatype);
+            sqlDataType = _mapDefaults(pTargetDatatype);
             break;
             //TODO: firebird support?
     }
 
-    if (sqlDataType == undefined) {
+    if (sqlDataType == undefined) 
         throw new Error(translate.withArguments("${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0", ["SqlMaskingUtils.prototype.cast._mapDefaults"]));
-    }
 
-    if(targetLength == undefined)
-        targetLength = "";
-    else if(targetLength != "")
+    if (pTargetLength == undefined)
+        pTargetLength = "";
+    else if (pTargetLength != "")
     {
-        if(Array.isArray(targetLength))
-            targetLength = "(" + targetLength.join(", ") + ")";
+        if (Array.isArray(pTargetLength))
+            pTargetLength = "(" + pTargetLength.join(", ") + ")";
         else
-            targetLength = "(" + targetLength + ")";
+            pTargetLength = "(" + pTargetLength + ")";
     }
 
-    sqlPart = functionName + "(" + field + " as " + sqlDataType + targetLength + ")";
-    return sqlPart;
+    return functionName + "(" + pField + " as " + sqlDataType + pTargetLength + ")";
 }
 
 /**
  * masks the cast function for lob datatypes(clob, blob) into varchar or similar
  *
- * @param {String} field expression that shall be casted
- * @param {Integer|Interger[]} targetLength dessired length of the datatype
+ * @param {String} pField expression that shall be casted
+ * @param {Number|Number[]} pTargetLength desired length of the datatype
  *                                         decimal: [length, decimals]
  *
  * @return {String} part of sql-expression that can be used
  */
-SqlMaskingUtils.prototype.castLob = function(field, targetLength) {
-    var res;
-    switch(this.dbType) {
+SqlMaskingUtils.prototype.castLob = function (pField, pTargetLength) 
+{
+    switch (this.dbType) 
+    {
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            res = "DBMS_LOB.SUBSTR(" + field + ", " + targetLength + ", 1)";
-            break;
+            return "DBMS_LOB.SUBSTR(" + pField + ", " + pTargetLength + ", 1)";
         default:
-            res = this.cast(field, SQLTYPES.VARCHAR, targetLength);
-            break;
+            return this.cast(pField, SQLTYPES.VARCHAR, pTargetLength);
     }
-    return res;
 }
 
 /**
  *  returns the function which determines the length of binary data
  *
- * @param {String} fieldName name of the checked field
+ * @param {String} pField name of the checked field
  *
  * @return {String}
  */
-SqlMaskingUtils.prototype.binDataLength = function(fieldName) {
-    var res;
-
-    switch(this.dbType) {
+SqlMaskingUtils.prototype.binDataLength = function (pField) 
+{
+    switch (this.dbType) 
+    {
         case db.DBTYPE_MARIADB10:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_ORACLE10_CLUSTER:
@@ -3354,28 +3350,27 @@ SqlMaskingUtils.prototype.binDataLength = function(fieldName) {
         case db.DBTYPE_ORACLE10_OCI:
         case db.DBTYPE_POSTGRESQL8:
         case db.DBTYPE_DERBY10:
-            res = "LENGTH(" + fieldName + ")";
-            break;
+            return "length(" + pField + ")";
         case db.DBTYPE_SQLSERVER2000:
-            res = "DATALENGTH(" + fieldName + ")";
-            break;
+            return "datalength(" + pField + ")";
+        default:
+            throw new Error(translate.withArguments("${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0", ["SqlMaskingUtils.prototype.binDataLength"]));
     }
-    return res;
 }
 
 /**
     * masks the sql function substring
     *
-    * @param {String } field the expression that shall be substringed
-    * @param {Number} start posistion where the substring starts
-    * @param {Number} length amount of characters of the expression will be returned by the sql function
+    * @param {String } pField the expression that shall be substringed
+    * @param {Number} pStartPos posistion where the substring starts
+    * @param {Number} pLength amount of characters of the expression will be returned by the sql function
     *
     * @return {String} part of sql-expression that can be used for substringing
     */
-SqlMaskingUtils.prototype.substring = function(field, start, length) {
+SqlMaskingUtils.prototype.substring = function (pField, pStartPos, pLength) 
+{
     var sqlFnName;
-
-    switch(this.dbType)
+    switch (this.dbType)
     {
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
@@ -3398,8 +3393,7 @@ SqlMaskingUtils.prototype.substring = function(field, start, length) {
         default:
             throw new Error(translate.withArguments("${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0", ["SqlMaskingUtils.prototype.substring"]));
     }
-
-    return sqlFnName + "(" + field + ", " + start + ", " + length + ")";
+    return sqlFnName + "(" + pField + ", " + pStartPos + ", " + pLength + ")";
 }
 
 
@@ -3414,7 +3408,7 @@ SqlMaskingUtils.prototype.substring = function(field, start, length) {
 *
 * @return {String} part of SQL-querey
 */
-SqlMaskingUtils.prototype.concat = function(pFields, pSeparator, pAutoTrimFields) 
+SqlMaskingUtils.prototype.concat = function (pFields, pSeparator, pAutoTrimFields) 
 {
     if (pFields.length === 0)
         return "''";
@@ -3438,7 +3432,7 @@ SqlMaskingUtils.prototype.concat = function(pFields, pSeparator, pAutoTrimFields
         case db.DBTYPE_POSTGRESQL8:
             if (pAutoTrimFields)
                 pFields = pFields.map(this.trim, this);
-            return " concat_ws( " + pSeparator + ", " + pFields.join(", ") + ")";
+            return " concat_ws(" + pSeparator + ", " + pFields.join(", ") + ")";
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
@@ -3499,34 +3493,30 @@ SqlMaskingUtils.prototype.concat = function(pFields, pSeparator, pAutoTrimFields
 /**
      * returns the function for replacing a null value
      *
-     * @param {String} field expression that shall be checked for a null value
-     * @param {String} [replaceWith=empty string] expression that shall be used if the field contains null
+     * @param {String} pField expression that shall be checked for a null value
+     * @param {String} [pReplacement=empty string] expression that shall be used if the field contains null
      *
      * @return {string}
      */
-SqlMaskingUtils.prototype.isNull = function(field, replaceWith) {
-    var retSql;
-    
-    if (replaceWith == undefined)
-        replaceWith = "''";
-    switch(this.dbType) {
+SqlMaskingUtils.prototype.isNull = function (pField, pReplacement) 
+{
+    if (pReplacement == undefined)
+        pReplacement = "''";
+    switch (this.dbType) 
+    {
         case db.DBTYPE_SQLSERVER2000:
-            retSql = "isnull(" + field + ", " + replaceWith + ")";
-            break;
+            return "isnull(" + pField + ", " + pReplacement + ")";
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_OCI:
         case db.DBTYPE_ORACLE10_THIN :
-            retSql = "nvl(" + field + ", " + replaceWith + ")";
-            break;
+            return "nvl(" + pField + ", " + pReplacement + ")";
         case db.DBTYPE_POSTGRESQL8:
         case db.DBTYPE_DERBY10:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
         default:
-            retSql = "coalesce(" + field + ", " + replaceWith + ")";
-            break;
+            return "coalesce(" + pField + ", " + pReplacement + ")";
     }
-    return retSql;
 }
 
 /**
@@ -3536,28 +3526,22 @@ SqlMaskingUtils.prototype.isNull = function(field, replaceWith) {
  *
  * @return {String} sql expression that extracts the day from a timestamp
  */
-SqlMaskingUtils.prototype.dayFromDate = function(pField)
+SqlMaskingUtils.prototype.dayFromDate = function (pField)
 {
-    var retSql = "";
-
     switch (this.dbType)
     {
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            retSql = "to_char(" + pField + ",'dd')";
-            break;
+            return "to_char(" + pField + ",'dd')";
         case db.DBTYPE_DERBY10:
         case db.DBTYPE_SQLSERVER2000:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
-            retSql = "DAY(" + pField + ")";
-            break;
+            return "day(" + pField + ")";
         case db.DBTYPE_POSTGRESQL8:
-            retSql = "EXTRACT (DAY from " + pField + ")";
-            break;
+            return "extract (day from " + pField + ")";
     }
-    return retSql;
 }
 
 /**
@@ -3567,28 +3551,22 @@ SqlMaskingUtils.prototype.dayFromDate = function(pField)
  *
  * @return {String} sql expression that extracts the month from a timestamp
  */
-SqlMaskingUtils.prototype.monthFromDate = function(pField)
+SqlMaskingUtils.prototype.monthFromDate = function (pField)
 {
-    var retSql = "";
-
     switch (this.dbType)
     {
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            retSql = "to_char(" + pField + ",'MM')";
-            break;
+            return "to_char(" + pField + ",'MM')";
         case db.DBTYPE_DERBY10:
         case db.DBTYPE_SQLSERVER2000:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
-            retSql = "MONTH(" + pField + ")";
-            break;
+            return "month(" + pField + ")";
         case db.DBTYPE_POSTGRESQL8:
-            retSql = "EXTRACT (MONTH FROM " + pField + ")";
-            break;
+            return "extract (month from " + pField + ")";
     }
-    return retSql;
 }
 
 /**
@@ -3600,26 +3578,20 @@ SqlMaskingUtils.prototype.monthFromDate = function(pField)
  */
 SqlMaskingUtils.prototype.yearFromDate = function(pField)
 {
-    var retSql = "";
-
     switch (this.dbType)
     {
         case db.DBTYPE_ORACLE10_CLUSTER:
         case db.DBTYPE_ORACLE10_THIN:
         case db.DBTYPE_ORACLE10_OCI:
-            retSql = "to_char(" + pField + ",'yyyy')";
-            break;
+            return "to_char(" + pField + ",'yyyy')";
         case db.DBTYPE_DERBY10:
         case db.DBTYPE_SQLSERVER2000:
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
-            retSql = "YEAR(" + pField + ")";
-            break;
+            return "YEAR(" + pField + ")";
         case db.DBTYPE_POSTGRESQL8:
-            retSql = "EXTRACT (YEAR FROM " + pField + ")";
-            break;
+            return "EXTRACT (YEAR FROM " + pField + ")";
     }
-    return retSql;
 }
 
 /**
-- 
GitLab


From edba4b68176b70add0755f7973d399980eb0cffc Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 19 Oct 2020 15:10:54 +0200
Subject: [PATCH 207/251] VisitRecommendation filters added

---
 .../VisitRecommendation_entity.aod            |  17 +-
 .../recordcontainers/jdito/contentProcess.js  | 255 +++++++++++-------
 2 files changed, 170 insertions(+), 102 deletions(-)

diff --git a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
index 2aed7529f6..6010af8787 100644
--- a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
+++ b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod
@@ -176,11 +176,16 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>ADDRESS_ZIP</name>
+      <title>Zip</title>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
       <name>jDito</name>
       <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <isFilterable v="true" />
       <contentProcess>%aditoprj%/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <onInsert>%aditoprj%/entity/VisitRecommendation_entity/recordcontainers/jdito/onInsert.js</onInsert>
       <onUpdate>%aditoprj%/entity/VisitRecommendation_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
@@ -196,13 +201,9 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ORGANISATION_POINT_OF_CONTACT.value</name>
-          <isFilterable v="true" />
-          <isLookupFilter v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ORGANISATION_ADDRESS.value</name>
-          <isFilterable v="true" />
-          <isLookupFilter v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>PRIORITY.value</name>
@@ -217,20 +218,20 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>DUE_DATE.value</name>
-          <isFilterable v="true" />
-          <isLookupFilter v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>INFO.value</name>
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CONTACT_ID.value</name>
-          <isFilterable v="true" />
-          <isLookupFilter v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>PRIORITY_SOURCE.displayValue</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>ADDRESS_ZIP.value</name>
+          <isFilterable v="true" />
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
index 2dcf9d4752..7effd511c0 100644
--- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("system.SQLTYPES");
 import("system.eMath");
 import("system.tools");
 import("PostalAddress_lib");
@@ -16,59 +17,77 @@ import("AttributeRegistry_basic");
 import("KeywordRegistry_basic");
 import("Util_lib");
 import("Address_lib");
+import("JditoFilter_lib");
 
-var recommendationData = [];
-var tmpData = [];
-var activitySubQuery = "";
+var sqlMasker = new SqlMaskingUtils();
 
-activitySubQuery = newSelect("max(ENTRYDATE)")
+var activitySubQuery = newSelect("max(ENTRYDATE)")
                                 .from("ACTIVITY")
                                 .join("ACTIVITYLINK", "ACTIVITYID = ACTIVITY_ID")
                                 .where("ACTIVITYLINK.OBJECT_ROWID = org.ORGANISATIONID")
                                 .and("ACTIVITY.CATEGORY", "VISIT")
 
-var idValues = false;
+var idValues = null;
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
-    idValues = true
+    idValues = vars.get("$local.idvalues");
 
 //dynamic Recommendations
 //recommended Organisations containing the attribute Visit Frequency
 
-if(idValues == false)
+if (!idValues)
 {
-    var visitFrequencyData = newSelect(["org.ORGANISATIONID", "NAME", 
-                                            newSelect("CONTACT.CONTACTID")
-                                                        .from("CONTACT")
-                                                        .leftJoin("AB_ATTRIBUTERELATION", "CONTACT.CONTACTID = AB_ATTRIBUTERELATION.OBJECT_ROWID")
-                                                        .leftJoin("AB_ATTRIBUTE", "AB_ATTRIBUTE.AB_ATTRIBUTEID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")
-                                                        .leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                                        .where("AB_ATTRIBUTE.AB_ATTRIBUTEID", $AttributeRegistry.visitPlanPointOfContact())
-                                                        .cell(), AddressUtils.formatOnelineSql(), 
-                                                        "visitPlanFrequency.ID_VALUE", "'" + $KeywordRegistry.visitRecommendationPrioSource$visitFrequency()+"'" , activitySubQuery, "CONTACTID",
-                                            newSelect("min(ENTRYDATE)")
-                                                        .from("VISITPLANENTRY") 
-                                                        .where("CONTACT.CONTACTID", "VISITPLANENTRY.ORGANISATION_CONTACT_ID") 
-                                                        .and(newWhere("VISITPLANENTRY.STATUS", $KeywordRegistry.visitPlanEntryStatus$planned())
-                                                            .or("VISITPLANENTRY.STATUS", $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()))
-                                                        .and("VISITPLANENTRY.ENTRYDATE", newSelect("min(vp.ENTRYDATE)")
-                                                                                                    .from("VISITPLANENTRY", "vp")
-                                                                                                    .where(["VISITPLANENTRY", "ORGANISATION_CONTACT_ID", "vp"], "visitplanentry.ORGANISATION_CONTACT_ID")
-                                                                                                    .and(["VISITPLANENTRY", "ENTRYDATE", "vp"], datetime.today())
-                                                                                                    .and(newWhere(["VISITPLANENTRY", "STATUS", "vp"], 
-                                                                                                    $KeywordRegistry.visitPlanEntryStatus$planned())
-                                                                                                    .or(["VISITPLANENTRY", "STATUS", "vp"], 
-                                                                                                    $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()))
-                                                                                                    .cell())])
-                                        .from("CONTACT")
-                                        .join("ORGANISATION", "CONTACT.ORGANISATION_ID = org.ORGANISATIONID", "org")
-                                        .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
-                                        .leftJoin("ADDRESS", "ADDRESS_ID = ADDRESSID")
-                                        .join("AB_ATTRIBUTERELATION", "visitPlanFrequency.OBJECT_ROWID = CONTACT.CONTACTID", "visitPlanFrequency")
-                                        .where(["AB_ATTRIBUTERELATION", "AB_ATTRIBUTE_ID", "visitPlanFrequency"], $AttributeRegistry.visitPlanFrequency())
-                                        .table();
+    var visitFrequencyData = newSelect([
+            "org.ORGANISATIONID", 
+            "NAME", 
+            newSelect("CONTACT.CONTACTID")
+                .from("CONTACT")
+                .leftJoin("AB_ATTRIBUTERELATION", "CONTACT.CONTACTID = AB_ATTRIBUTERELATION.OBJECT_ROWID")
+                .leftJoin("AB_ATTRIBUTE", "AB_ATTRIBUTE.AB_ATTRIBUTEID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")
+                .leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                .where("AB_ATTRIBUTE.AB_ATTRIBUTEID", $AttributeRegistry.visitPlanPointOfContact()), 
+            AddressUtils.formatOnelineSql(), 
+            "visitPlanFrequency.ID_VALUE", 
+            "'" + $KeywordRegistry.visitRecommendationPrioSource$visitFrequency()+"'" , 
+            activitySubQuery, 
+            "CONTACTID",
+            newSelect("min(ENTRYDATE)")
+                .from("VISITPLANENTRY") 
+                .where("CONTACT.CONTACTID", "VISITPLANENTRY.ORGANISATION_CONTACT_ID") 
+                .and(newWhere("VISITPLANENTRY.STATUS", $KeywordRegistry.visitPlanEntryStatus$planned())
+                    .or("VISITPLANENTRY.STATUS", $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()))
+                .and("VISITPLANENTRY.ENTRYDATE", newSelect("min(vp.ENTRYDATE)")
+                    .from("VISITPLANENTRY", "vp")
+                    .where(["VISITPLANENTRY", "ORGANISATION_CONTACT_ID", "vp"], "visitplanentry.ORGANISATION_CONTACT_ID")
+                    .and(["VISITPLANENTRY", "ENTRYDATE", "vp"], datetime.today())
+                    .and(newWhere(["VISITPLANENTRY", "STATUS", "vp"], 
+                    $KeywordRegistry.visitPlanEntryStatus$planned())
+                    .or(["VISITPLANENTRY", "STATUS", "vp"], 
+                    $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()))
+                    .cell()),
+            "ADDRESS.ZIP"
+        ])
+        .from("CONTACT")
+        .join("ORGANISATION", "CONTACT.ORGANISATION_ID = org.ORGANISATIONID", "org")
+        .leftJoin("PERSON", "PERSON.PERSONID = CONTACT.PERSON_ID")
+        .leftJoin("ADDRESS", "ADDRESS_ID = ADDRESSID")
+        .join("AB_ATTRIBUTERELATION", "visitPlanFrequency.OBJECT_ROWID = CONTACT.CONTACTID", "visitPlanFrequency")
+        .where(["AB_ATTRIBUTERELATION", "AB_ATTRIBUTE_ID", "visitPlanFrequency"], $AttributeRegistry.visitPlanFrequency())
+        .table();
+        
+    
  }
 
-var recommendationSQLData = newSelect(["VISITRECOMMENDATIONID", "VISITRECOMMENDATION.CONTACT_ID", "PRIORITY", "DUE_DATE", "SOURCE", "INFO", AddressUtils.formatOnelineSql(), 
+var prioSubSql = _getPrioByDueDateSubSql("VISITRECOMMENDATION.DUE_DATE", "VISITRECOMMENDATION.PRIORITY");
+
+var recommendationSQLData = newSelect([
+    "VISITRECOMMENDATIONID", 
+    "VISITRECOMMENDATION.CONTACT_ID", 
+    "ORGANISATION.NAME", 
+    prioSubSql, 
+    "VISITRECOMMENDATION.DUE_DATE", 
+    "VISITRECOMMENDATION.SOURCE", 
+    "VISITRECOMMENDATION.INFO", 
+    AddressUtils.formatOnelineSql(), 
     newSelect("CONTACT.CONTACTID")
                 .from("CONTACT")
                 .leftJoin("AB_ATTRIBUTERELATION", "CONTACT.CONTACTID = AB_ATTRIBUTERELATION.OBJECT_ROWID")
@@ -96,92 +115,105 @@ var recommendationSQLData = newSelect(["VISITRECOMMENDATIONID", "VISITRECOMMENDA
                                                                 .from("visitplanentry", "VP")
                                                                 .where(["VISITPLANENTRY", "entrydate", "vp"], datetime.today(), SqlBuilder.GREATER())
                                                                 .and(["VISITPLANENTRY", "STATUS", "vp"], $KeywordRegistry.visitPlanEntryStatus$planned())
-                                                                .or(["VISITPLANENTRY", "STATUS", "vp"], $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()).cell())
+                                                                .or(["VISITPLANENTRY", "STATUS", "vp"], $KeywordRegistry.visitPlanEntryStatus$Appointmentarranged()).cell()),
+    "ADDRESS.ZIP"
 ])
         .from("VISITRECOMMENDATION")
         .join("CONTACT", "VISITRECOMMENDATION.CONTACT_ID = CONTACT.CONTACTID")
+        .leftJoin("ORGANISATION", "CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID")
         .join("ADDRESS", "CONTACT.ADDRESS_ID = ADDRESS.ADDRESSID")
-        
-if(idValues == true)
-    recommendationSQLData.where("VISITRECOMMENDATION.VISITRECOMMENDATIONID",   vars.get("$local.idvalues"), SqlBuilder.IN())
-        
-recommendationSQLData = recommendationSQLData.table();
+        .whereIfSet("VISITRECOMMENDATION.VISITRECOMMENDATIONID", idValues, SqlBuilder.IN());
 
-for( let i = 0; i < recommendationSQLData.length; i++)
-{
-    tmpData = [];
-
-    var organisationName = ContactUtils.getFullTitleByContactId(recommendationSQLData[i][1])
-    if(recommendationSQLData[i][2])
-        var prio = recommendationSQLData[i][2]
-
-    else if(recommendationSQLData[i][3])
-        prio = getPrioByDueDate(recommendationSQLData[i][3]);
+var filterCond = new FilterSqlTranslator(vars.get("$local.filter"), "VISITRECOMMENDATION")
+    .addSqlFieldMapping("ORGANISATION_NAME", "ORGANISATION.NAME")
+    .addSqlFieldMapping("ADDRESS_ZIP", "ADDRESS.ZIP")
+    .addSpecialFieldConditionFn("PRIORITY", function (pFilterValue, pOperator)
+    {
+        switch (pOperator)
+        {
+            case "EQUAL":
+                return [prioSubSql[0] + " = ?", prioSubSql[1].concat([[pFilterValue, SQLTYPES.VARCHAR]])];
+            case "NOT_EQUAL":
+                return [prioSubSql[0] + " != ?", prioSubSql[1].concat([[pFilterValue, SQLTYPES.VARCHAR]])];
+            case "ISNULL":
+                return [prioSubSql[0] + " is null", prioSubSql[1]];
+            case "ISNOTNULL":
+                return [prioSubSql[0] + " is not null", prioSubSql[1]];
+            default:
+                return false;
+        }
+    })
+    .getSqlCondition();
 
-    else
-        prio = $KeywordRegistry.visitRecommendationPriority$low();  
+recommendationSQLData = recommendationSQLData.andIfSet(filterCond).table();
 
-    
+var recommendationData = recommendationSQLData.map(function ([uid, contactId, organisationName, priority, dueDate, prioSource, info, address, what, plannedDate, visitContact, addressZip])
+{
     var title = "";
-    if(recommendationSQLData[i][9]){
-        var user = tools.getUserByAttribute(tools.CONTACTID, recommendationSQLData[i][9]);
+    if(visitContact)
+    {
+        var user = tools.getUserByAttribute(tools.CONTACTID, visitContact);
         title = user[tools.TITLE]
     }
-
-    tmpData[0] = recommendationSQLData[i][0];               //UID
-    tmpData[1] = organisationName;                          //Organisation Name
-    tmpData[3] = recommendationSQLData[i][6];               //Address
-    tmpData[4] = prio; 
-    tmpData[5] = recommendationSQLData[i][4];               //Source of Priority (Id)
-    tmpData[7] = recommendationSQLData[i][3];               //Due Date
-    tmpData[8] = recommendationSQLData[i][5];               //Info
-    tmpData[9] = recommendationSQLData[i][1];               //CONTACT_ID
-    tmpData[2] = recommendationSQLData[i][8];               //Data_planned
-    tmpData[6] = KeywordUtils.getViewValue($KeywordRegistry.visitRecommendationPrioSource(), recommendationSQLData[i][4]) //Source of Priority (displayvalue)
     
-
-    recommendationData.push(tmpData);
-}
+    return [
+        uid,
+        organisationName,
+        plannedDate,
+        address,
+        priority,
+        prioSource,
+        KeywordUtils.getViewValue($KeywordRegistry.visitRecommendationPrioSource(), prioSource), //Source of Priority (displayvalue)
+        dueDate,
+        info,
+        contactId,
+        "",
+        addressZip
+    ];
+});
 
 var monthly = parseInt(datetime.ONE_DAY * 31);
 var semiannually = parseInt(datetime.ONE_DAY * 183);
 var quarterly = parseInt(datetime.ONE_DAY * 93);
 var yearly = parseInt(datetime.ONE_DAY * 365);
 
-if(idValues == false)
+if (!idValues)
 {
+    var frequencyData = [];
     for (var i = 0; i < visitFrequencyData.length; i++)
     {
-        tmpData = [];
-
         let title = "";
 
-        if(visitFrequencyData[i][9])
+        if(visitFrequencyData[i][10])
         {
             let user = tools.getUserByAttribute(tools.CONTACTID, visitFrequencyData[i][9]);
             title = user[tools.TITLE]
         }
-
-        tmpData[0] = visitFrequencyData[i][0];                 //UID
-        tmpData[1] = visitFrequencyData[i][1];                 //Organisation Name
-        tmpData[3] = visitFrequencyData[i][2];                 //Address
-        tmpData[5] = visitFrequencyData[i][4];                 //Source of Priority (Id)
-        tmpData[8] = "";
-        tmpData[4] = visitFrequencyData[i][5];                 //last visit
-        tmpData[9] = visitFrequencyData[i][6];                 //ContactId
-        tmpData[2] = visitFrequencyData[i][1];                 //OrganisationId
-        tmpData[6] = KeywordUtils.getViewValue($KeywordRegistry.visitRecommendationPrioSource(), visitFrequencyData[i][4]) //Source of Priority (displayvalue)
+        
+        let tmpData = [
+            visitFrequencyData[i][0],                 //UID
+            visitFrequencyData[i][1],                 //Organisation Name
+            visitFrequencyData[i][2],                 //point of contact
+            visitFrequencyData[i][3],                 //Address
+            "",                                       //prio
+            visitFrequencyData[i][5],                 //Source of Priority (Id)
+            "",                                       //Source of Priority (displayvalue)
+            "",                                       //dueDate
+            "",                                       //info
+            visitFrequencyData[i][7],                 //ContactId
+            "",
+            visitFrequencyData[i][9]
+        ];
         var dueDate = "";
-        var lastVisitDate = "";
+        var lastVisitDate = visitFrequencyData[i][8];
 
-        if((visitFrequencyData[i][5]).length == 0)
+        if (!lastVisitDate)
         {
             dueDate = datetime.date();
         }
         else
         {
-            lastVisitDate = visitFrequencyData[i][5];
-            switch(visitFrequencyData[i][3])
+            switch(visitFrequencyData[i][4])
             {
                 case $AttributeRegistry.visitPlanFrequency$monthly():
                 {
@@ -210,13 +242,16 @@ if(idValues == false)
 
             }
         }
-
-
         tmpData[7] = dueDate;                                       //Due Date
         tmpData[4] = getPrioByDueDate(dueDate);                     //Priority
 
-        recommendationData.push(tmpData);
+        frequencyData.push(tmpData);
     }
+    var recordFilter = vars.get("$local.filter");
+    if (recordFilter && recordFilter.filter)
+        frequencyData = JditoFilterUtils.filterRecords(["UID", "ORGANISATION_NAME", "", "ORGANISATION_ADDRESS", "PRIORITY", "", "", "DUE_DATE", "INFO", "CONTACT_ID", "", "ADDRESS_ZIP"], 
+            frequencyData, recordFilter.filter);
+    recommendationData = recommendationData.concat(frequencyData);
 }
 
 
@@ -232,6 +267,38 @@ ArrayUtils.sort2d(recommendationData, 4, true)
 
 result.object(recommendationData);
 
+function _getPrioByDueDateSubSql (pDueDateField, pPriorityField)
+{
+    var currentDate = datetime.date();
+    var sqlMasker = new SqlMaskingUtils();
+    
+    var subSql = "case when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$critical()
+        + "' when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$veryHigh()
+        + "' when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$high()
+        + "' when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$medium()
+        + "' else '" + $KeywordRegistry.visitRecommendationPriority$low() + "' end";
+    
+    var [table, field] = pDueDateField.split(".");
+    var dateFieldType = db.getColumnTypes(table, [field])[0];
+    
+    var dateDiffs = [
+        0,                      //critical
+        datetime.ONE_DAY * 3,   //very high
+        datetime.ONE_WEEK,      //high
+        datetime.ONE_WEEK * 2   //medium
+    ];
+    
+    var preparedValues = dateDiffs.map(function (dateDiff)
+    {
+        return [(currentDate + dateDiff).toString(), dateFieldType];
+    });
+    
+    if (pPriorityField)
+        subSql = sqlMasker.isNull(pPriorityField, "(" + subSql + ")");
+    
+    return [subSql, preparedValues];
+}
+
 function getPrioByDueDate(pDueDate)
 {
     var prio = "";
-- 
GitLab


From 2d963abe648935998d3ee629e74e459f6ef3415f Mon Sep 17 00:00:00 2001
From: "a.voegl" <a.voegl@adito.de>
Date: Tue, 20 Oct 2020 10:19:16 +0200
Subject: [PATCH 208/251] =?UTF-8?q?360=C2=B0=20Changes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/360Degree_entity/360Degree_entity.aod  |  48 ++++--
 .../entityfields/active/dropDownProcess.js    |   5 -
 .../entityfields/year/valueProcess.js         |   6 -
 .../recordcontainers/jdito/contentProcess.js  | 145 +++++++-----------
 entity/Contract_entity/Contract_entity.aod    |   7 +
 .../SupportTicket_entity.aod                  |  14 ++
 .../360DegreeFilter_view.aod                  |   8 +-
 process/Context_lib/process.js                |  83 ++++++++++
 8 files changed, 198 insertions(+), 118 deletions(-)
 delete mode 100644 entity/360Degree_entity/entityfields/active/dropDownProcess.js
 delete mode 100644 entity/360Degree_entity/entityfields/year/valueProcess.js

diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index e412501513..769704ffbc 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -15,6 +15,7 @@
   </siblings>
   <grantUpdate v="false" />
   <grantDelete v="false" />
+  <titlePlural>Verlinkungen</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
@@ -25,6 +26,7 @@
     </entityField>
     <entityField>
       <name>TITLE</name>
+      <title>Title</title>
       <linkedContextProcess>%aditoprj%/entity/360Degree_entity/entityfields/title/linkedContextProcess.js</linkedContextProcess>
     </entityField>
     <entityParameter>
@@ -71,7 +73,6 @@
     <entityField>
       <name>ENTITY_NAME</name>
       <title>Module</title>
-      <groupable v="true" />
       <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/entity_name/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
@@ -105,12 +106,6 @@
         </entityParameter>
       </children>
     </entityProvider>
-    <entityField>
-      <name>YEAR</name>
-      <title>Year</title>
-      <groupable v="true" />
-      <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/year/valueProcess.js</valueProcess>
-    </entityField>
     <entityActionGroup>
       <name>newModule</name>
       <title>New module</title>
@@ -166,13 +161,6 @@
       <contentType>IMAGE</contentType>
       <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/icon/valueProcess.js</valueProcess>
     </entityField>
-    <entityField>
-      <name>ACTIVE</name>
-      <title>Active</title>
-      <contentType>TEXT</contentType>
-      <groupable v="true" />
-      <dropDownProcess>%aditoprj%/entity/360Degree_entity/entityfields/active/dropDownProcess.js</dropDownProcess>
-    </entityField>
     <entityParameter>
       <name>BaseContextId_param</name>
       <expose v="true" />
@@ -185,6 +173,22 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>GROUP</name>
+      <title>Group</title>
+      <groupable v="true" />
+    </entityField>
+    <entityField>
+      <name>DESCRIPTION</name>
+      <title>Description</title>
+    </entityField>
+    <entityField>
+      <name>YEAR</name>
+      <title>Year</title>
+      <contentType>DATE</contentType>
+      <resolution>YEAR</resolution>
+      <groupable v="true" />
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -203,20 +207,30 @@
         <jDitoRecordFieldMapping>
           <name>TARGET_CONTEXT.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>TARGET_CONTEXT.displayValue</name>
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>TITLE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
-          <name>DATE.value</name>
+          <name>DESCRIPTION.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
-          <name>ACTIVE.value</name>
+          <name>DATE.value</name>
           <isFilterable v="true" />
-          <isLookupFilter v="true" />
+        </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>YEAR.value</name>
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ENTITY_NAME.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>GROUP.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/360Degree_entity/entityfields/active/dropDownProcess.js b/entity/360Degree_entity/entityfields/active/dropDownProcess.js
deleted file mode 100644
index bc12e10ce6..0000000000
--- a/entity/360Degree_entity/entityfields/active/dropDownProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.vars");
-import("system.result");
-import("system.translate");
-
-result.object([["true", translate.text("True")], ["false",translate.text("False")]]);
\ No newline at end of file
diff --git a/entity/360Degree_entity/entityfields/year/valueProcess.js b/entity/360Degree_entity/entityfields/year/valueProcess.js
deleted file mode 100644
index c21dcc8cde..0000000000
--- a/entity/360Degree_entity/entityfields/year/valueProcess.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import("system.datetime");
-import("system.result");
-import("system.vars");
-
-var dateVal = vars.get("$field.DATE");
-result.string(datetime.toDate(dateVal, "yyyy"));
\ No newline at end of file
diff --git a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
index 3014803809..be441660fd 100644
--- a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
@@ -1,36 +1,21 @@
+import("JditoFilter_lib");
+import("system.eMath");
+import("system.logging");
 import("system.util");
 import("system.db");
 import("system.vars");
 import("system.result");
 import("Context_lib");
 import("system.translate");
+import("system.datetime");
 
-if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param") && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
-{    
-    var active;
-    var selectMap = ContextUtils.getSelectMap();
-    if(vars.exists("$local.filter") && vars.get("$local.filter") )
-    {
-        var filter = vars.get("$local.filter");
-        if (filter.filter)
-            if(filter.filter.childs != null && filter.filter.childs.length > 0)
-            {
-                filter.filter.childs.forEach(function(child)
-                {
-                    if(child.name === "ACTIVE")
-                        active = child.key == 'true';
-                });  
-            }  
-    }
-    
-    var contextList = JSON.parse(vars.getString("$param.ObjectType_param"));
-    var contactId = vars.get("$param.ObjectRowId_param");
-    var idValues;
-    if (vars.exists("$local.idvalues"))
-        idValues = vars.get("$local.idvalues");
-    
-    var res =  _get360Data(selectMap, contactId, contextList, active, idValues);
-    result.object(res);   
+if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param") 
+    && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
+{
+    var contextList = JSON.parse(vars.get("$param.ObjectType_param"));
+    var contactId = JSON.parse(vars.get("$param.ObjectRowId_param"));
+    var data = filterData(_get360Data(contactId, contextList));
+    result.object(data);   
 } 
 else
 {
@@ -39,78 +24,66 @@ else
 
 /** 
  * load all data for the 360Degree tree.
- * @param {Object} pSelectMap the select map (result of ContextUtils.getSelectMap())
- * @param {String[]} pContactId the Contactid the 360 Degree tree should be loaded for
- * @param {String[]} pContextList list of contexts to load. Note that subcontexts use their own list, defined in ContextUtils
- * @param {Boolean} [pActive=undefined] if not undefined: it select only for active / inactive state
- * @param {Array} [pUids=undefined] uids of the 360° entity that are used for filtering, each rowId needs the format: 
- *                                    {id: "«rowid»", type: "«context id»"}
+ * @param {String} pContactId the select map (result of ContextUtils.getContextDataSqlviaReadEntity())
+ * @param {String[]} pContextList the Contactid the 360 Degree tree should be loaded for
  *  
  *  @return {String[][]} the resulting data
  */
-function _get360Data(pSelectMap, pContactId, pContextList, pActive, pUids)
+function _get360Data(pContactId, pContextList)
 {   
-    //if there are uids for filtering, group them per context:
-    var uidContextMap = new Map();//Map where key is the type (contextname) and value is an array of the rowIds for that type
-    if (pUids)
-    {
-        pUids.forEach(function (uid){
-            uid = JSON.parse(uid);
-            if (uidContextMap.has(uid.type))
-                uidContextMap.get(uid.type).push(uid.id);
-            else
-                uidContextMap.set(uid.type, [uid.id]);
-        });
-    }
-
     var resultList = [];
-    pContextList.forEach(function (context) 
+    for(var i = 0; i < pContextList.length; i++)
     {
-        var rowIds;
-        if (pUids)
+        var res = ContextUtils.getContextDataSqlviaReadEntity(pContextList[i], pContactId);
+        res.data.forEach(function (row) 
         {
-            //when a Uid-filter exists, but there is no context for filtering we can skip that context, 
-            //otherwise we need to filter for the found row ids of that context
-            if (!uidContextMap.has(context))
-                return;
-            else
-                rowIds = uidContextMap.get(context);
-        }
-        var data = db.table(ContextUtils.getContextDataSql(context, JSON.parse(pContactId), true, pActive, true, true, rowIds));
-        data.forEach(function (row) 
-        {
-            var active;
-            if(pActive != undefined) //ACTIVE
-                active = translate.text(pActive);
-            else
-            {
-                if(pSelectMap[context].activeStates && pSelectMap[context].activeStates.indexOf(row[3]) > -1)    
-                    active = translate.text("true");
-                else
-                    active = translate.text("false");
-            }
-            
-            var groupBy = row[4];
-            if(groupBy == "")
-                groupBy = ContextUtils.getEntityTitle(context, true);
-            
-            var uid = JSON.stringify({id: row[0], type: context});
+            var targetid = row["#UID"];
+            var title = row["#CONTENTTITLE"];
+            var description = row["#CONTENTDESCRIPTION"];
+            var dataDate = row["DATE_NEW"];
+            var group = pContextList[i];
+
             resultList.push([
-                uid, // UID
-                row[0], // TARGET_ID
-                context, // TARGET_CONTEXT
-                row[1], // TITLE
-                row[2], //DATE
-                active,
-                groupBy
+                util.getNewUUID(),                      // UID
+                targetid,                               // TARGET_ID
+                pContextList[i],                        // TARGET_CONTEXT
+                translate.text(pContextList[i]),        // TARGET_CONTEXT.displayValue
+                title,                                  // TITLE
+                description,                            // DESCRIPTION
+                dataDate,                               // DATE
+                dataDate,                               // YEAR
+                res.entity,                             // ENTITY_NAME
+                translate.text(group)                   // GROUP
                 ]); 
         });
-    });  
-    
+    }  
+
     resultList.sort(function (a,b) {
-        if (a[4] < b[4]) return  1;
-        if (a[4] > b[4]) return -1;
+        if (a[6] < b[6]) return  1;
+        if (a[6] > b[6]) return -1;
         return 0;
     })
     return resultList;
+}
+
+
+
+function filterData(data)
+{
+    var filter = vars.get("$local.filter")
+    var filterFields = [
+    "UID", 
+    "TARGET_ID",
+    "TARGET_CONTEXT", 
+    "", 
+    "TITLE", 
+    "DESCRIPTION", 
+    "DATE" ,
+    "YEAR", 
+    "ENTITY_NAME",
+    "GROUP"
+    ];
+    data = JditoFilterUtils.filterRecords(filterFields, data, filter.filter);
+    
+    return data;
 }
\ No newline at end of file
diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index 273e731918..da2aae92c9 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -402,6 +402,9 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityField>
+      <name>DATE_NEW</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -544,6 +547,10 @@
           <recordfield>CONTRACT.CONTRACTID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>CONTRACT.CONTRACTSTART</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index a289e1083c..b235066170 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -459,6 +459,12 @@
       <name>TASK_ICON_COLOR</name>
       <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js</valueProcess>
     </entityField>
+    <entityField>
+      <name>CONTACT_ID</name>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -597,6 +603,14 @@
           <recordfield>TICKET.TICKETID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_ID.value</name>
+          <recordfield>TASK.EDITOR_CONTACT_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>TASK.START_DATE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtension>
diff --git a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
index fcb2588703..a176ff17f1 100644
--- a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
+++ b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
@@ -2,7 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>360DegreeFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="false" />
+  <filterable v="true" />
   <layout>
     <groupLayout>
       <name>layout</name>
@@ -13,11 +13,11 @@
       <name>Treetable</name>
       <favoriteActionGroup2>newModule</favoriteActionGroup2>
       <titleField>TITLE</titleField>
-      <descriptionField>DATE</descriptionField>
+      <descriptionField>DESCRIPTION</descriptionField>
       <iconField>ICON</iconField>
       <entityField>#ENTITY</entityField>
       <defaultGroupFields>
-        <element>ENTITY_NAME</element>
+        <element>GROUP</element>
       </defaultGroupFields>
     </treeViewTemplate>
     <timelineViewTemplate>
@@ -25,7 +25,7 @@
       <favoriteActionGroup2>newModule</favoriteActionGroup2>
       <dateField>DATE</dateField>
       <titleField>TITLE</titleField>
-      <descriptionField>ENTITY_NAME</descriptionField>
+      <descriptionField>DESCRIPTION</descriptionField>
       <iconIdField>ICON</iconIdField>
       <hideContentSearch v="false" />
       <entityField>#ENTITY</entityField>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 31d6082843..20a9fcc365 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -640,6 +640,89 @@ ContextUtils.getNameSql = function(pContextId, pRowId)
         return "select 1 from person where 1=2";
 }
 
+/**
+ * get the #ContentTitle of an Entity with entities. Functions
+ */
+ContextUtils.getContentTitle = function(pContextId, pRowId)
+{
+    
+    var conf = entities.createConfigForLoadingRows()
+    .entity(ContextUtils.getEntity(pContextId))
+    .fields(["#CONTENTTITLE"])
+    .uid(pRowId);
+    
+    var res = entities.getRow(conf);
+    if(res.hasOwnProperty("#CONTENTTITLE"))
+        return res["#CONTENTTITLE"];
+    else
+        return db.cell(ContextUtils.getNameSql(pContextId, pRowId));
+}
+
+/**
+ * get the #ContentDescription of an Entity with entities. Functions
+ */
+ContextUtils.getContentDescription = function(pContextId, pRowId)
+{
+    
+    var conf = entities.createConfigForLoadingRows()
+    .entity(ContextUtils.getEntity(pContextId))
+    .fields(["#CONTENTDESCRIPTION"])
+    .uid(pRowId);
+    
+    var res = entities.getRow(conf);
+    if(res.hasOwnProperty("#CONTENTDESCRIPTION"))
+        return res["#CONTENTDESCRIPTION"];
+    else
+        return db.cell(ContextUtils.getNameSql(pContextId, pRowId));
+}
+
+
+/**
+ * gets Data from a specific Context with entities. Functions
+ * 
+ * @param {String} [pContextId] the title of the context
+ * @param {String[]} [pContactId] Array of Contactids
+ */
+ContextUtils.getContextDataSqlviaReadEntity = function(pContextId, pContactId)
+{      
+    var childsArray = [{
+        "type":"row",
+        "name":"CONTACT_ID",
+        "operator":"IN",
+        "value": JSON.stringify(pContactId),
+        "key": JSON.stringify(pContactId),
+        "contenttype":"TEXT"
+    }];
+    
+    
+    var filter = {
+        "type":"group",
+        "operator":"OR",
+        "childs": childsArray
+    };
+    
+    var fields = ["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", "CONTACT_ID", "DATE_NEW"];
+    
+    var conf = entities.createConfigForLoadingRows()
+    .entity(ContextUtils.getEntity(pContextId))//not dynamic at all, errors may occur
+    .fields(fields)
+    .filter(JSON.stringify(filter));
+
+    var res = entities.getRows(conf);
+
+    if(res.length > 0)
+    {
+        if(res[0]["#UID"] == undefined || res[0]["#TITLE"] == undefined || res[0]["#MAPPING"] == undefined || res[0]["#CONTENTDESCRIPTION"] == undefined 
+            || res[0]["#CONTENTTITLE"] == undefined || res[0]["CONTACT_ID"] == undefined || res[0]["DATE_NEW"] == undefined)
+            throw new Error(translate.text("Some prereserved EntityFields which are necessary fot 360° are not available. Context: "+pContextId
+            +" Data: "+JSON.stringify(res)));
+    }
+    return {
+        "entity":ContextUtils.getEntity(pContextId),
+        "data": res
+    };
+}
+
 /**
  * TODO: !!!temporary function until you can get fields from another Entity!!!
  */
-- 
GitLab


From b5afda430322156b95dd8e36c8e2a89953550f35 Mon Sep 17 00:00:00 2001
From: "a.voegl" <a.voegl@adito.de>
Date: Tue, 20 Oct 2020 10:39:16 +0200
Subject: [PATCH 209/251] shrink unnecessary code

---
 .../recordcontainers/jdito/contentProcess.js               | 4 ++--
 entity/Salesproject_entity/Salesproject_entity.aod         | 7 +++++++
 process/Context_lib/process.js                             | 5 +----
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
index be441660fd..c22aa1e7ac 100644
--- a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
@@ -35,7 +35,7 @@ function _get360Data(pContactId, pContextList)
     for(var i = 0; i < pContextList.length; i++)
     {
         var res = ContextUtils.getContextDataSqlviaReadEntity(pContextList[i], pContactId);
-        res.data.forEach(function (row) 
+        res.forEach(function (row) 
         {
             var targetid = row["#UID"];
             var title = row["#CONTENTTITLE"];
@@ -52,7 +52,7 @@ function _get360Data(pContactId, pContextList)
                 description,                            // DESCRIPTION
                 dataDate,                               // DATE
                 dataDate,                               // YEAR
-                res.entity,                             // ENTITY_NAME
+                ContextUtils.getEntity(pContextList[i]),// ENTITY_NAME
                 translate.text(group)                   // GROUP
                 ]); 
         });
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index f33a339122..69194f215d 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -751,6 +751,9 @@
       <title>Classification</title>
       <groupable v="true" />
     </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -902,6 +905,10 @@
           <recordfield>CLASSIFICATIONSTORAGE.CLASSIFICATIONVALUE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>SALESPROJECT.STARTDATE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 20a9fcc365..589b16695a 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -717,10 +717,7 @@ ContextUtils.getContextDataSqlviaReadEntity = function(pContextId, pContactId)
             throw new Error(translate.text("Some prereserved EntityFields which are necessary fot 360° are not available. Context: "+pContextId
             +" Data: "+JSON.stringify(res)));
     }
-    return {
-        "entity":ContextUtils.getEntity(pContextId),
-        "data": res
-    };
+    return res;
 }
 
 /**
-- 
GitLab


From dd7338f22c7b81a8ecac22dfd31fdc4e0465f3c5 Mon Sep 17 00:00:00 2001
From: "a.voegl" <a.voegl@adito.de>
Date: Tue, 20 Oct 2020 11:12:44 +0200
Subject: [PATCH 210/251] reset

---
 entity/Organisation_entity/entityfields/status/valueProcess.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entity/Organisation_entity/entityfields/status/valueProcess.js b/entity/Organisation_entity/entityfields/status/valueProcess.js
index 13218c1651..ce6c527ece 100644
--- a/entity/Organisation_entity/entityfields/status/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/status/valueProcess.js
@@ -4,4 +4,4 @@ import("system.neon");
 import("KeywordRegistry_basic");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-    result.string($KeywordRegistry.contactStatus$active());
\ No newline at end of file
+   result.string($KeywordRegistry.contactStatus$active());
\ No newline at end of file
-- 
GitLab


From dd4dddda0bfdb1e1ce9684ca415a4219aeb09022 Mon Sep 17 00:00:00 2001
From: "a.voegl" <a.voegl@adito.de>
Date: Tue, 20 Oct 2020 11:18:41 +0200
Subject: [PATCH 211/251] Code Reset due to Push Error

---
 entity/360Degree_entity/360Degree_entity.aod  | 48 ++++-------
 .../entityfields/active/dropDownProcess.js    |  5 ++
 .../entityfields/year/valueProcess.js         |  6 ++
 entity/Contract_entity/Contract_entity.aod    |  7 --
 .../Salesproject_entity.aod                   |  7 --
 .../SupportTicket_entity.aod                  | 14 ----
 .../360DegreeFilter_view.aod                  |  8 +-
 process/Context_lib/process.js                | 80 -------------------
 8 files changed, 32 insertions(+), 143 deletions(-)
 create mode 100644 entity/360Degree_entity/entityfields/active/dropDownProcess.js
 create mode 100644 entity/360Degree_entity/entityfields/year/valueProcess.js

diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index 769704ffbc..e412501513 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -15,7 +15,6 @@
   </siblings>
   <grantUpdate v="false" />
   <grantDelete v="false" />
-  <titlePlural>Verlinkungen</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
@@ -26,7 +25,6 @@
     </entityField>
     <entityField>
       <name>TITLE</name>
-      <title>Title</title>
       <linkedContextProcess>%aditoprj%/entity/360Degree_entity/entityfields/title/linkedContextProcess.js</linkedContextProcess>
     </entityField>
     <entityParameter>
@@ -73,6 +71,7 @@
     <entityField>
       <name>ENTITY_NAME</name>
       <title>Module</title>
+      <groupable v="true" />
       <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/entity_name/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
@@ -106,6 +105,12 @@
         </entityParameter>
       </children>
     </entityProvider>
+    <entityField>
+      <name>YEAR</name>
+      <title>Year</title>
+      <groupable v="true" />
+      <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/year/valueProcess.js</valueProcess>
+    </entityField>
     <entityActionGroup>
       <name>newModule</name>
       <title>New module</title>
@@ -161,6 +166,13 @@
       <contentType>IMAGE</contentType>
       <valueProcess>%aditoprj%/entity/360Degree_entity/entityfields/icon/valueProcess.js</valueProcess>
     </entityField>
+    <entityField>
+      <name>ACTIVE</name>
+      <title>Active</title>
+      <contentType>TEXT</contentType>
+      <groupable v="true" />
+      <dropDownProcess>%aditoprj%/entity/360Degree_entity/entityfields/active/dropDownProcess.js</dropDownProcess>
+    </entityField>
     <entityParameter>
       <name>BaseContextId_param</name>
       <expose v="true" />
@@ -173,22 +185,6 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
-    <entityField>
-      <name>GROUP</name>
-      <title>Group</title>
-      <groupable v="true" />
-    </entityField>
-    <entityField>
-      <name>DESCRIPTION</name>
-      <title>Description</title>
-    </entityField>
-    <entityField>
-      <name>YEAR</name>
-      <title>Year</title>
-      <contentType>DATE</contentType>
-      <resolution>YEAR</resolution>
-      <groupable v="true" />
-    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -207,30 +203,20 @@
         <jDitoRecordFieldMapping>
           <name>TARGET_CONTEXT.value</name>
         </jDitoRecordFieldMapping>
-        <jDitoRecordFieldMapping>
-          <name>TARGET_CONTEXT.displayValue</name>
-        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>TITLE.value</name>
-          <isFilterable v="true" />
-        </jDitoRecordFieldMapping>
-        <jDitoRecordFieldMapping>
-          <name>DESCRIPTION.value</name>
-          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>DATE.value</name>
-          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
-          <name>YEAR.value</name>
+          <name>ACTIVE.value</name>
+          <isFilterable v="true" />
+          <isLookupFilter v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ENTITY_NAME.value</name>
         </jDitoRecordFieldMapping>
-        <jDitoRecordFieldMapping>
-          <name>GROUP.value</name>
-        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/360Degree_entity/entityfields/active/dropDownProcess.js b/entity/360Degree_entity/entityfields/active/dropDownProcess.js
new file mode 100644
index 0000000000..7eff15173e
--- /dev/null
+++ b/entity/360Degree_entity/entityfields/active/dropDownProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("system.translate");
+
+result.object([["true", translate.text("True")], ["false",translate.text("False")]]);
\ No newline at end of file
diff --git a/entity/360Degree_entity/entityfields/year/valueProcess.js b/entity/360Degree_entity/entityfields/year/valueProcess.js
new file mode 100644
index 0000000000..c21dcc8cde
--- /dev/null
+++ b/entity/360Degree_entity/entityfields/year/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.datetime");
+import("system.result");
+import("system.vars");
+
+var dateVal = vars.get("$field.DATE");
+result.string(datetime.toDate(dateVal, "yyyy"));
\ No newline at end of file
diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index da2aae92c9..273e731918 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -402,9 +402,6 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
-    <entityField>
-      <name>DATE_NEW</name>
-    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -547,10 +544,6 @@
           <recordfield>CONTRACT.CONTRACTID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_NEW.value</name>
-          <recordfield>CONTRACT.CONTRACTSTART</recordfield>
-        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 69194f215d..f33a339122 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -751,9 +751,6 @@
       <title>Classification</title>
       <groupable v="true" />
     </entityField>
-    <entityField>
-      <name>DATE_NEW</name>
-    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -905,10 +902,6 @@
           <recordfield>CLASSIFICATIONSTORAGE.CLASSIFICATIONVALUE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_NEW.value</name>
-          <recordfield>SALESPROJECT.STARTDATE</recordfield>
-        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtensionSet>
diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index b235066170..a289e1083c 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -459,12 +459,6 @@
       <name>TASK_ICON_COLOR</name>
       <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/task_icon_color/valueProcess.js</valueProcess>
     </entityField>
-    <entityField>
-      <name>CONTACT_ID</name>
-    </entityField>
-    <entityField>
-      <name>DATE_NEW</name>
-    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -603,14 +597,6 @@
           <recordfield>TICKET.TICKETID</recordfield>
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
-        <dbRecordFieldMapping>
-          <name>CONTACT_ID.value</name>
-          <recordfield>TASK.EDITOR_CONTACT_ID</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>DATE_NEW.value</name>
-          <recordfield>TASK.START_DATE</recordfield>
-        </dbRecordFieldMapping>
       </recordFieldMappings>
       <filterExtensions>
         <filterExtension>
diff --git a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
index a176ff17f1..fcb2588703 100644
--- a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
+++ b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
@@ -2,7 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>360DegreeFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
+  <filterable v="false" />
   <layout>
     <groupLayout>
       <name>layout</name>
@@ -13,11 +13,11 @@
       <name>Treetable</name>
       <favoriteActionGroup2>newModule</favoriteActionGroup2>
       <titleField>TITLE</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
+      <descriptionField>DATE</descriptionField>
       <iconField>ICON</iconField>
       <entityField>#ENTITY</entityField>
       <defaultGroupFields>
-        <element>GROUP</element>
+        <element>ENTITY_NAME</element>
       </defaultGroupFields>
     </treeViewTemplate>
     <timelineViewTemplate>
@@ -25,7 +25,7 @@
       <favoriteActionGroup2>newModule</favoriteActionGroup2>
       <dateField>DATE</dateField>
       <titleField>TITLE</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
+      <descriptionField>ENTITY_NAME</descriptionField>
       <iconIdField>ICON</iconIdField>
       <hideContentSearch v="false" />
       <entityField>#ENTITY</entityField>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 589b16695a..31d6082843 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -640,86 +640,6 @@ ContextUtils.getNameSql = function(pContextId, pRowId)
         return "select 1 from person where 1=2";
 }
 
-/**
- * get the #ContentTitle of an Entity with entities. Functions
- */
-ContextUtils.getContentTitle = function(pContextId, pRowId)
-{
-    
-    var conf = entities.createConfigForLoadingRows()
-    .entity(ContextUtils.getEntity(pContextId))
-    .fields(["#CONTENTTITLE"])
-    .uid(pRowId);
-    
-    var res = entities.getRow(conf);
-    if(res.hasOwnProperty("#CONTENTTITLE"))
-        return res["#CONTENTTITLE"];
-    else
-        return db.cell(ContextUtils.getNameSql(pContextId, pRowId));
-}
-
-/**
- * get the #ContentDescription of an Entity with entities. Functions
- */
-ContextUtils.getContentDescription = function(pContextId, pRowId)
-{
-    
-    var conf = entities.createConfigForLoadingRows()
-    .entity(ContextUtils.getEntity(pContextId))
-    .fields(["#CONTENTDESCRIPTION"])
-    .uid(pRowId);
-    
-    var res = entities.getRow(conf);
-    if(res.hasOwnProperty("#CONTENTDESCRIPTION"))
-        return res["#CONTENTDESCRIPTION"];
-    else
-        return db.cell(ContextUtils.getNameSql(pContextId, pRowId));
-}
-
-
-/**
- * gets Data from a specific Context with entities. Functions
- * 
- * @param {String} [pContextId] the title of the context
- * @param {String[]} [pContactId] Array of Contactids
- */
-ContextUtils.getContextDataSqlviaReadEntity = function(pContextId, pContactId)
-{      
-    var childsArray = [{
-        "type":"row",
-        "name":"CONTACT_ID",
-        "operator":"IN",
-        "value": JSON.stringify(pContactId),
-        "key": JSON.stringify(pContactId),
-        "contenttype":"TEXT"
-    }];
-    
-    
-    var filter = {
-        "type":"group",
-        "operator":"OR",
-        "childs": childsArray
-    };
-    
-    var fields = ["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", "CONTACT_ID", "DATE_NEW"];
-    
-    var conf = entities.createConfigForLoadingRows()
-    .entity(ContextUtils.getEntity(pContextId))//not dynamic at all, errors may occur
-    .fields(fields)
-    .filter(JSON.stringify(filter));
-
-    var res = entities.getRows(conf);
-
-    if(res.length > 0)
-    {
-        if(res[0]["#UID"] == undefined || res[0]["#TITLE"] == undefined || res[0]["#MAPPING"] == undefined || res[0]["#CONTENTDESCRIPTION"] == undefined 
-            || res[0]["#CONTENTTITLE"] == undefined || res[0]["CONTACT_ID"] == undefined || res[0]["DATE_NEW"] == undefined)
-            throw new Error(translate.text("Some prereserved EntityFields which are necessary fot 360° are not available. Context: "+pContextId
-            +" Data: "+JSON.stringify(res)));
-    }
-    return res;
-}
-
 /**
  * TODO: !!!temporary function until you can get fields from another Entity!!!
  */
-- 
GitLab


From 7eae3c72d0311031fb1eb55cb27b563291600df0 Mon Sep 17 00:00:00 2001
From: "a.voegl" <a.voegl@adito.de>
Date: Tue, 20 Oct 2020 11:19:37 +0200
Subject: [PATCH 212/251] add missing code piece

---
 .../recordcontainers/jdito/contentProcess.js  | 145 +++++++++++-------
 1 file changed, 86 insertions(+), 59 deletions(-)

diff --git a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
index c22aa1e7ac..3014803809 100644
--- a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
@@ -1,21 +1,36 @@
-import("JditoFilter_lib");
-import("system.eMath");
-import("system.logging");
 import("system.util");
 import("system.db");
 import("system.vars");
 import("system.result");
 import("Context_lib");
 import("system.translate");
-import("system.datetime");
 
-if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param") 
-    && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
-{
-    var contextList = JSON.parse(vars.get("$param.ObjectType_param"));
-    var contactId = JSON.parse(vars.get("$param.ObjectRowId_param"));
-    var data = filterData(_get360Data(contactId, contextList));
-    result.object(data);   
+if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param") && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
+{    
+    var active;
+    var selectMap = ContextUtils.getSelectMap();
+    if(vars.exists("$local.filter") && vars.get("$local.filter") )
+    {
+        var filter = vars.get("$local.filter");
+        if (filter.filter)
+            if(filter.filter.childs != null && filter.filter.childs.length > 0)
+            {
+                filter.filter.childs.forEach(function(child)
+                {
+                    if(child.name === "ACTIVE")
+                        active = child.key == 'true';
+                });  
+            }  
+    }
+    
+    var contextList = JSON.parse(vars.getString("$param.ObjectType_param"));
+    var contactId = vars.get("$param.ObjectRowId_param");
+    var idValues;
+    if (vars.exists("$local.idvalues"))
+        idValues = vars.get("$local.idvalues");
+    
+    var res =  _get360Data(selectMap, contactId, contextList, active, idValues);
+    result.object(res);   
 } 
 else
 {
@@ -24,66 +39,78 @@ else
 
 /** 
  * load all data for the 360Degree tree.
- * @param {String} pContactId the select map (result of ContextUtils.getContextDataSqlviaReadEntity())
- * @param {String[]} pContextList the Contactid the 360 Degree tree should be loaded for
+ * @param {Object} pSelectMap the select map (result of ContextUtils.getSelectMap())
+ * @param {String[]} pContactId the Contactid the 360 Degree tree should be loaded for
+ * @param {String[]} pContextList list of contexts to load. Note that subcontexts use their own list, defined in ContextUtils
+ * @param {Boolean} [pActive=undefined] if not undefined: it select only for active / inactive state
+ * @param {Array} [pUids=undefined] uids of the 360° entity that are used for filtering, each rowId needs the format: 
+ *                                    {id: "«rowid»", type: "«context id»"}
  *  
  *  @return {String[][]} the resulting data
  */
-function _get360Data(pContactId, pContextList)
+function _get360Data(pSelectMap, pContactId, pContextList, pActive, pUids)
 {   
+    //if there are uids for filtering, group them per context:
+    var uidContextMap = new Map();//Map where key is the type (contextname) and value is an array of the rowIds for that type
+    if (pUids)
+    {
+        pUids.forEach(function (uid){
+            uid = JSON.parse(uid);
+            if (uidContextMap.has(uid.type))
+                uidContextMap.get(uid.type).push(uid.id);
+            else
+                uidContextMap.set(uid.type, [uid.id]);
+        });
+    }
+
     var resultList = [];
-    for(var i = 0; i < pContextList.length; i++)
+    pContextList.forEach(function (context) 
     {
-        var res = ContextUtils.getContextDataSqlviaReadEntity(pContextList[i], pContactId);
-        res.forEach(function (row) 
+        var rowIds;
+        if (pUids)
         {
-            var targetid = row["#UID"];
-            var title = row["#CONTENTTITLE"];
-            var description = row["#CONTENTDESCRIPTION"];
-            var dataDate = row["DATE_NEW"];
-            var group = pContextList[i];
-
+            //when a Uid-filter exists, but there is no context for filtering we can skip that context, 
+            //otherwise we need to filter for the found row ids of that context
+            if (!uidContextMap.has(context))
+                return;
+            else
+                rowIds = uidContextMap.get(context);
+        }
+        var data = db.table(ContextUtils.getContextDataSql(context, JSON.parse(pContactId), true, pActive, true, true, rowIds));
+        data.forEach(function (row) 
+        {
+            var active;
+            if(pActive != undefined) //ACTIVE
+                active = translate.text(pActive);
+            else
+            {
+                if(pSelectMap[context].activeStates && pSelectMap[context].activeStates.indexOf(row[3]) > -1)    
+                    active = translate.text("true");
+                else
+                    active = translate.text("false");
+            }
+            
+            var groupBy = row[4];
+            if(groupBy == "")
+                groupBy = ContextUtils.getEntityTitle(context, true);
+            
+            var uid = JSON.stringify({id: row[0], type: context});
             resultList.push([
-                util.getNewUUID(),                      // UID
-                targetid,                               // TARGET_ID
-                pContextList[i],                        // TARGET_CONTEXT
-                translate.text(pContextList[i]),        // TARGET_CONTEXT.displayValue
-                title,                                  // TITLE
-                description,                            // DESCRIPTION
-                dataDate,                               // DATE
-                dataDate,                               // YEAR
-                ContextUtils.getEntity(pContextList[i]),// ENTITY_NAME
-                translate.text(group)                   // GROUP
+                uid, // UID
+                row[0], // TARGET_ID
+                context, // TARGET_CONTEXT
+                row[1], // TITLE
+                row[2], //DATE
+                active,
+                groupBy
                 ]); 
         });
-    }  
-
+    });  
+    
     resultList.sort(function (a,b) {
-        if (a[6] < b[6]) return  1;
-        if (a[6] > b[6]) return -1;
+        if (a[4] < b[4]) return  1;
+        if (a[4] > b[4]) return -1;
         return 0;
     })
     return resultList;
-}
-
-
-
-function filterData(data)
-{
-    var filter = vars.get("$local.filter")
-    var filterFields = [
-    "UID", 
-    "TARGET_ID",
-    "TARGET_CONTEXT", 
-    "", 
-    "TITLE", 
-    "DESCRIPTION", 
-    "DATE" ,
-    "YEAR", 
-    "ENTITY_NAME",
-    "GROUP"
-    ];
-    data = JditoFilterUtils.filterRecords(filterFields, data, filter.filter);
-    
-    return data;
 }
\ No newline at end of file
-- 
GitLab


From 9d70106f4c7f34223d9255806a8698231002c45c Mon Sep 17 00:00:00 2001
From: Sebastian Kern <s.kern@adito.de>
Date: Wed, 21 Oct 2020 06:50:22 +0000
Subject: [PATCH 213/251] Audit Log History

---
 .../Loghistory/addAb_loghistoryId.xml         |  17 +++
 .../basic/2020.2.1/Loghistory/changelog.xml   |   5 +
 .../Data_alias/basic/2020.2.1/changelog.xml   |   2 +-
 .liquibase/Data_alias/changelog.xml           |   1 +
 aliasDefinition/Data_alias/Data_alias.aod     |  14 ++
 .../_____SYSTEM_APPLICATION_NEON.aod          |   4 +
 .../AuditLogHistory_entity.aod                | 144 ++++++++++++++++++
 .../entityfields/logtype/dropDownProcess.js   |   8 +
 .../preview_title/valueProcess.js             |  40 +++++
 .../entityfields/tablename/dropDownProcess.js |   5 +
 .../target_context/valueProcess.js            | 109 +++++++++++++
 .../entityfields/target_id/valueProcess.js    |  95 ++++++++++++
 .../initFilterProcess.js                      |  28 ++++
 .../contextfilter/filterConditionProcess.js   |  91 +++++++++++
 .../contextfilter/filterValuesProcess.js      |  18 +++
 .../AuditLogHistory/AuditLogHistory.aod       |  13 ++
 .../AuditLogHistoryFilter_view.aod            |  46 ++++++
 process/Loghistory_lib/process.js             |   4 +-
 18 files changed, 641 insertions(+), 3 deletions(-)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/Loghistory/changelog.xml
 create mode 100644 entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
 create mode 100644 entity/AuditLogHistory_entity/entityfields/logtype/dropDownProcess.js
 create mode 100644 entity/AuditLogHistory_entity/entityfields/preview_title/valueProcess.js
 create mode 100644 entity/AuditLogHistory_entity/entityfields/tablename/dropDownProcess.js
 create mode 100644 entity/AuditLogHistory_entity/entityfields/target_context/valueProcess.js
 create mode 100644 entity/AuditLogHistory_entity/entityfields/target_id/valueProcess.js
 create mode 100644 entity/AuditLogHistory_entity/initFilterProcess.js
 create mode 100644 entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterConditionProcess.js
 create mode 100644 entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterValuesProcess.js
 create mode 100644 neonContext/AuditLogHistory/AuditLogHistory.aod
 create mode 100644 neonView/AuditLogHistoryFilter_view/AuditLogHistoryFilter_view.aod

diff --git a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
new file mode 100644
index 0000000000..5386d30054
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
@@ -0,0 +1,17 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="s.kern" id="d4b5f8bc-b211-442a-b417-3b5d3c92def5">
+        <addColumn tableName="AB_LOGHISTORY">
+            <column name="AB_LOGHISTORYID" type="CHAR(36)"/>
+        </addColumn>
+        <addNotNullConstraint  
+            columnName="AB_LOGHISTORYID"  
+            tableName="AB_LOGHISTORY"  
+        /> 
+        <addPrimaryKey    
+            columnNames="AB_LOGHISTORYID"  
+            constraintName="pk_AB_LOGHISTORYID"  
+            tableName="AB_LOGHISTORY"  
+        /> 
+    </changeSet>
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/changelog.xml b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/changelog.xml
new file mode 100644
index 0000000000..d092637200
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/changelog.xml
@@ -0,0 +1,5 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include file="addAb_loghistoryId.xml" relativeToChangelogFile="true" />
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.1/changelog.xml b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
index 78f4080832..46996ff2f3 100644
--- a/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
@@ -1,5 +1,5 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    
+    <include relativeToChangelogFile="true" file="Loghistory/changelog.xml"/>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/changelog.xml b/.liquibase/Data_alias/changelog.xml
index c3a1d3c575..9d1ca6c557 100644
--- a/.liquibase/Data_alias/changelog.xml
+++ b/.liquibase/Data_alias/changelog.xml
@@ -16,6 +16,7 @@
     <include relativeToChangelogFile="true" file="basic/2020.1.2/changelog.xml"/>
     <include relativeToChangelogFile="true" file="basic/2020.1.3/changelog.xml"/>
     <include relativeToChangelogFile="true" file="basic/2020.2.0/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="basic/2020.2.1/changelog.xml"/>
 
     <!--enable this only when you definetly want to overwrite the existing data with demo records:-->
     <!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index b7ca17d42a..96738b1806 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -8025,6 +8025,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>AB_LOGHISTORYID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="true" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index 2885448e52..2de36e8340 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -297,6 +297,10 @@
                 <kind v="10077" />
                 <title></title>
               </entityNode>
+              <entityNode>
+                <name>AuditLogHistory</name>
+                <kind v="10077" />
+              </entityNode>
               <entityNode>
                 <name>ExportTemplate</name>
                 <kind v="10077" />
diff --git a/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod b/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
new file mode 100644
index 0000000000..39c0a093e5
--- /dev/null
+++ b/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
+  <name>AuditLogHistory_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:LINES_LIST</icon>
+  <title>Audit Log</title>
+  <grantCreate v="false" />
+  <grantUpdate v="false" />
+  <grantDelete v="true" />
+  <grantDeleteProcess>%aditoprj%/entity/AuditLogHistory_entity/grantDeleteProcess.js</grantDeleteProcess>
+  <initFilterProcess>%aditoprj%/entity/AuditLogHistory_entity/initFilterProcess.js</initFilterProcess>
+  <titlePlural>Audit Logs</titlePlural>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+      <targetContextField>TARGET_CONTEXT</targetContextField>
+      <targetIdField>TARGET_ID</targetIdField>
+    </entityProvider>
+    <entityField>
+      <name>LOGTYPE</name>
+      <title>Action</title>
+      <dropDownProcess>%aditoprj%/entity/AuditLogHistory_entity/entityfields/logtype/dropDownProcess.js</dropDownProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+      <title>Date</title>
+      <contentType>DATE</contentType>
+      <resolution>MINUTE</resolution>
+      <state>READONLY</state>
+    </entityField>
+    <entityField>
+      <name>DESCRIPTION</name>
+      <title>Description</title>
+    </entityField>
+    <entityField>
+      <name>TABLENAME</name>
+      <title>Tablename</title>
+      <dropDownProcess>%aditoprj%/entity/AuditLogHistory_entity/entityfields/tablename/dropDownProcess.js</dropDownProcess>
+    </entityField>
+    <entityField>
+      <name>UID</name>
+    </entityField>
+    <entityField>
+      <name>TABLENAMEID</name>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <title>Editor</title>
+      <state>READONLY</state>
+    </entityField>
+    <entityField>
+      <name>SOURCE_TABLENAME</name>
+    </entityField>
+    <entityField>
+      <name>SOURCE_TABLENAMEID</name>
+    </entityField>
+    <entityField>
+      <name>TARGET_CONTEXT</name>
+      <valueProcess>%aditoprj%/entity/AuditLogHistory_entity/entityfields/target_context/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>TARGET_ID</name>
+      <valueProcess>%aditoprj%/entity/AuditLogHistory_entity/entityfields/target_id/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>PREVIEW_TITLE</name>
+      <valueProcess>%aditoprj%/entity/AuditLogHistory_entity/entityfields/preview_title/valueProcess.js</valueProcess>
+    </entityField>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <linkInformation>
+        <linkInformation>
+          <name>ed8bd1ca-64eb-443e-a04d-ea7aee0c352a</name>
+          <tableName>AB_LOGHISTORY</tableName>
+          <primaryKey>AB_LOGHISTORYID</primaryKey>
+          <isUIDTable v="false" />
+          <readonly v="true" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>UID.value</name>
+          <recordfield>AB_LOGHISTORY.AB_LOGHISTORYID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>AB_LOGHISTORY.USER_NEW</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TABLENAMEID.value</name>
+          <recordfield>AB_LOGHISTORY.TABLENAMEID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TABLENAME.value</name>
+          <recordfield>AB_LOGHISTORY.TABLENAME</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>SOURCE_TABLENAMEID.value</name>
+          <recordfield>AB_LOGHISTORY.SOURCE_TABLENAMEID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>SOURCE_TABLENAME.value</name>
+          <recordfield>AB_LOGHISTORY.SOURCE_TABLENAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>LOGTYPE.value</name>
+          <recordfield>AB_LOGHISTORY.LOGTYPE</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DESCRIPTION.value</name>
+          <recordfield>AB_LOGHISTORY.DESCRIPTION</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>AB_LOGHISTORY.DATE_NEW</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>contextFilter</name>
+          <title>Kontext</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterConditionProcess.js</filterConditionProcess>
+          <isLookupFilter v="true" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/AuditLogHistory_entity/entityfields/logtype/dropDownProcess.js b/entity/AuditLogHistory_entity/entityfields/logtype/dropDownProcess.js
new file mode 100644
index 0000000000..550422df7f
--- /dev/null
+++ b/entity/AuditLogHistory_entity/entityfields/logtype/dropDownProcess.js
@@ -0,0 +1,8 @@
+import("system.translate");
+import("system.result");
+
+result.object([
+    ["I", translate.text("Inserted")]
+    ,["U", translate.text("Updated")]
+    ,["D", translate.text("Deleted")]
+    ]);
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/entityfields/preview_title/valueProcess.js b/entity/AuditLogHistory_entity/entityfields/preview_title/valueProcess.js
new file mode 100644
index 0000000000..8094c75ee7
--- /dev/null
+++ b/entity/AuditLogHistory_entity/entityfields/preview_title/valueProcess.js
@@ -0,0 +1,40 @@
+import("system.translate");
+import("Sql_lib");
+import("system.result");
+import("system.vars");
+
+var context = vars.get("$field.TARGET_CONTEXT");
+var title = "";
+
+switch(context)
+{
+    case "AcquisitionProject":
+        title = "Acquisition project";
+        break;
+    case "Bulkmail":
+    case "BULKMAIL":
+        title = "Bulk mail";
+        break;
+    case "CampaignStep":
+        title = "Campaign";
+        break;
+    case "DSGVO":
+        title = "Data Privacy";
+        break;
+    case "SerialLetter":
+        title = "Serial letter";
+        break;
+    case "Person":
+        title = "Contact";
+        break;
+    case "Event_context":
+        title = "Event";
+        break;  
+    default:
+        if(context.length > 1)
+        {
+            title = context.substring(0, 1).toUpperCase() + context.substring(1).toLowerCase();
+        }
+}
+
+result.string(translate.text(title)); 
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/entityfields/tablename/dropDownProcess.js b/entity/AuditLogHistory_entity/entityfields/tablename/dropDownProcess.js
new file mode 100644
index 0000000000..ec9a43cad9
--- /dev/null
+++ b/entity/AuditLogHistory_entity/entityfields/tablename/dropDownProcess.js
@@ -0,0 +1,5 @@
+import("Sql_lib");
+import("system.result");
+
+result.object(newSelect("distinct TABLENAME, TABLENAME").from("AB_LOGHISTORY").orderBy("TABLENAME").table());
+
diff --git a/entity/AuditLogHistory_entity/entityfields/target_context/valueProcess.js b/entity/AuditLogHistory_entity/entityfields/target_context/valueProcess.js
new file mode 100644
index 0000000000..a3e8a931b1
--- /dev/null
+++ b/entity/AuditLogHistory_entity/entityfields/target_context/valueProcess.js
@@ -0,0 +1,109 @@
+import("Sql_lib");
+import("system.result");
+import("system.vars");
+
+var tablename = vars.get("$field.TABLENAME");
+var tablenameId = vars.get("$field.TABLENAMEID");
+var isPerson = "";
+var res = "";
+
+switch(tablename)
+{
+    case "AB_ATTRIBUTERELATION":
+        isPerson = newSelect("PERSON_ID")
+            .from("CONTACT")
+            .where("CONTACT.CONTACTID", tablenameId)
+            .cell();
+        if(isPerson)
+            res = "Person";
+        else
+            res = "Organisation";
+        break;
+    case "AB_OBJECTRELATION":
+        isPerson = newSelect("CONTACT.PERSON_ID")
+            .from("CONTACT")
+            .join("AB_OBJECTRELATION on AB_OBJECTRELATION.OBJECT1_ROWID = CONTACT.CONTACTID")
+            .where("AB_OBJECTRELATION.AB_OBJECTRELATIONID", tablenameId)
+            .cell();
+        if(isPerson)
+            res = "Person";
+        else
+            res = "Organisation"
+        break;
+    case "ACTIVITYLINK":
+    case "ACTIVITY":
+        res = "Activity";
+        break;
+    case "ACQUISITIONPROJECT":
+        res = "AcquisitionProject";
+        break;
+    case "ASYS_BINARIES":
+        res = newSelect("ASYS_BINARIES.TABLENAME", "_____SYSTEMALIAS")
+            .from("ASYS_BINARIES")
+            .where("ASYS_BINARIES.ID", tablenameId)
+            .cell();
+        break;
+    case "BULKMAILRECIPIENT":
+    case "BULKMAIL":
+        res = "Bulkmail";
+        break;
+    case "CONTACT":
+        isPerson = newSelect("PERSON_ID")
+            .from("CONTACT")
+            .where("CONTACT.CONTACTID", tablenameId)
+            .cell();
+        if(isPerson)
+            res = "Person";
+        else
+            res = "Organisation";
+        break;
+    case "CAMPAIGNSTEP":
+        res = "CampaignStep";
+        break;
+    case "CAMPAIGNCOST":
+    case "CAMPAIGNPARTICIPANT":
+    case "CAMPAIGN":
+        res = "Campaign";
+        break;
+    case "DSGVO":
+        res = "DSGVO";
+        break;
+    case "EVENTPARTICIPANT":
+    case "EVENT":
+        res = "Event_context";
+        break;
+    case "ORGANISATION":
+        res = "Organisation";
+        break;
+    case "OBJECTMEMBER":
+        res = newSelect("OBJECTMEMBER.OBJECT_TYPE")
+            .from("OBJECTMEMBER")
+            .where("OBJECTMEMBER.OBJECTMEMBERID", tablenameId)
+            .cell();        
+        break;
+    case "PERSON":
+        res = "Person";
+        break;
+    case "SALESORDER":
+        res = "Salesorder";
+        break;
+    case "SALESPROJECT_MILESTONE":
+    case "SALESPROJECT":
+        res = "Salesproject";
+        break;
+    case "LETTERRECIPIENT":
+    case "SERIALLETTER":
+        res = "SerialLetter";
+        break;
+    case "TASKLINK":
+    case "TASK":
+        res = "Task";
+        break;
+    case "TASKLINK":
+        res = "TaskLink";
+        break;
+    default:
+        res = tablename;
+}
+
+result.string(res);
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/entityfields/target_id/valueProcess.js b/entity/AuditLogHistory_entity/entityfields/target_id/valueProcess.js
new file mode 100644
index 0000000000..4af2e504ad
--- /dev/null
+++ b/entity/AuditLogHistory_entity/entityfields/target_id/valueProcess.js
@@ -0,0 +1,95 @@
+import("Sql_lib");
+import("system.result");
+import("system.vars");
+
+var tablename = vars.get("$field.TABLENAME");
+var tablenameid = vars.get("$field.TABLENAMEID");
+var returnId = "";
+var res = tablenameid;
+
+switch(tablename)
+{
+    case "AB_OBJECTRELATION":
+        returnId = newSelect("OBJECT1_ROWID")
+            .from("AB_OBJECTRELATION")
+            .where("AB_OBJECTRELATION.AB_OBJECTRELATIONID", tablenameid)
+            .cell();  
+        res = returnId;
+        break;
+    case "ACTIVITYLINK":
+        returnId = newSelect("ACTIVITY_ID")
+            .from("ACTIVITYLINK")
+            .where("ACTIVITYLINK.ACTIVITYLINKID", tablenameid)
+            .cell();  
+        res = returnId;
+        break;
+    case "ASYS_BINARIES":
+        res = newSelect("ASYS_BINARIES.ROW_ID", "_____SYSTEMALIAS")
+            .from("ASYS_BINARIES")
+            .where("ASYS_BINARIES.ID", tablenameid)
+            .cell();
+        break;
+    case "BULKMAILRECIPIENT":
+        returnId = newSelect("BULKMAIL_ID")
+            .from("BULKMAILRECIPIENT")
+            .where("BULKMAILRECIPIENT.BULKMAILRECIPIENTID", tablenameid)
+            .cell();  
+        res = returnId;
+        break;
+    case "CAMPAIGNCOST":
+        returnId = newSelect("CAMPAIGNCOST.CAMPAIGN_ID")
+            .from("CAMPAIGNCOST")
+            .where("CAMPAIGNCOST.CAMPAIGNCOSTID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+    case "EVENTPARTICIPANT":
+        returnId = newSelect("EVENTPARTICIPANT.EVENT_ID")
+            .from("EVENTPARTICIPANT")
+            .where("EVENTPARTICIPANT.EVENTPARTICIPANTID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+    case "CAMPAIGNPARTICIPANT":
+        returnId = newSelect("CAMPAIGNPARTICIPANT.CAMPAIGN_ID")
+            .from("CAMPAIGNPARTICIPANT")
+            .where("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+    case "OBJECTMEMBER":
+        res = newSelect("OBJECTMEMBER.OBJECT_ROWID")
+            .from("OBJECTMEMBER")
+            .where("OBJECTMEMBER.OBJECTMEMBERID", tablenameid)
+            .cell();        
+        break;    
+    case "PERSON":
+        res = newSelect("CONTACT.CONTACTID")
+            .from("CONTACT")
+            .join("PERSON", "CONTACT.PERSON_ID = PERSON.PERSONID")
+            .where("PERSON.PERSONID", tablenameid)
+            .cell();        
+        break;    
+    case "LETTERRECIPIENT":
+        returnId = newSelect("LETTERRECIPIENT.SERIALLETTER_ID")
+            .from("LETTERRECIPIENT")
+            .where("LETTERRECIPIENT.LETTERRECIPIENTID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+    case "SALESPROJECT_MILESTONE":
+        returnId = newSelect("SALESPROJECT_MILESTONE.SALESPROJECT_ID")
+            .from("SALESPROJECT_MILESTONE")
+            .where("SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+    case "TASKLINK":
+        returnId = newSelect("TASKLINK.TASK_ID")
+            .from("TASKLINK")
+            .where("TASKLINK.TASKLINKID", tablenameid)
+            .cell();        
+        res = returnId;
+        break;
+}
+result.string(res);
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/initFilterProcess.js b/entity/AuditLogHistory_entity/initFilterProcess.js
new file mode 100644
index 0000000000..a817844155
--- /dev/null
+++ b/entity/AuditLogHistory_entity/initFilterProcess.js
@@ -0,0 +1,28 @@
+import("system.result");
+import("system.neon");
+import("system.datetime");
+import("system.vars");
+
+let presMode = vars.get("$sys.presentationmode");
+let curDate = datetime.toDate(vars.get("$sys.date"), "dd.MM.yyyy");
+
+if (presMode == neon.CONTEXT_PRESENTATIONMODE_FILTER || presMode == neon.CONTEXT_PRESENTATIONMODE_DASHBOARD)
+{
+    var filter = {
+        "type":"group",
+        "operator":"AND",
+        "timestamp": curDate,
+        "childs": 
+        [
+        {
+            "type":"row",
+            "name":"DATE_NEW",
+            "operator":"TIMEFRAME_PAST",
+            "value":"1 Tag",
+            "key":"REL=FIXED;START=P-1D",
+            "contenttype":"DATE"
+        }
+        ]
+    };
+    result.string(JSON.stringify(filter));
+}
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterConditionProcess.js b/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterConditionProcess.js
new file mode 100644
index 0000000000..8afb448592
--- /dev/null
+++ b/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterConditionProcess.js
@@ -0,0 +1,91 @@
+import("system.result");
+import("Sql_lib");
+import("Entity_lib");
+import("system.vars");
+import("system.logging");
+
+let values = [];
+let operator = "";
+let condition = "";
+let additionalCondition = "";
+let setAttrCondition = false;
+
+switch(vars.get("$local.operator"))
+{
+    case "1": // equals
+        operator = " in ";
+        break;
+    case "11": // is not empty
+        operator = " is not null ";
+        break;
+    case "2": // not equals
+        operator = " not in ";
+        break;
+    case "12": // is empty 
+        operator = " is null ";
+        break;
+}
+
+condition = "TABLENAME " + operator;
+
+if(vars.get("$local.operator") == "1" || vars.get("$local.operator") == "2")
+{
+    values = [vars.get("$local.value").trim()];
+    switch(values[0])
+    {
+        case "'TASK'":
+            values.push("'TASKLINK'");
+            break;
+        case "'ACTIVITY'":
+            setAttrCondition = true;
+            values.push("'ACTIVITYLINK'");
+            break;
+        case "'BULKMAIL'":
+            values.push("'BULKMAILRECIPIENT'");
+            break;
+        case "'EVENT'":
+            values.push("'EVENTPARTICIPANT'");
+            break;
+        case "'SALESPROJECT'":
+            setAttrCondition = true;
+            values.push("'SALESPROJECT_MILESTONE'");
+            break;
+        case "'SERIALLETTER'":
+            values.push("'LETTERRECIPIENT'");
+            break;
+        case "'PERSON'":
+            setAttrCondition = true;
+            additionalCondition = " or AB_LOGHISTORYID in ("
+                + newSelect("AB_LOGHISTORYID")
+                .from("AB_OBJECTRELATION")
+                .join("AB_LOGHISTORY", "TABLENAMEID = AB_OBJECTRELATIONID")
+                .join("CONTACT", "(OBJECT1_ROWID = CONTACTID or OBJECT2_ROWID = CONTACTID) and CONTACT.PERSON_ID is not null")
+                + ")";
+            break;
+        case "'ORGANISATION'":
+            setAttrCondition = true;
+            additionalCondition = " or AB_LOGHISTORYID in ("
+                + newSelect("AB_LOGHISTORYID")
+                .from("AB_OBJECTRELATION")
+                .join("AB_LOGHISTORY", "TABLENAMEID = AB_OBJECTRELATIONID")
+                .join("CONTACT", "(OBJECT1_ROWID = CONTACTID or OBJECT2_ROWID = CONTACTID) and CONTACT.PERSON_ID is null")
+                + ")";
+        
+            break;
+    }
+
+    if (setAttrCondition)
+    {
+        additionalCondition += " or AB_LOGHISTORYID in ("
+            + newSelect("AB_LOGHISTORYID")
+            .from("AB_ATTRIBUTERELATION")
+            .join("AB_LOGHISTORY", "TABLENAMEID = OBJECT_ROWID and OBJECT_TYPE = " 
+                + values[0].substring(0, 2).toUpperCase() + values[0].substring(2).toLowerCase())
+            + ")";
+    }
+
+    condition += "(" + values.join(", ") + ")";
+    condition += additionalCondition ? additionalCondition : "";
+}
+
+result.string(condition);
\ No newline at end of file
diff --git a/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterValuesProcess.js b/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterValuesProcess.js
new file mode 100644
index 0000000000..5b62004280
--- /dev/null
+++ b/entity/AuditLogHistory_entity/recordcontainers/db/filterextensions/contextfilter/filterValuesProcess.js
@@ -0,0 +1,18 @@
+import("system.translate");
+import("system.result");
+
+result.object(
+    [
+    ["ACTIVITY", translate.text("Activity")],
+    ["BULKMAIL", translate.text("Bulk mail")],
+    ["PERSON", translate.text("Contact")], 
+    ["DSGVO", translate.text("DSGVO")],
+    ["EVENT", translate.text("Event")],
+    ["ORGANISATION", translate.text("Organisation")],
+    ["PERSON", translate.text("Person")],
+    ["SALESORDER", translate.text("Salesorder")],
+    ["SALESPROJECT", translate.text("Salesproject")],
+    ["SERIALLETTER", translate.text("Serial letter")],
+    ["TASK", translate.text("Task")],
+    ]
+    );
diff --git a/neonContext/AuditLogHistory/AuditLogHistory.aod b/neonContext/AuditLogHistory/AuditLogHistory.aod
new file mode 100644
index 0000000000..4e735cc63f
--- /dev/null
+++ b/neonContext/AuditLogHistory/AuditLogHistory.aod
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>AuditLogHistory</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterView>AuditLogHistoryFilter_view</filterView>
+  <entity>AuditLogHistory_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>c468be91-da18-4c22-abbd-cfa1c410d013</name>
+      <view>AuditLogHistoryFilter_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/AuditLogHistoryFilter_view/AuditLogHistoryFilter_view.aod b/neonView/AuditLogHistoryFilter_view/AuditLogHistoryFilter_view.aod
new file mode 100644
index 0000000000..87d730da51
--- /dev/null
+++ b/neonView/AuditLogHistoryFilter_view/AuditLogHistoryFilter_view.aod
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>AuditLogHistoryFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AuditDashlet</name>
+      <title>AuditLogs</title>
+      <description>Show all audits</description>
+      <fragment>AuditLogHistory/filter</fragment>
+      <storeRoles>
+        <element>INTERNAL_ADMINISTRATOR</element>
+        <element>INTERNAL_DASHBOARDSTOREADMIN</element>
+        <element>INTERNAL_DESIGNER</element>
+      </storeRoles>
+      <icon>VAADIN:LINES_LIST</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>Admin</name>
+          <title>Admin</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <timelineViewTemplate>
+      <name>Timeline</name>
+      <dateField>DATE_NEW</dateField>
+      <titleField>PREVIEW_TITLE</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <subdescriptionField>LOGTYPE</subdescriptionField>
+      <additionalInfoField>USER_NEW</additionalInfoField>
+      <hideContentSearch v="false" />
+      <entityField>#ENTITY</entityField>
+      <isEditable v="false" />
+      <informationField></informationField>
+      <isCreatable v="false" />
+    </timelineViewTemplate>
+  </children>
+</neonView>
diff --git a/process/Loghistory_lib/process.js b/process/Loghistory_lib/process.js
index 93375b4ee7..00ee5d28af 100644
--- a/process/Loghistory_lib/process.js
+++ b/process/Loghistory_lib/process.js
@@ -250,12 +250,12 @@ LogHistoryExecutor.prototype._addEntryForInsert = function (pTablename, pTablena
         //the "SOURCE_TABLENAME" and "SOURCE_TABLENAMEID" are reserved for later usage in the change-notification-subscriptions //TODO: check if they are really needed
         this.toInsert = {
             statements: []
-            ,cols: ["LOGTYPE","TABLENAME","TABLENAMEID","DESCRIPTION", "SOURCE_TABLENAME", "SOURCE_TABLENAMEID", "DATE_NEW","USER_NEW"]
+            ,cols: ["LOGTYPE","TABLENAME","TABLENAMEID","DESCRIPTION", "SOURCE_TABLENAME", "SOURCE_TABLENAMEID", "DATE_NEW","USER_NEW", "AB_LOGHISTORYID"]
         };
         this.toInsert.types = db.getColumnTypes("AB_LOGHISTORY", this.toInsert.cols);//load only once for better performance
     }
 
-    var vals = [this.sqlAction, pTablename, pTablenameId, pDescription, pSourceTablename, pSourceTablenameId, this.timestamp, this.triggeringUser];
+    var vals = [this.sqlAction, pTablename, pTablenameId, pDescription, pSourceTablename, pSourceTablenameId, this.timestamp, this.triggeringUser, util.getNewUUID()];
     this.toInsert.statements.push(["AB_LOGHISTORY", this.toInsert.cols, this.toInsert.types, vals]);
 };
 
-- 
GitLab


From eae2402c2c8080f19eaefbeb5117cb0103471d84 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 19 Oct 2020 16:47:29 +0200
Subject: [PATCH 214/251] Util_lib Utils.clone improved

---
 process/Util_lib/process.js | 41 ++++++++++++++++++++++++++-----------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 79d48fd346..9dc7208091 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -61,29 +61,46 @@ Utils.isNullOrEmpty = function (pObject)
  * 
  * var original = new MyObject();
  * original.name = "Jotaro";
+ * original.obj1 = {};
+ * original.obj2 = original.obj1;
  * 
  * var copy = ObjectUtils.clone(original);
  * copy.name = "Josuke";
  * 
  * logging.log(original.name != copy.name);    //true
- * logging.log(copy instanceof MyObject());    //true (prototypes are set correctly)
+ * logging.log(copy instanceof MyObject());    //true, prototypes are set correctly
+ * logging.log(copy.obj1 === copy.obj2);       //true, relative object references are kept
  */
 Utils.clone = function (pObject)
 {
-    if (!Utils.isObject(pObject) || pObject === null)
-        return pObject; //Return the value if inObject is not an object
+    var referenceMap = new Map();
+    return _clone(pObject);
     
-    var clonedObject = Array.isArray(pObject) 
-        ? [] 
-        : Object.create(Object.getPrototypeOf(pObject)); //set the prototype of the given object
-
-    for (let key in pObject) 
+    function _clone (pObject)
     {
-        var value = pObject[key];
-        clonedObject[key] = Utils.clone(value); //Recursively (deep) copy for nested objects, including arrays
+        if (typeof pObject !== "object" || pObject === null)
+            return pObject; //Return the value if inObject is not an object
+        
+        if (referenceMap.has(pObject))
+            return referenceMap.get(pObject);
+        
+        var clonedObject = Array.isArray(pObject) 
+            ? [] 
+            : Object.create(Object.getPrototypeOf(pObject)); //set the prototype of the given object
+        
+        /* keeps track of all encountered objects and maps the original to the copy, this makes it possible to:
+           - have the same relative references in the copy as in the original
+           - copy cyclic references without error */
+        referenceMap.set(pObject, clonedObject);
+        
+        for (let key in pObject) 
+        {
+            var value = pObject[key];
+            clonedObject[key] = _clone(value); //Recursively (deep) copy for nested objects, including arrays
+        }
+        
+        return clonedObject;
     }
-
-    return clonedObject;
 }
 
 /**
-- 
GitLab


From f415eec1f5c56e8001233df73ad8e432d77198dc Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 19 Oct 2020 17:00:25 +0200
Subject: [PATCH 215/251] JditoFilter_lib improved

---
 process/JditoFilter_lib/process.js | 178 ++++++++++++++++++++++++-----
 1 file changed, 149 insertions(+), 29 deletions(-)

diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js
index 369edee61b..588480d799 100644
--- a/process/JditoFilter_lib/process.js
+++ b/process/JditoFilter_lib/process.js
@@ -4,35 +4,41 @@ import("Sql_lib");
 import("Util_lib");
 import("system.datetime");
 
+//@TODO: add support for permissions to the lib
+
 /**
  * object for filtering records
  * 
- * @param {Array} pColumns the column names
- * @param {Object} pFilter the filter object
- * @param {Object} pCustomCheckFns
- * @param {Object} pCheckFnThisArg
+ * @param {Object} [pFilter] the filter object
+ * @param {Array} [pFieldOrder] the fields
+ */
+function JditoFilter (pFilter, pFieldOrder) 
+{
+    this._fieldInfos = {};
+    this.fieldOrder(pFieldOrder);
+    this._filter = null;
+    this.filter(pFilter);
+    this._ignoreCase = JditoFilterUtils.isUserIgnoreCase();
+    this._lookupFields = [];
+}
+
+/**
+ * Sets the filter of the object
  * 
- * @private
+ * @param {Object} pFilter the filter object that should be used (e.g. vars.get("$local.filter"))
+ * @return {JditoFilter} current object
  */
-function JditoFilter (pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg) 
+JditoFilter.prototype.filter = function (pFilter)
 {
-    var columnMap = {};
-    for (let i = 0, l = pColumns.length; i < l; i++)
+    if (pFilter)
     {
-        let col = pColumns[i];
-        if (col)
-            columnMap[col] = {
-                index : i,
-                checkFn : (pCustomCheckFns ? pCustomCheckFns[col] : null)
-            };
+        if (!Utils.isObject(pFilter))
+            throw new TypeError("JditoFilter: Wrong type for the filter, expected 'object' but got '" + (typeof pFilter) + "'");
+        this._filter = "filter" in pFilter ? pFilter.filter : pFilter;
+        if (this._filter && this._filter.childs.length !== 0)
+            _removeEmptyGroups(this._filter.childs);
     }
-    this.columnMap = columnMap;
-    
-    if (pFilter && pFilter.childs.length !== 0)
-        _removeEmptyGroups(pFilter.childs);
-    
-    this.filter = pFilter;
-    this.checkFnThisArg = pCheckFnThisArg || null;
+    return this;
     
     function _removeEmptyGroups (pCurrentArray)
     {
@@ -49,6 +55,104 @@ function JditoFilter (pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg)
     }
 }
 
+/**
+ * Sets the filter of the object
+ * 
+ * @param {String} pFilter the filter object that should be used as JSON string
+ * @return {JditoFilter} current object
+ */
+JditoFilter.prototype.filterJSON = function (pFilter)
+{
+    return this.filter(JSON.parse(pFilter));
+}
+
+/**
+ * Sets the order of the columns
+ * 
+ * @param {Array} pFields array containing the field names in the right order
+ * @return {JditoFilter} current object
+ */
+JditoFilter.prototype.fieldOrder = function (pFields)
+{
+    for (let i = 0, l = pFields.length; i < l; i++)
+    {
+        let fieldName = pFields[i];
+        if (fieldName)
+        {
+            //remove .value if present
+            if (fieldName.endsWith(".value"))
+                fieldName = fieldName.slice(0, -6);
+            this._fieldInfos[fieldName] = {
+                index: i
+            };
+        }
+    }
+    return this;
+}
+
+/**
+ * Sets a custom check-function for the given field. This can be used to handle the value of the field differently, making more complex
+ * filters possible.
+ * 
+ * @param {String} pFieldName column the function should be used for
+ * @param {Function} pCheckFn custom check function, it will be called with these arguments: (rowValue, filterValue, operator), and it should
+ *                            return true if the row meets the filter-condition and false if it doesn't
+ * @param {Object} [pThisArg] this-value for the check-function
+ * @return {JditoFilter} current object
+ */
+JditoFilter.prototype.addSpecialCheckFn = function (pFieldName, pCheckFn, pThisArg)
+{
+    if (!this._fieldInfos[pFieldName])
+        this._fieldInfos[pFieldName] = {};
+    
+    this._fieldInfos[pFieldName].checkFn = pCheckFn;
+    this._fieldInfos[pFieldName].thisArg = pThisArg || null;
+    
+    return this;
+}
+
+/**
+ * Sets the fields that should be used for lookup filter
+ * 
+ * @param {Array} pFields the fields
+ * @return {JditoFilter} current object
+ */
+JditoFilter.prototype.lookupFilterFields = function (pFields)
+{
+    this._lookupFields = pFields;
+    var lookupFilterFn = function (pRecordValue, pFilterValue, pOperator, pRow)
+    {
+        if (pOperator == "CONTAINS")
+        {
+            var filterValues = pFilterValue.split(" ").filter(function (val) {return val.trim();});
+            return filterValues.every(function (filterValue)
+            {
+                return this._lookupFields.some(function (fieldName)
+                {
+                    var fieldIndex = this._fieldInfos[fieldName].index;
+                    return (new RegExp(filterValue, "i")).test(pRow[fieldIndex]);
+                }, this);
+            }, this);
+        }
+        return false;
+    }
+    this.addSpecialCheckFn("$$$LOOKUPFIELD$$$", lookupFilterFn, this);
+    return this;
+}
+
+/**
+ * Changes whether the condition should be case-insensitive for text
+ * 
+ * @param {boolean} [pIgnoreCase=true] if it should be case-insensitive
+ * @return {JditoFilter} current object
+ */
+JditoFilter.prototype.ignoreCase = function (pIgnoreCase)
+{
+    //"", 0 , false -> false, everything else is considered true
+    this._ignoreCase = pIgnoreCase != false;
+    return this;
+}
+
 /**
  * tests the given row if it matches the filter
  * 
@@ -58,12 +162,12 @@ function JditoFilter (pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg)
  */
 JditoFilter.prototype.checkRecord = function (pRow)
 {
-    if (!this.filter || this.filter.childs.length === 0)
+    if (!this._filter || this._filter.childs.length === 0)
         return true;
     
     var regexFlags = JditoFilterUtils.isUserIgnoreCase() ? "i" : undefined;
     
-    return _testRecord.call(this, this.filter);
+    return _testRecord.call(this, this._filter);
     
     /**
      * recursive function to test the row against the condition
@@ -72,9 +176,10 @@ JditoFilter.prototype.checkRecord = function (pRow)
     {
         if (pCondition.type == "row")
         {
-            let value = pRow[this.columnMap[pCondition.name].index];
-            let testFn = this.columnMap[pCondition.name].checkFn || _testValue;
-            return testFn.call(this.checkFnThisArg, value, (pCondition.key || pCondition.value), pCondition.operator, pRow);
+            let columnInfo = this._fieldInfos[pCondition.name];
+            let value = "index" in columnInfo ? pRow[columnInfo.index] : null;
+            let testFn = columnInfo.checkFn || _testValue;
+            return testFn.call(columnInfo.thisArg, value, (pCondition.key || pCondition.value), pCondition.operator, pRow);
         }
         else if (pCondition.type == "group")
         {
@@ -125,6 +230,12 @@ JditoFilter.prototype.checkRecord = function (pRow)
     }
 }
 
+/**
+ * Filters the given records by the criteria defined by the filter object.
+ * 
+ * @param {Array} pRecords 2d-array containing the records
+ * @return {Array the filtered records
+ */
 JditoFilter.prototype.filterRecords = function (pRecords)
 {
     return pRecords.filter(this.checkRecord, this);
@@ -178,7 +289,16 @@ JditoFilterUtils.filterRecords = function (pColumns, pRecords, pFilter, pCustomC
     if (!pFilter)
         return pRecords;
     
-    return new JditoFilter(pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg).filterRecords(pRecords);
+    var filterObj = new JditoFilter(pFilter, pColumns);
+    
+    if (pCustomCheckFns)
+    {
+        for (let fieldName in pCustomCheckFns)
+        {
+            filterObj.addSpecialCheckFn(fieldName, pCustomCheckFns[fieldName], pCheckFnThisArg);
+        }
+    }
+    return filterObj.filterRecords(pRecords);
 }
 
 /**
@@ -263,7 +383,7 @@ function FilterSqlTranslator (pFilter, pTable)
 /**
  * Sets the filter of the object
  * 
- * @param {Object} pFilter the filter object that should be used
+ * @param {Object} pFilter the filter object that should be used (e.g. vars.get("$local.filter"))
  * @return {FilterSqlTranslator} current object
  */
 FilterSqlTranslator.prototype.filter = function (pFilter)
@@ -272,7 +392,7 @@ FilterSqlTranslator.prototype.filter = function (pFilter)
     {
         if (!Utils.isObject(pFilter))
             throw new TypeError("FilterSqlTranslator: Wrong type for the filter, expected 'object' but got '" + (typeof pFilter) + "'");
-        this._filter = pFilter.filter || pFilter;
+        this._filter = "filter" in pFilter ? pFilter.filter : pFilter;
     }
     return this;
 }
-- 
GitLab


From 1479a477fd1d0fc1976ca140217997d04d87bc07 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 21 Oct 2020 08:45:34 +0200
Subject: [PATCH 216/251] JditoFilter constructor fix

---
 process/JditoFilter_lib/process.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js
index 588480d799..8480664cc4 100644
--- a/process/JditoFilter_lib/process.js
+++ b/process/JditoFilter_lib/process.js
@@ -15,7 +15,8 @@ import("system.datetime");
 function JditoFilter (pFilter, pFieldOrder) 
 {
     this._fieldInfos = {};
-    this.fieldOrder(pFieldOrder);
+    if (pFieldOrder)
+        this.fieldOrder(pFieldOrder);
     this._filter = null;
     this.filter(pFilter);
     this._ignoreCase = JditoFilterUtils.isUserIgnoreCase();
-- 
GitLab


From dcfd3b7dd2478361a85f1beacfe24479a5715f47 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 21 Oct 2020 09:08:13 +0200
Subject: [PATCH 217/251] AB_LOGHISTORY demodata added uid values

---
 .../_demoData/generatedData/ab_loghistory.xml | 327 ++++++++++++++++++
 1 file changed, 327 insertions(+)

diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
index 553a0753b0..3f718d9b83 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ab_loghistory.xml
@@ -3,6 +3,7 @@
   <changeSet author="autogenerated" id="dc70b18d-4875-42b1-ab34-9c37d7048750">
     <delete tableName="ab_loghistory"/>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7e3108ae-7f1f-4fe5-8a57-2437df4335a5"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;11.09.2018&quot;,&#10;Belegnummer: &quot;1015&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -11,6 +12,7 @@
       <column name="DATE_NEW" valueDate="2019-09-02T01:58:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9b916b5b-86c2-4e88-92a0-486b88a01673"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -19,6 +21,7 @@
       <column name="DATE_NEW" valueDate="2019-09-02T01:58:03"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="13ac70b7-9002-412d-af0a-d00d2085dbfa"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Hier liegt die Kampagne für die Hannovermesse&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Bitte pr&amp;uuml;fen ob alle Angaben passen und wir das so best&amp;auml;tigen k&amp;ouml;nnen.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -27,6 +30,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fffa0d9c-24c0-485e-b160-4232f7b5e3ab"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;22924044-c41d-4130-b9c2-de51e3c9e928&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -35,6 +39,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T05:58:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a6f0aa91-ad71-44fe-965b-808ba871da00"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Kickoff Meeting am 1. Oktober&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Alle Teilnehmer werden zum Termin anwesend sein, werden den Ablauf und das Standpersonal besprechen.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -43,6 +48,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="04760759-ed0f-4347-8bbc-bb6c422e5fd1"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;38a20ed1-f75e-439d-957a-53cbb815a9fe&quot;,&#10;Objekt: &quot;a10eaf09-7230-4889-a601-776de71cb71b&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -51,6 +57,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T06:00:16"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1ea8a70c-166d-43a7-871b-32f8367c8e08"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Wichtige Teilnehmer einladen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;bitte ladet alle eure A Kontakte ein f&amp;uuml;r das Event.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Euer Markteting;&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -59,6 +66,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="29fd168b-8d0c-4214-9b5b-2af8656805e5"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -67,6 +75,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:16:41"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="577754c6-84d2-4ea2-b61b-becd726ac112"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;04.09.2019&quot;,&#10;Betreff: &quot;Einladungen gehen 18.09 raus&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Erinnerung das heute die Einladungen versandt werden!&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -75,6 +84,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6527b7f6-de04-40e7-9639-dca74c72325f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -83,6 +93,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:17:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="82cce970-91e5-4710-8a55-051fb25dba29"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Erinnerung das am 18.09 die Einladungen versandt werden!&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -91,6 +102,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:17:53"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="18b9c406-96d2-463a-880f-d27357d829e5"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;27.08.2019&quot;,&#10;Betreff: &quot;Erste Planung für die Kampagne gelaufen&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo zusammen,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;wir sind sehr froh euch mitteilen zu d&amp;uuml;rfen das wir die ersten Vorbereitungen f&amp;uuml;r die Messe geplant haben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Weitere Infos werden euch zum passenden Zeitpunkt zugespielt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&lt;br /&gt;&#10;Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Das Marketing&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;x                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -99,6 +111,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e571d243-5005-4e2f-ada9-4d75b1f58213"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -107,6 +120,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:20:53"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6583ad5f-4787-460b-b6aa-85984b73a251"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;0eec5c89-272c-4675-b8a3-3a17e5cc2907&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -115,6 +129,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:23:40"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7f8512ba-5cc3-4e36-ba46-bf4a09ffe6cd"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;be9c6fd3-a401-4696-9382-442a20da6266&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -123,6 +138,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:23:56"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1eb10fe6-345b-440e-8498-3737317ec3f0"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot;,&#10;Art: &quot;Campaign&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -131,6 +147,7 @@
       <column name="DATE_NEW" valueDate="2019-09-04T09:24:17"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a6129e3b-bde7-4768-b71b-3e25c03cb77f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Harold Smith | meine Firma&quot;,&#10;Beginn: &quot;05.09.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Die Funktionalitäten des Tools erfüllen nicht die geforderten Funktionalitäten.&#10;Im Detail:  Die Zeiterfassung kann nicht zu Tickets erfasst werden.&#10;&quot;,&#10;Fällig: &quot;12.09.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Projektplanung fehlerhaft&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
@@ -139,6 +156,7 @@
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="366d9cb5-095c-4ef7-b6de-c713eab3ee65"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Anwenderfehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -147,6 +165,7 @@
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4ef5a29d-d57e-4889-9be3-99f91a2bc374"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -155,6 +174,7 @@
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4f78e6f8-0c91-44fc-9cce-4becd2d4f2fa"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -163,6 +183,7 @@
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e259f806-d1cd-4c7c-bf00-bfd568cfb26e"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Billable: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -171,6 +192,7 @@
       <column name="DATE_NEW" valueDate="2019-09-05T01:45:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7727b1fd-1ea5-4b4c-95e5-7a67c3f72641"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;Decker&quot; auf &quot;Decken&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -179,6 +201,7 @@
       <column name="DATE_NEW" valueDate="2019-11-12T02:39:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a3c9ebbc-492e-4422-882d-89b19a0ac8a4"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;Mosby&quot; auf &quot;Mausbeier&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -187,6 +210,7 @@
       <column name="DATE_NEW" valueDate="2019-11-12T02:40:10"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fd1172d6-7ac7-43cb-8242-0531e4c8b86b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;Scherbatsky&quot; auf &quot;Scherbatstein&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -195,6 +219,7 @@
       <column name="DATE_NEW" valueDate="2019-11-12T02:40:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ad81bf27-88e6-4914-9046-f3c13a1f70fa"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;von Matterhorn&quot; auf &quot;von Alpenhorn&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -203,6 +228,7 @@
       <column name="DATE_NEW" valueDate="2019-11-12T02:41:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="198b4ece-158f-4e95-a785-58b2f6c33bad"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" valueClobFile="ab_loghistory/DESCRIPTION/clobFiles/6797689c3c12b094b0147a099343a309.txt"/>
       <column name="TABLENAME" value="PERSON"/>
@@ -211,6 +237,7 @@
       <column name="DATE_NEW" valueDate="2019-11-12T02:50:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1754551e-b4f1-47b1-b514-23f42582da7e"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;13.11.2019&quot;,&#10;Betreff: &quot;Neuer Kontaktpunkt zum Produkt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -219,6 +246,7 @@
       <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f355e4a9-c520-413d-ac93-2e2c100e5f8b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -227,6 +255,7 @@
       <column name="DATE_NEW" valueDate="2019-11-13T11:06:51"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="5f031aa5-9c13-449e-804d-96cb8e3b2d22"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Anrede: Herr&lt;/p&gt;&#10;&#10;&lt;p&gt;Vorname:Markus&lt;/p&gt;&#10;&#10;&lt;p&gt;Nachname:Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail:maltinger@industrial-steel.de&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sehr geehrte Damen und Herren,&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;unsere Firma hat Interesse an ihren Produkten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bitte kontaktieren sie mich f&amp;uuml;r weitere Besprechungen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -235,6 +264,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T07:56:20"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="adc52192-9059-4491-8e88-cb59028ab250"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hatte ersten Kontakt mit dem Projektzust&amp;auml;ndigen Tim Admin gehabt.&lt;/p&gt;&#10;&#10;&lt;p&gt;Produktinformationen werden versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -243,6 +273,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T07:57:27"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="648cd4bb-e5bc-430d-ad2f-4cc43eeba936"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -251,6 +282,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:02:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="793adf19-8ad7-4ccc-b744-ce8509a4461d"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;d5a2dc64-e503-4aed-a0c6-d54f49b8db87&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -259,6 +291,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:02:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8a341b8a-1cf4-47f9-9a83-dfd91dde2db7"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;d608cae4-7b54-4a12-95f3-5b9eac3d04ef&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -267,6 +300,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:03:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="95f4b675-4c52-4570-8a11-6a5319a7fd71"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kurzes Gespr&amp;auml;ch gef&amp;uuml;hrt mit Herr Altinger.&lt;/p&gt;&#10;&#10;&lt;p&gt;Konnten seine R&amp;uuml;ckfragen zu unserem Produkt erstmal kl&amp;auml;ren.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -275,6 +309,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:04:31"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="eb55e5f9-678d-4619-ad84-3b8ef877f29a"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;e3be48af-e679-4b3a-972f-ad17239e3bb4&quot;,&#10;Objekt: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -283,6 +318,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:05:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d60d5a9c-78ce-4c07-8d6a-0338f6d0c285"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch vereinbart, erhalten Sie im Anhang die gew&amp;uuml;nschten Informationen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -291,6 +327,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:05:24"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="79d47106-5631-4ee2-99d0-304fc3a37066"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -299,6 +336,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:05:54"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b91fa01d-67d8-4a1f-8189-78b8f2230cbd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -307,6 +345,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:06:04"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b69a9893-1404-4ad7-9429-fd51e5184395"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -315,6 +354,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:06:13"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="41a01395-0dcd-497b-a728-91643d293bc3"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -323,6 +363,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:08:53"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3fec3851-fbb8-4e34-aec2-95420aafb884"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -331,6 +372,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:10:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c18bed9d-88c2-4ed3-9a8f-41d7c9cdfe6e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;ONLINE-MEETING                      &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -339,6 +381,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:11:25"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4f64050f-554b-44be-b529-f5b0df15b500"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -347,6 +390,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:11:41"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="710b83ed-34df-420d-8c08-6a6cddceee20"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde hatte die erste Produktpr&amp;auml;sentation zu unseren Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&#10;&lt;p&gt;Vor allem das rafinierte Design und die Preisstruktur unseres Unternehmens waren positive Aspekte aus Kundensicht.&lt;/p&gt;&#10;&#10;&lt;p&gt;Werde die n&amp;auml;chsten Schritte anhand der Pr&amp;auml;sentation ableiten.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -355,6 +399,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:12:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="44582c20-5076-40e9-b5f7-6a9a651a72f9"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Automatischer Import:&lt;/p&gt;&#10;&#10;&lt;p&gt;Infobrosch&amp;uuml;re zu Produkt A runtergeladen.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -363,6 +408,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:13:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="832ce16a-fbff-46ae-b2ac-f76eea367d89"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Datum: von &quot;14.06.2019&quot; auf &quot;10.10.2017&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -371,6 +417,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:21:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="aef113a4-2d83-4c43-8ae0-ed1e36253aa7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -379,6 +426,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:27:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="05b2cbc1-0b3d-4478-8486-1aa5cec4df5d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Kunde m&amp;ouml;chte mit uns in die n&amp;auml;chste Runde gehen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;dazu bekommen wir in den n&amp;auml;chsten Tagen die Geheimhaltungsvereinbarung&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -387,6 +435,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:27:50"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="46efb327-1cc5-4759-8ed1-782225f7d77e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -395,6 +444,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:28:29"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ff267ee6-71d8-4631-b48d-4663ac2ebfc6"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Marketing:&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;Uuml;ber die Landingpage von Produkt C&amp;nbsp;auf uns gekommen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Es&amp;nbsp;besteht weiterhin Interesse an den Produkten&amp;nbsp;A und B.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -403,6 +453,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:28:51"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4d69d5d8-8dd7-4974-9303-4fbc368108ee"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Admin,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie bereits telefonisch angek&amp;uuml;ndigt, bitten wir um ein Angebot f&amp;uuml;r die Produkte A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Markus Altinger&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Industrial Steel AG&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -411,6 +462,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:29:45"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9195ebed-68d8-47d6-b244-76974762a358"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -419,6 +471,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:30:17"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7e1c4c0b-335b-4144-8323-ee19f550691c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. Altinger hat ein Angebot f&amp;uuml;r die Produkte A und B angefordert.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Zu dem Angebot haben wir noch einige Fragen gekl&amp;auml;rt.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -427,6 +480,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:30:51"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a89cb1a9-6f01-4ec9-89fc-27f1fc46c19b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -435,6 +489,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:31:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a12f90da-da05-4b81-8f44-9f2ec4d6207a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Produktspezifiskationen an Frau Linder weitergegeben.&lt;/p&gt;&#10;&#10;&lt;p&gt;Intern wird gepr&amp;uuml;ft ob das Produkt bis zum Zeitpunkt X an den potentiellen Kunden geliefert werden kann.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -443,6 +498,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:32:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6ab6e38f-8e9f-4d16-a170-fac8e351040e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -451,6 +507,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:32:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7084dc7f-9568-4574-8633-b35d61c48b1a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr Altinger,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie wie gew&amp;uuml;nscht und vereinbart unser Angebot zu dem Produkten A und B.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen zum Angebot erreichen Sie uns jederzeit unter den bekannten Kontaktdaten.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und auf die bevorstehende Zusammenarbeit.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Mit freundlichen Gr&amp;uuml;&amp;szlig;en&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -459,6 +516,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:32:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ebfbeb99-6487-4834-813f-15acf24e323f"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -467,6 +525,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:33:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f34e009d-982c-41a0-8874-1dac4b7446e2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -475,6 +534,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:33:43"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1fc9d73f-0f15-4766-8d96-22ccf56f8aa5"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -483,6 +543,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:33:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="888ca62b-d1cb-413a-bdcf-513941861c04"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr Tannenbaum,&lt;/p&gt;&#10;&#10;&lt;p&gt;anbei erhalten Sie unser erneutes Angebot f&amp;uuml;r das gew&amp;uuml;nschte Produkt A.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;So wie besprochen mit den korrigierten Produktpreisen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Wir freuen uns auf die Best&amp;auml;tigung des Angebots und stehen Ihnen bei R&amp;uuml;ckfragen jederzeit zur Verf&amp;uuml;gung.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Beste Gr&amp;uuml;&amp;szlig;e&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Tim Admin&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -491,6 +552,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:34:33"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="313306a9-2dbb-4241-bf3f-1004d9a5478c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betreff: von &quot;Neuer Kontaktpunkt zum Produkt&quot; auf &quot;Neuer Kontaktpunkt zum Produkt C&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -499,6 +561,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:34:56"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c34cd43f-c611-48c5-afb4-dcd83c4c7c36"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -507,6 +570,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:35:08"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="52fadd10-9472-4486-9262-1634a66dae43"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;45635aca-7971-43df-a683-c80c86cb58cc&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -515,6 +579,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:37:04"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="97ed4a04-b2ed-4e4a-a0ea-287e0f03752c"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;e265a424-b343-4bc1-b1cd-d40b9405ca12&quot;,&#10;Objekt: &quot;6e667085-bb97-4039-8dfe-2230002985e0&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -523,6 +588,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:37:32"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="23c72e9c-9272-406d-89b5-be6fd1a8444d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Produktinformationen zu produkt C versandt.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -531,6 +597,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:38:27"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b32963ba-5e1b-46f7-8483-d808232ac62f"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -539,6 +606,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:39:33"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="70635df3-9b44-44a2-bdc9-01b16bc548e4"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betreff: von &quot;Produkt gekauft&quot; auf &quot;Produkt gemietet.&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Der potentielle K&amp;auml;ufer hat Produkte unseres Segments gemietet.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -547,6 +615,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:39:45"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a3dc84ff-cb60-4031-8ca9-0be7a50d6850"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;Solano&quot; auf &quot;Solana&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -555,6 +624,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:40:25"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cef5b445-3c91-48eb-b571-636fa07848a6"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Nachname: von &quot;Ericson&quot; auf &quot;Ericsan&quot; geändert."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -563,6 +633,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:40:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="dbf30296-b247-4cd8-b245-c5c0431f19d7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sehr geehrter Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;gerne lassen ich Ihnen ein paar unserer Referenzen aus Ihrer Branche zukommen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Sollten Sie Interesse an einem Referenzgespr&amp;auml;ch haben, k&amp;ouml;nnen Sie mir gerne Bescheid geben. Ich werde dann die Abstimmung mit einem passenden Kunden f&amp;uuml;r Sie in die Wege leiten.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Herzliche Gr&amp;uuml;&amp;szlig;e&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -571,6 +642,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:43:08"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="af99ba41-e385-46bf-8113-f9e810b0793d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -579,6 +651,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:43:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ab097d8e-d401-4f58-a611-98805230a3a0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -587,6 +660,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:43:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fa15239a-6b23-4b27-97b1-2f51b1a40744"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -595,6 +669,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:43:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="be24c99e-8fa7-4d65-b0b1-1a03149d3374"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -603,6 +678,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:43:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fb934bf3-fc9e-4f84-9fb1-2618274d862f"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -611,6 +687,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:44:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cde6d6e3-11df-49c2-bee2-6a401197103e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -619,6 +696,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:44:24"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="406163b1-06ad-48bb-afa0-d1d16eef8698"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Hallo Herr von Alpenhorn,&lt;/p&gt;&#10;&#10;&lt;p&gt;wie soeben telefonisch angek&amp;uuml;ndigt freue ich mich, Ihnen im Anhang dieser Nachricht nun die ausgearbeitete Stellungnahme sowie unser Angebot zukommen zu lassen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Bei Fragen k&amp;ouml;nnen Sie mich jederzeit erreichen.&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Viele Gr&amp;uuml;&amp;szlig;e,&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Lisa Sommer&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;meine Firma&lt;/p&gt;&#10;&#10;&lt;p&gt;Wilhelm-Str. 2&lt;/p&gt;&#10;&#10;&lt;p&gt;80807 M&amp;uuml;nchen&lt;/p&gt;&#10;&#10;&lt;p&gt;Fon: +49 8763 1333&lt;/p&gt;&#10;&#10;&lt;p&gt;E-Mail: lsommer@meine-firma.de&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -627,6 +705,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:44:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="be13e560-73a3-48a6-a419-afc151285cc7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -635,6 +714,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:44:38"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fd3aa1db-e0c9-4ab4-a9ad-c7ba612af586"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Hr. von Alpenhorn hatte die erfreuliche Nachricht, dass sie sich f&amp;uuml;r unser Produkt entschieden haben;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Vertrag kann nun fertig gemacht und zugesandt werden&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -643,6 +723,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:44:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="05942ed2-c9a3-41ca-8f0e-305d0e116831"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag an den neuen Kunden versandt&quot;,&#10;Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Spezifikationen wurden so mit dem Kunden besprochen.&lt;/p&gt;&#10;&#10;&lt;p&gt;Er erh&amp;auml;lt in den ersten zwei Jahren 10 % Nachlass.&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;MAIL                                &quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -651,6 +732,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2405de30-7e71-4a97-8b3c-d240a0fcd882"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;b2c211a7-6dcf-450b-b420-9f04d790de7a&quot;,&#10;Art: &quot;Contract&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -659,6 +741,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1224bcca-ac13-4aed-af29-5eb38ef567f5"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;d3e2acf7-ee1c-4b17-9cb6-e8e720d0cc0b&quot;,&#10;Objekt: &quot;f7b8f0c3-7702-4466-b502-d21fa4fa0010&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -667,6 +750,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:46:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2795a6f9-35fe-4faa-a1f2-80244812004c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -675,6 +759,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:50:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e62009f7-67dd-404e-9099-c0dccacf80ae"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;1a67eaa7-21da-4a18-97ab-755ac5cb74f7&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -683,6 +768,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:51:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f9183367-4e23-4173-a060-e75cb3221b59"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;PHONE                               &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -691,6 +777,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:51:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e4df4b09-a87f-4212-b45f-72dbef3ac596"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betreff: von &quot;Gespräch mit Frau Decker&quot; auf &quot;Gespräch mit Frau Decken&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -699,6 +786,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:51:37"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c1f89fd8-b040-4fc8-8d51-8b87c82f07b2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -707,6 +795,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:51:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a20d122f-0830-4128-9b75-4e21b77c6997"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;62486e9e-52c6-476f-b1e3-5d62e3f6384e&quot;,&#10;Objekt: &quot;19c6bf30-cd8b-40df-980c-ce71c92c194c&quot;,&#10;Art: &quot;Person&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -715,6 +804,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:52:54"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0a092579-d2d4-41f3-8e3f-2ed71ea81852"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;i                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -723,6 +813,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:53:17"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="094b903d-0d35-4495-bb89-8b58327a00a2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Herr Morgenstern hat differenziert von Frau Decken&amp;nbsp;nochmal Fragen zu Produkt 1 und 3.&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -731,6 +822,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:53:32"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="20f0c26a-24a4-49aa-b813-1f3b26370a92"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -739,6 +831,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:53:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4e4eb31e-4c63-4a2f-92c6-89a7b8ef41c7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -747,6 +840,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:54:17"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ecb64aba-33e5-46b1-ab06-15bf43455991"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Sind auf dem Stand gewesen. Haben&amp;nbsp;uns&amp;nbsp;Fragen gestellt, Unternehmen kurz vorgestellt. War ein angenehmes Gespr&amp;auml;ch.&amp;nbsp;&lt;/p&gt;&#10;&quot;,&#10;Kategorie: &quot;VISIT                               &quot;,&#10;Richtung: von &quot;i                                   &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -755,6 +849,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:54:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="485845e6-0d08-4a96-b925-2c5c8cd446b3"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -763,6 +858,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:55:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2d9cc548-f86c-4c70-9f6c-adf0c8ecba01"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;o                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -771,6 +867,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:55:20"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="5a9317d7-5dde-40b3-8694-3ca02e39d870"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -779,6 +876,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:55:41"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9f894ecf-89bf-4eca-896f-02e2b6d09e55"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -787,6 +885,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:55:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2195d938-8e38-427f-a433-9c6bdbc1851d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Verantwortlich: &quot;ef345d11-a40d-59e0-a24c-afcb6095d2cb&quot;,&#10;Richtung: von &quot;inx                                 &quot; auf &quot;x                                   &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -795,6 +894,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:56:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="95e643a8-5b15-4d04-ad61-456013fd19b2"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;12.08.2019&quot;,&#10;Betreff: &quot;Rahmenvertrag versandt&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Beschreibung: &quot;&lt;p&gt;Rahmenvertrag wurde an die Legal Abteilung des Kunden versandt.&lt;/p&gt;&#10;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&#10;&lt;p&gt;Warte auf R&amp;uuml;ckmeldung.&lt;/p&gt;&#10;&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -803,6 +903,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="76b82ec8-bcb6-48be-8f2d-56f64ba45db2"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;6a92df58-2b98-40da-ba6a-d0ddb1fde234&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -811,6 +912,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:57:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9e30d1d5-38b9-444a-9795-34049385355a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Kategorie: &quot;MAIL                                &quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -819,6 +921,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T08:57:28"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="47a441f6-82b8-469d-a225-02f673a69e4d"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;9c22ba51-8a09-40f1-b6b8-9787fe43b141&quot;,&#10;Objekt: &quot;29271db0-4253-46c9-b7c2-5e25376b9d19&quot;,&#10;Art: &quot;Person&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -827,6 +930,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T09:00:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f383e96b-8415-4b75-9baf-0def377bde02"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Anforderer: &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Status: &quot;zugewiesen&quot;,&#10;Bearbeiter: &quot;Herr Herbert Obermeier | meine Firma&quot;,&#10;Beginn: &quot;15.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Beschreibung: &quot;Verpackung der Ware hat bei Zustellung äußerliche Beschädigungen aufgewiesen. An den gleichen Stellen ist die Ware ebenfalls beshädigt.&quot;,&#10;Fällig: &quot;22.11.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Beschädigte Ware&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
@@ -835,6 +939,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cd622430-d539-41a1-b18d-eb31d03dcff3"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Task Id: &quot;46164eac-62d1-4dbb-a252-93ac49429855&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="TASKLINK"/>
@@ -843,6 +948,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="67f68d02-a585-42cf-bc44-2e74c1e88b72"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Type: &quot;Fehler&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -851,6 +957,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1edd357c-2ab2-484a-ba04-e0ac374466f3"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Modul group: &quot;Produkt&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -859,6 +966,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="00288b45-b305-4578-a2a4-4ed2b6e33d49"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Ticket / Support / Cause: &quot;Lieferprobleme&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -867,6 +975,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:01:59"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0bc6698d-0681-43be-8058-d9e42659e3ce"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;Anforderungen Bilderdokumentation&quot;,&#10;Parent Id: &quot;634ad7a8-9c68-4ea4-8385-f5bb37224482&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Kategorie: &quot;PHONE                               &quot;,&#10;Richtung: &quot;o                                   &quot;,&#10;Parent context: &quot;SupportTicket&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -875,6 +984,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="86c7423a-5db3-42a1-b26d-c03a902fb913"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;b8067a42-d059-4d86-88b0-485a194faa36&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -883,6 +993,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:05:25"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4bae3b15-9bd7-4679-bf6d-dd7927f66654"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Name: &quot;Erstkontakt ADITO&quot;,&#10;Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: &quot;Email Vorlage Erstkontakt&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
@@ -891,6 +1002,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T11:12:57"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="aaa51aaa-5259-4fb4-bb0c-f13d01bacee2"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Bezeichnung: &quot;Ersatzteil 3&quot;,&#10;Menge: &quot;50&quot;,&#10;Einheit: &quot;Stück&quot;,&#10;UmsSt. in %: &quot;19.00&quot;,&#10;Einzelpreis: &quot;1060.00&quot;,&#10;Position: &quot;1&quot;,&#10;Warengruppe: &quot;Ersatzteile&quot;,&#10;Artikel: &quot;6e52e636-284d-454b-978c-8f58844c5c5b&quot;,&#10;Optional: &quot;Nein&quot; eingefügt."/>
@@ -901,6 +1013,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="5e5ea71c-5909-4733-a203-fdeba4f3300c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;0.00&quot; auf &quot;53000&quot;,&#10;UmsSt.: von &quot;0.00&quot; auf &quot;10070&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -909,6 +1022,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T12:39:16"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="47aa1082-5633-4a35-9507-0f850b4dd222"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Kopftext: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Verknüpfung: &quot;Herr Markus Altinger | Industrial Steel AG&quot;,&#10;Datum: &quot;15.11.2019&quot;,&#10;Belegnummer: &quot;1016&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Währung: &quot;EUR                                 &quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -917,6 +1031,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="792e84f2-e8e6-454e-8b20-faa286bad5cf"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: &quot;0&quot;,&#10;UmsSt.: &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -925,6 +1040,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T12:40:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cb4c484f-de07-4e00-a8a3-bf3af558a66f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Entry date: &quot;15.11.2019&quot;,&#10;Betreff: &quot;fällig&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Richtung: &quot;o                                   &quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -933,6 +1049,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9d97109c-d973-4c7a-8cb3-ec1e4e3d178b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -941,6 +1058,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="575c4fb8-6f34-40f9-bc66-b7c053518b0a"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -949,6 +1067,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T01:03:35"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6b4a6f69-2dc7-494c-a8a8-2c55f8ae7c3f"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Phase: von &quot;MQC&quot; auf &quot;SQO&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -957,6 +1076,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ed75595b-e06a-44e5-83fc-1393c42f8703"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Date start: &quot;15.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -965,6 +1085,7 @@
       <column name="DATE_NEW" valueDate="2019-11-15T01:06:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0dd8cbbc-af1b-40e9-a629-7eec4e38aac3"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -973,6 +1094,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="530e9981-60ac-41b9-91e1-fe653a7054b1"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; eingefügt."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -981,6 +1103,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T09:22:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9e45de20-97a9-42ae-a712-a119e1397389"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gering&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -989,6 +1112,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T09:22:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cbb78749-9451-4497-8d89-7527d730f715"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Nachname: &quot;Leierseder&quot; gelöscht."/>
       <column name="TABLENAME" value="PERSON"/>
@@ -997,6 +1121,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="67a5ff81-e28d-46fd-b207-3c44529d16be"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Firma: &quot;privat&quot;,&#10;Status: &quot;Aktiv&quot; gelöscht."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1005,6 +1130,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T09:27:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="77cfd449-f42d-40ff-bc1a-298d108b05a1"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;25.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Controlling Termin Vorbereiten&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
@@ -1013,6 +1139,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T10:00:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d9c71555-a647-4c7c-aaed-52d14c3a3d91"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Anforderer: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Status: &quot;neu&quot;,&#10;Bearbeiter: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: &quot;26.11.2019&quot;,&#10;Fortschritt: &quot;0%&quot;,&#10;Fällig: &quot;02.12.2019&quot;,&#10;Priorität: &quot;niedrig&quot;,&#10;Betreff: &quot;Rückruf Herr. Feldner&quot;,&#10;Geschützt: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="TASK"/>
@@ -1021,6 +1148,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T10:01:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3876c449-8493-40ed-8cdd-0b98f1a4925f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1029,6 +1157,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T01:27:33"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ac9c9704-2fc4-46e3-89cf-efdf87271808"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Firma: &quot;Firmengruppe Matthias Bogen&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1037,6 +1166,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="605c87a8-c592-4d61-8895-9ea9849a480f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
       <column name="DESCRIPTION" value="Ort: &quot;Geisenhausen&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Konrad&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84144&quot; eingefügt."/>
@@ -1047,6 +1177,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fed0a843-8e27-4966-9f15-3823cfd7a73f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Kommunikation Mobil: &quot;+49 176 48525800&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1055,6 +1186,7 @@
       <column name="DATE_NEW" valueDate="2019-11-25T01:52:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="66af4a77-743e-4632-b264-f5bbfcf53c2c"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1063,6 +1195,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e6fe58ff-b4ce-4321-a5c5-3c1dfe4e74c0"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1071,6 +1204,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:17:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="412099cf-df8a-4aef-9ffb-7d65adf58c05"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Handel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1079,6 +1213,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:18:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4eebf78c-4e35-491d-9eec-cf78adc2f7c4"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1087,6 +1222,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:18:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fa5763c1-44c5-41c2-9f14-dc577e47a2d7"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1095,6 +1231,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d7b39b79-8259-4ac4-a33d-d0cfbe66a61f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1103,6 +1240,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:19:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="44865714-b8ec-44ec-be10-ab4b8e0e9eb7"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1111,6 +1249,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:19"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6d1db314-0596-48c6-870e-714d8fe7410b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Service&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1119,6 +1258,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="089c1ede-f433-4dc7-b246-5d25b282b95b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1127,6 +1267,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:20:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="081c7dba-e007-40f8-aae0-6e8d4b17e526"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1135,6 +1276,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9b4c7b71-fb7e-4785-9363-5286e99c9537"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1143,6 +1285,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:21:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ef03449d-8bff-4b5a-b3e8-ec09f01acddf"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1151,6 +1294,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="64282d4b-f283-47ab-a3ff-d04a80437476"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1159,6 +1303,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:22:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="86651169-0760-4d2b-bbf7-de95c4e7a044"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1167,6 +1312,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cc176cf3-2f87-445c-8ae3-432c92d6d8d7"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1175,6 +1321,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:24:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d0daafcf-d9ba-4ba6-ae60-261bd019f0c0"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Maschinenbau&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1183,6 +1330,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="22c7c486-b3a2-41d6-a0f3-972149a4462a"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1191,6 +1339,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:13"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="60b48418-3d03-4896-9727-20e8925b7472"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1199,6 +1348,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3dd09bc5-4451-4fb4-b5fd-e1c94bb73bf4"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Logistik&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1207,6 +1357,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:25:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="96542fd5-189b-486e-a7dd-4019eacaa9c8"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1215,6 +1366,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:26:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fe10ae0d-3db0-48ac-8d89-906f63e557da"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1223,6 +1375,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:26:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e2e56e28-945b-4c38-b152-aefc8c0017f8"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;gross&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1231,6 +1384,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:08"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a69b26e5-b97a-4a48-bac8-0d185048a310"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1239,6 +1393,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="271a9db9-d8b4-4741-8c9e-ff41eec344db"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Loyalty: &quot;mittel&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1247,6 +1402,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:27:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1f358458-1c2d-4671-a60c-3ede107f662e"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Assessment / Industry: &quot;Bauwesen&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1255,6 +1411,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:28:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="936f2901-e80f-4f9d-b6ec-86d9b4fd00c6"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Name: &quot;Serienmail - Newsletter&quot;,&#10;Betreff: &quot;Newsletter 2020&quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
@@ -1263,6 +1420,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:29:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="dd6a5c84-03b2-4f11-a1d2-c1fbd8d500bc"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Name: &quot;Produktinformationen&quot;,&#10;Betreff: &quot;Produktinformationen &quot;,&#10;Sender: &quot;tadmin@meine-firma.de&quot; eingefügt."/>
       <column name="TABLENAME" value="BULKMAIL"/>
@@ -1271,6 +1429,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:30:20"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c667d7ab-2de8-4dc6-a24b-afaa41469af2"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Weihnachtskarte&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
@@ -1279,6 +1438,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:31:13"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="04009e6f-f3b2-447a-82ed-9152f5e39041"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;Einladung Kundentag&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
@@ -1287,6 +1447,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:31:56"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="03544ab3-e4ed-4273-a29b-abf0f38676aa"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Geschaeftspapiere&quot;,&#10;Titel: &quot;VIP Kundeneinladungen&quot; eingefügt."/>
       <column name="TABLENAME" value="SERIALLETTER"/>
@@ -1295,6 +1456,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:32:35"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="10b4274c-8fdf-4893-b1b3-522763b2a939"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt meineFirma&quot;,&#10;Betreff: von &quot;Newsletter 2020&quot; auf &quot;Erstkontakt meineFirma&quot; geändert."/>
       <column name="TABLENAME" value="BULKMAIL"/>
@@ -1303,6 +1465,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:38:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3c0001e6-57ec-44ea-80d4-1f5b119148b7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Dokumentvorlage: &quot;Erstkontakt ADITO&quot;,&#10;Betreff: von &quot;Produktinformationen &quot; auf &quot;Email Vorlage Erstkontakt&quot; geändert."/>
       <column name="TABLENAME" value="BULKMAIL"/>
@@ -1311,6 +1474,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T06:39:20"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="209dd881-57eb-429b-8144-8fd5e14ad1bb"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Object 1 row Id: &quot;13e60843-5d6d-45ee-88c7-46db41874138&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;3cee0474-504f-43cc-844a-715f1a0db271&quot;,&#10;Object relation type 2: &quot;fa879afd-b2c5-4eee-9799-d63c6764b348&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
@@ -1319,6 +1483,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:17:08"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="64a91508-b375-4a40-8968-968309e5f781"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
@@ -1327,6 +1492,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:17:20"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3dabb79a-1b4f-4977-a7ff-d92d7e1a1b1f"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object 1 row Id: &quot;b043cd42-058c-48bd-8326-4c92e0e74c48&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
@@ -1335,6 +1501,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:17:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="de5beb83-904d-4657-89db-4ba5a56b68f5"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Object 1 row Id: &quot;62175b31-b432-4ec6-932f-8e69033884c6&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot;,&#10;Object relation type 2: &quot;0795a3cd-295b-421b-aed1-decc09b05362&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
@@ -1343,6 +1510,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:18:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3e8db12d-58c7-41b1-aa83-4d3476b6e861"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Object 1 row Id: &quot;97b66b3c-a9f5-4dc4-902e-850d69973d1d&quot;,&#10;Object 2 row Id: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Object relation type 1: &quot;c9b7ce6b-1100-46f6-8498-2da6ac24189e&quot;,&#10;Object relation type 2: &quot;259babbd-7827-44d4-b9ec-8245d27b5f70&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_OBJECTRELATION"/>
@@ -1351,6 +1519,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:19:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9cca5b1e-a09a-4251-a140-1693bbe2418b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Funktion: &quot;Vertriebsleiter&quot;,&#10;Abteilung: &quot;Vertrieb&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1359,6 +1528,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:26:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="61b74b64-ad66-45f9-9059-82dedb856cab"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Firma: &quot;Skyscraper Bau GmbH&quot;,&#10;Funktion: &quot;Koordinator&quot;,&#10;Abteilung: &quot;Produktion&quot;,&#10;Status: &quot;Aktiv&quot;,&#10;Sprache: &quot;deu&quot; eingefügt."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1367,6 +1537,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="333210c1-e80d-4c75-9f34-8c80bbfd94dc"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
       <column name="DESCRIPTION" value="Ort: &quot;Landshut&quot;,&#10;Adresstyp: &quot;Privatadresse&quot;,&#10;Adresse: &quot;Innere Münchner Straße&quot;,&#10;Land: &quot;Deutschland&quot;,&#10;postcode: &quot;84028&quot;,&#10;Hausnummer: &quot;3&quot; eingefügt."/>
@@ -1377,6 +1548,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:28:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c3521d8a-d703-4ae7-b702-2975eb687447"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsleiter&quot; auf &quot;Berater&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1385,6 +1557,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T08:28:23"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0ae7a999-a5d3-4e04-b2a0-ffbf90588459"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;2c63e0de-f21c-474f-89d7-bff8ba1dbf43&quot;,&#10;Art: &quot;Organisation&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -1393,6 +1566,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b5515d85-a146-47c5-9207-3b983c6f958b"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Activity Id: &quot;c7c29526-3138-4264-8eb4-c6876797f8fe&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -1401,6 +1575,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d886fc7a-82b4-48af-b0fa-d6c59a70613d"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Richtung: &quot;o                                   &quot;,&#10;Entry date: &quot;15.11.2019&quot;,&#10;Verantwortlich: &quot;c7ddf982-0e58-4152-b82b-8f5673b0b729&quot;,&#10;Betreff: &quot;fällig&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1409,6 +1584,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:34:38"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="16daca7b-e913-42fc-b3f0-168528784c97"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;MQC&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -1417,6 +1593,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8e324969-eae4-4935-a010-b3abe6d52c33"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1425,6 +1602,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="49fea3f1-d977-49dc-9eb9-cca24d152e22"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;ef7f4726-4476-4f59-97c2-706dc1e0046f&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1433,6 +1611,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:31"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="babd174d-ae39-4ec6-af81-604ec36f6ee2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Phase: von &quot;SQO&quot; auf &quot;SAL&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -1441,6 +1620,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1b6f60b2-addc-4234-9804-f8963c168777"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1449,6 +1629,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="dc1a34b2-7315-48a3-bb85-93d02ee3ccf6"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;d422ad81-717f-42b0-bd64-fc892744aac7&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1457,6 +1638,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:43:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="22af8969-9a1b-4118-90da-e083a3fa5ceb"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Status: von &quot;neu&quot; auf &quot;in Bearbeitung&quot;,&#10;Fortschritt: von &quot;0%&quot; auf &quot;50%&quot;,&#10;Priorität: von &quot;niedrig&quot; auf &quot;hoch&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -1465,6 +1647,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:45:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0cc833e9-85eb-476a-9db2-61f00c69bde0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Status: von &quot;in Bearbeitung&quot; auf &quot;abgeschlossen&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -1473,6 +1656,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:45:24"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4b1320f4-1a6f-45be-9561-832accb03a43"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Phase: von &quot;Negotiation&quot; auf &quot;Angebot&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -1481,6 +1665,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6319527e-783d-450d-ab80-faee247fcdaa"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Date end: &quot;26.11.2019&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1489,6 +1674,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6740c05a-562c-476e-8f50-51e8ddb14c46"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;7e2680f6-a438-45aa-956a-787363f85923&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1497,6 +1683,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ea112d12-760e-45a2-a2fb-626568b10bab"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Projektnummer: &quot;1007&quot;,&#10;Roll Out: &quot;26.11.2020&quot;,&#10;Projekttitel: &quot;Projekt 123&quot;,&#10;Projektstart: &quot;26.11.2019&quot;,&#10;Firma: &quot;Glob Group&quot;,&#10;Phase: &quot;NQC&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -1505,6 +1692,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8e9e125a-e14b-4dac-8fe4-42d8f1f6439c"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1513,6 +1701,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7c1f2e3c-709d-486f-94fd-c7fbede44c86"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Salesproject Id: &quot;ebb04ae2-d1f9-4ef3-bdfa-e9f562d215ba&quot;,&#10;Date start: &quot;26.11.2019&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESPROJECT_MILESTONE"/>
@@ -1521,6 +1710,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3d788b4d-a969-40cd-adb0-f60652d2e4a3"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Project type: &quot;Bestandskunde&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -1529,6 +1719,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T12:48:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="251458a1-24be-4028-8391-8591e360c84d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Funktion: von &quot;Vertriebsmitarbeiter&quot; auf &quot;Einkaufsleiter&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1537,6 +1728,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T01:00:57"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4bed471a-0654-4db4-871f-6943361738ca"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Funktion: von &quot;Einkaufsleiter&quot; auf &quot;Vertriebsleiter&quot; geändert."/>
       <column name="TABLENAME" value="CONTACT"/>
@@ -1545,6 +1737,7 @@
       <column name="DATE_NEW" valueDate="2019-11-26T01:01:24"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7b2bbf77-99e2-40a5-8ef6-ab544fd1311c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.11.2019&quot; auf &quot;15.09.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1553,6 +1746,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:19:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="54b6ed90-6d03-4af0-a9c5-a1ffb0e8a9cf"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.11.2019&quot; auf &quot;16.09.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1561,6 +1755,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:20:13"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="fe66100c-54b4-47c4-bdad-ce1fe4f86b73"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.11.2019&quot; auf &quot;11.09.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1569,6 +1764,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:21:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="003d6447-2eed-4cce-a9a7-c2a5a2522647"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Campaign&quot;,&#10;Aktivitäten ID: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;680de39f-7f1c-4dca-8c67-9c16c3395c3f&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -1577,6 +1773,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="45467183-85cd-4c52-8b3b-383a0d5da64a"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Campaign&quot;,&#10;Aktivitäten ID: &quot;c42c23ef-3921-4a10-bb9a-040178f28bd2&quot;,&#10;Objekt: &quot;996b8af6-13f4-4606-a303-69f941cf6f13&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -1585,6 +1782,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="bc7bec52-b7e6-4052-b715-a323f8acb38b"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Betreff: &quot;Einladungen gehen 18.09 raus&quot;,&#10;Eingangsdatum: &quot;04.09.2019&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beschreibung: &quot;[BLOB]&#10;&quot;,&#10;Richtung: &quot;Intern&quot; gelöscht."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1593,6 +1791,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:22:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="755c952e-d43a-4e1a-90b5-b2fe2ee29e41"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.09.2019&quot; auf &quot;08.07.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1601,6 +1800,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:22:38"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="177dfc01-9610-4b8b-bba8-fc0fda113c25"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.08.2019&quot; auf &quot;10.06.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1609,6 +1809,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:23:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1250ecea-4c47-4063-a856-77fa5b68bed5"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1617,6 +1818,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:23:24"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2c2acae0-80d1-422b-97f1-c25b8f14b7e6"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1625,6 +1827,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:24:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c02f9e67-0e98-4b4d-b7f6-91a9040f39f2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;15.05.2019&quot; auf &quot;06.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1633,6 +1836,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:24:27"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e76f48e3-8eb9-43bd-840b-92699239456c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;17.04.2019&quot; auf &quot;08.04.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1641,6 +1845,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:24:40"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="58e9f92f-92bd-477d-b38e-0b0c1a7a885c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.04.2019&quot; auf &quot;06.04.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1649,6 +1854,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:25:06"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="10510212-fbf3-4197-bb36-bd62d2ea1bab"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.04.2019&quot; auf &quot;02.04.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1657,6 +1863,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:25:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4c74fc41-cd64-420d-b592-4aacc232c9ca"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;29.03.2019&quot; auf &quot;27.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1665,6 +1872,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:25:29"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7cd2434d-4d45-47bd-b829-c3bdb4fb8fa4"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;29.03.2019&quot; auf &quot;26.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1673,6 +1881,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:25:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="43aa221b-be37-4076-acbd-ef9a7aa73f51"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;28.03.2019&quot; auf &quot;24.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1681,6 +1890,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:25:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="dd444af7-33f0-4f8b-bef5-33665fb593d7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;26.03.2019&quot; auf &quot;24.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1689,6 +1899,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e103486c-43ad-42ab-be74-8602eda78923"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1697,6 +1908,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f79fc9f6-6263-4843-b6f1-1f1392f6886e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1705,6 +1917,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:17"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="38cc5664-582d-4d86-887c-fdc2961e9037"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.03.2019&quot; auf &quot;20.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1713,6 +1926,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a1ebc2b8-1ee9-44e5-bbfc-b73f0bc6b7f1"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;21.03.2019&quot; auf &quot;19.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1721,6 +1935,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="42a5b65b-c443-426b-a048-a15807b5bf9b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;20.03.2019&quot; auf &quot;18.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1729,6 +1944,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:45"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b81ec23b-544a-48c7-aff2-8a99077ed2a1"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.03.2019&quot; auf &quot;11.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1737,6 +1953,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:26:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b75e6098-6a13-47b3-a1a0-acd84829e6b5"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.03.2019&quot; auf &quot;11.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1745,6 +1962,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:03"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c2c47a2e-7f71-4993-a20e-35bf9e191262"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.03.2019&quot; auf &quot;10.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1753,6 +1971,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2cff4cf4-251b-45a4-b3d5-95dcdd0aca58"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1761,6 +1980,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:27"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0fbb6c4f-f64f-464e-a3f6-1ecc267c1a2f"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1769,6 +1989,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:37"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1657c54f-0135-4412-8f51-c70326f96197"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;05.03.2019&quot; auf &quot;03.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1777,6 +1998,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="5d05e038-ba5d-4320-9668-75becf9f73b4"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;01.03.2019&quot; auf &quot;28.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1785,6 +2007,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:27:57"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="91819b7a-185e-4071-ad02-a92883bb7a8b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;25.02.2019&quot; auf &quot;24.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1793,6 +2016,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:28:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e54e33d0-aed0-4694-91d2-1b15c5c9c38b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;19.02.2019&quot; auf &quot;18.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1801,6 +2025,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:28:22"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2b2bc8f0-5c09-4dfa-b28b-445f02d07ba9"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;18.02.2019&quot; auf &quot;17.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1809,6 +2034,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:28:33"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0d70f350-b4ad-420b-a282-69c03bbd7798"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;08.02.2019&quot; auf &quot;07.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1817,6 +2043,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:28:41"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="22916d35-d9f9-4b09-a36b-e82f7b25808b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.02.2019&quot; auf &quot;03.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1825,6 +2052,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:28:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6c05fc67-7ac1-4367-9ed1-9ffafb44a643"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.02.2019&quot; auf &quot;03.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1833,6 +2061,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3a9f4f10-5b9c-42a0-aab0-8945478e74d7"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;28.01.2019&quot; auf &quot;27.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1841,6 +2070,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:10"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="bf8bfe6f-0cc2-4598-af0e-1653e424b80c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.01.2019&quot; auf &quot;21.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1849,6 +2079,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:23"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="bd219e01-d755-4545-88c1-1a5426df940e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;18.01.2019&quot; auf &quot;17.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1857,6 +2088,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:32"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7810c79b-1ceb-4f34-b217-8e42a986cd94"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1865,6 +2097,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="482023de-5f09-40db-875e-f097f1cad5a0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1873,6 +2106,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:29:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e6b4503f-6bc0-47bb-ac36-2be03880c2cd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;14.01.2019&quot; auf &quot;13.01.2020&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1881,6 +2115,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="72dc854a-b5ae-4dca-9ff9-7979d9933332"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;12.08.2018&quot; auf &quot;09.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1889,6 +2124,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:15"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f673c729-f7ed-40f3-8622-615b7aa4886c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;11.08.2018&quot; auf &quot;09.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1897,6 +2133,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c2844620-c147-4d8b-812b-84255e400f4a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;09.08.2018&quot; auf &quot;08.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1905,6 +2142,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:37"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3440e992-9037-44f6-8af1-215c38ff2e72"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;06.08.2018&quot; auf &quot;06.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1913,6 +2151,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9c969824-56e8-44aa-9f81-711fa5357987"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1921,6 +2160,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:30:56"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b167e355-1f8a-4384-9e6c-ee1f10fdbf12"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;04.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1929,6 +2169,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:31:06"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="dd0598bf-1594-4e1d-b64a-e3f9635c4c30"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1937,6 +2178,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:31:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="68b7b384-f78d-4bf3-90b2-c277cabb5a0d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.08.2018&quot; auf &quot;02.08.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1945,6 +2187,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:32:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="602a3e14-e9c7-4198-a84c-67aae81f8781"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;31.07.2018&quot; auf &quot;30.07.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1953,6 +2196,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:32:12"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b08daa61-d633-471f-9215-36437fdccbd2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.06.2018&quot; auf &quot;31.05.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1961,6 +2205,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:32:26"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c2da0ec5-c870-4d47-9727-679cf895f3d0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;22.02.2018&quot; auf &quot;21.02.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1969,6 +2214,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:32:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="1a6e60db-13af-42ad-82d0-3bd00b6758a2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;03.06.2018&quot; auf &quot;31.05.2019&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1977,6 +2223,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:32:56"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="757a8aee-ecfd-4c77-ba58-425c974e50fd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Eingangsdatum: von &quot;13.04.2017&quot; auf &quot;12.04.2018&quot; geändert."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -1985,6 +2232,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:33:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="28fc359c-6364-4b39-8238-2a526b596511"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;25.11.2019&quot; auf &quot;23.11.2020&quot;,&#10;Fällig: von &quot;02.12.2019&quot; auf &quot;02.12.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -1993,6 +2241,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:34:03"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8c57123a-f6e8-4e2f-a521-60e8dd7060ed"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;22.05.2019&quot; auf &quot;20.05.2020&quot;,&#10;Fällig: von &quot;13.11.2019&quot; auf &quot;11.11.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2001,6 +2250,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:34:27"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="306f1151-4988-4b35-be83-5e12fbbbf2fd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;22.05.2019&quot; auf &quot;20.05.2020&quot;,&#10;Fällig: von &quot;01.10.2019&quot; auf &quot;01.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2009,6 +2259,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:34:57"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="723b019d-b106-49c8-bd7c-7a162a07f8ae"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;11.03.2019&quot; auf &quot;09.03.2020&quot;,&#10;Fällig: von &quot;21.06.2019&quot; auf &quot;19.06.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2017,6 +2268,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:35:29"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="81cce57d-b3f7-4544-8c0e-6ebdd15a1a9b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot;,&#10;Fällig: von &quot;30.05.2019&quot; auf &quot;29.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2025,6 +2277,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:36:52"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="51a78a04-e24e-4580-a50f-a2755bc71064"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beginn: von &quot;23.05.2019&quot; auf &quot;21.05.2020&quot;,&#10;Fällig: von &quot;30.05.2019&quot; auf &quot;28.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2033,6 +2286,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:37:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="5253bb09-7525-4025-85c8-0b01fed5d390"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;11.02.2019&quot; auf &quot;30.09.2020&quot;,&#10;Fällig: von &quot;29.05.2019&quot; auf &quot;30.09.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2041,6 +2295,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:37:50"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f77e430d-cf20-44a3-953d-0b4ea2c4a9c9"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;22.05.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;29.05.2019&quot; auf &quot;12.11.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2049,6 +2304,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:38:21"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ee48e9d8-323d-4e23-ab12-63fc38bbd5fd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;17.05.2019&quot; auf &quot;14.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;28.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2057,6 +2313,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:38:40"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f3b8d56c-a42e-4fca-98e8-4ad2cced2c3a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;17.05.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;30.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2065,6 +2322,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:39:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="7241fa05-0d95-42d3-9fee-2a8b761b73e6"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;22.05.2019&quot; auf &quot;27.10.2020&quot;,&#10;Fällig: von &quot;24.05.2019&quot; auf &quot;27.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2073,6 +2331,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:39:39"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cc542a0c-705c-44eb-aa11-c0b787109c48"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;17.05.2019&quot; auf &quot;26.10.2020&quot;,&#10;Fällig: von &quot;22.05.2019&quot; auf &quot;30.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2081,6 +2340,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:40:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="375c6da2-6ee7-438a-a1c3-a31be44ebcad"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Birgit Leicht | meine Firma&quot;,&#10;Beginn: von &quot;08.05.2019&quot; auf &quot;22.12.2020&quot;,&#10;Fällig: von &quot;15.05.2019&quot; auf &quot;22.12.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2089,6 +2349,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:40:33"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d3403f8d-4642-458a-8efc-d065ed00a681"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Bearbeiter: von &quot;undefined&quot; auf &quot;Frau Lisa Sommer | meine Firma&quot;,&#10;Beginn: von &quot;01.04.2019&quot; auf &quot;21.10.2020&quot;,&#10;Fällig: von &quot;05.04.2019&quot; auf &quot;21.10.2020&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2097,6 +2358,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:41:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c0dd4ad8-0472-4534-99b8-2d9f3e770d23"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Beginn: von &quot;20.01.2019&quot; auf &quot;20.01.2021&quot;,&#10;Fortschritt: von &quot;undefined&quot; auf &quot;0%&quot;,&#10;Fällig: von &quot;20.01.2019&quot; auf &quot;20.01.2021&quot; geändert."/>
       <column name="TABLENAME" value="TASK"/>
@@ -2105,6 +2367,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:41:40"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b8c6c46a-768d-41af-8668-92e14045c94c"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Projektart: &quot;Interessent&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -2113,6 +2376,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:51:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="aa2de163-40c6-4b97-b6f3-af8310391f6e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Wahrscheinlichkeit: von &quot;50 %&quot; auf &quot;25 %&quot;,&#10;Roll Out: von &quot;22.05.2020&quot; auf &quot;22.05.2022&quot;,&#10;Projektstart: von &quot;05.02.2016&quot; auf &quot;05.02.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2121,6 +2385,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T06:52:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e70c97c3-e35b-4131-9741-a2520e75ac6e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Minimal count: von &quot;1&quot; auf &quot;undefined&quot; geändert."/>
       <column name="TABLENAME" value="AB_ATTRIBUTEUSAGE"/>
@@ -2129,6 +2394,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:02:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c446ce0a-3981-4a83-935a-6a42ee0716ee"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Roll Out: von &quot;16.05.2020&quot; auf &quot;20.05.2021&quot;,&#10;Projektstart: von &quot;16.05.2019&quot; auf &quot;14.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2137,6 +2403,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:03:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e134cf30-8b24-4a08-ba10-f74f3bdab34c"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;25.03.2019&quot; auf &quot;22.03.2021&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2145,6 +2412,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:20:28"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d4f7c8cb-f8dc-4cd4-a746-61d32ded2472"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Datum: von &quot;22.03.2021&quot; auf &quot;16.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2153,6 +2421,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:20:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="aecf27f2-e437-4ba3-83b0-8eb33925b840"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Verknüpfung: von &quot;Herr Markus Altinger | Industrial Steel AG&quot; auf &quot;Industrial Steel AG&quot;,&#10;Datum: von &quot;25.03.2019&quot; auf &quot;23.03.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2161,6 +2430,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:21:09"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b54e5223-0a7f-4267-a7b7-a67b9426f3c0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2169,6 +2439,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:23:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="abfc3dcd-617f-42b7-8e82-cdaf7d1a6308"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Datum: von &quot;16.05.2019&quot; auf &quot;14.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2177,6 +2448,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:23:47"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6861a504-8cb1-4ca4-bce8-a1ca23fdc112"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Roll Out: von &quot;22.05.2020&quot; auf &quot;22.05.2022&quot;,&#10;Projektstart: von &quot;16.05.2017&quot; auf &quot;13.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2185,6 +2457,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:24:34"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6b887eb0-6e20-4c6f-97e7-1d8d7437e68a"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Wahrscheinlichkeit: von &quot;undefined&quot; auf &quot;50 %&quot;,&#10;Roll Out: von &quot;26.11.2020&quot; auf &quot;26.11.2021&quot;,&#10;Projektstart: von &quot;26.11.2019&quot; auf &quot;24.11.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2193,6 +2466,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:25:53"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a1979cf4-b4bf-4c0c-bb0f-ae918b33ccb6"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Roll Out: von &quot;17.05.2020&quot; auf &quot;17.05.2021&quot;,&#10;Projektstart: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2201,6 +2475,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:26:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="f60d0eb4-7b27-4f36-9e0f-74b89e58030b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;11.07.2017&quot; auf &quot;06.07.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2209,6 +2484,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:30:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="2208a1ec-5845-443b-bfeb-36fba02c0fff"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;17.05.2019&quot; auf &quot;12.08.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2217,6 +2493,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:30:32"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9c3cadf0-a155-4345-be97-d90bcb7c76e4"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Datum: von &quot;08.03.2019&quot; auf &quot;19.08.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2225,6 +2502,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:30:46"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9cb00766-db31-4c3d-900b-b582ac0c7dde"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Roll Out: von &quot;17.05.2020&quot; auf &quot;18.05.2022&quot;,&#10;Projektstart: von &quot;17.05.2019&quot; auf &quot;15.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESPROJECT"/>
@@ -2233,6 +2511,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:31:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="990e1054-52ec-4d45-968c-5cf09dbc2a8b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Datum: von &quot;14.08.2018&quot; auf &quot;10.09.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2241,6 +2520,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:32:45"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="32ed4643-7255-4e9e-99a0-38461bd77351"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;[BLOB]&quot; auf &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Datum: von &quot;22.02.2019&quot; auf &quot;20.05.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2249,6 +2529,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:33:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="75662f20-eb31-4835-a856-4ff6e58439e4"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eigenschaft Besuchsplanung / Besuchsfrequenz: &quot;vierteljährlich&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_ATTRIBUTERELATION"/>
@@ -2257,6 +2538,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:45:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d613fb48-8830-4dd7-afab-0c5b3a4fc935"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eingangsdatum: &quot;16.09.2020&quot;,&#10;Betreff: &quot;telefonischer Austausch&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Beschreibung: &quot;Gespräch zum Wachstumspotential 2021&#10;&quot;,&#10;Kategorie: &quot;Telefon&quot;,&#10;Richtung: &quot;ausgehend&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -2265,6 +2547,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="db9ffaa6-1350-4ef3-b1af-c0c1d804dce8"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Aktivitäten ID: &quot;18ed06df-30b2-4d59-a4b4-a6e646f6f05a&quot;,&#10;Objekt: &quot;438537db-0dc6-4aed-b1d1-813011baf88c&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -2273,6 +2556,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cc9550fb-9e8b-4194-8a86-651296706d0e"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Aktivitäten ID: &quot;18ed06df-30b2-4d59-a4b4-a6e646f6f05a&quot;,&#10;Objekt: &quot;dec94545-2487-46d5-978d-26ee0fcf0f5f&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -2281,6 +2565,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:48:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3fec437c-afd6-4941-b2f1-b2533f2627a0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Datum: von &quot;15.11.2019&quot; auf &quot;05.08.2020&quot;,&#10;Zahlungsziel: von &quot;22.11.2019&quot; auf &quot;12.08.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2289,6 +2574,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:48:55"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="0aeef57d-4bd7-48c9-8721-e1c968dbbbf3"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Industrial Steel AG&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1013-1&quot;,&#10;Datum: &quot;16.09.2020&quot;,&#10;Belegnummer: &quot;1017&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;23.09.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1002 | Erstprojekt&quot;,&#10;Zahlungsadresse: &quot;Industrial Steel AG&#10;Königstraße 4&#10;22767  Hamburg&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2297,6 +2583,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:49:48"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="57f526c6-1101-4e5b-a023-1204a58cd515"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;25000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;UmsSt. in %: &quot;19.00&quot;,&#10;Artikel: &quot;895f8caf-8c91-4ba8-9619-44ea6366cbbb&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;WG2 Produkt 5&quot; eingefügt."/>
@@ -2307,6 +2594,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:49:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="79ec8300-8590-4302-a6e7-467f0dace5c1"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;25000&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;4750&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2315,6 +2603,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:49:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b8cf3102-7bae-482a-a5f0-4f56cce1dd63"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;29750&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2323,6 +2612,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:50:00"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="199c9eb6-c54a-49c7-b360-6a0e65476915"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Versendet: von &quot;Nein&quot; auf &quot;Ja&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2331,6 +2621,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:50:05"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="a0360a83-0aab-4255-ac6c-32985d12c099"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Eingangsdatum: &quot;02.09.2020&quot;,&#10;Betreff: &quot;Besuch zum umsatz&quot;,&#10;Verantwortlich: &quot;Herr Tim Admin | meine Firma&quot;,&#10;Kategorie: &quot;Besuch&quot;,&#10;Richtung: &quot;eingehend&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITY"/>
@@ -2339,6 +2630,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="993d2fd0-0a9f-4271-8582-322d82d2343d"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Aktivitäten ID: &quot;84954c14-f576-400b-8027-f9e66d345cc5&quot;,&#10;Objekt: &quot;fc465f2f-803b-4a1f-b79d-7b466d7ecff4&quot;,&#10;Art: &quot;Organisation&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -2347,6 +2639,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b8c59e96-b11d-4a4f-9627-d8d36faa2464"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Aktivitäten ID: &quot;84954c14-f576-400b-8027-f9e66d345cc5&quot;,&#10;Objekt: &quot;6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a&quot;,&#10;Art: &quot;Salesproject&quot; eingefügt."/>
       <column name="TABLENAME" value="ACTIVITYLINK"/>
@@ -2355,6 +2648,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:52:58"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="c5fb7a53-9b95-447d-b869-eee900af9aa8"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Skyscraper Bau GmbH&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1007-1&quot;,&#10;Datum: &quot;03.06.2020&quot;,&#10;Belegnummer: &quot;1018&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;10.06.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1003 | Skyscraper / Pilotprojekt&quot;,&#10;Zahlungsadresse: &quot;Skyscraper Bau GmbH&#10;Bolzstraße 64&#10;70173 Stuttgart&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Ja&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2363,6 +2657,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6d2192b7-891f-4290-93a0-a067fa0b52e1"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;3500.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;895f8caf-8c91-4ba8-9619-44ea6366cbbb&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Turbolader&quot; eingefügt."/>
@@ -2373,6 +2668,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="68180e9b-aa93-49b5-bc3b-25ddf65d91dd"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;5000.00&quot;,&#10;Menge: &quot;5.00&quot;,&#10;Artikel: &quot;535cec1a-e81c-4833-aad6-1d2348dbc0fb&quot;,&#10;Position: &quot;2&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Klimaanlage 4-Zonen&quot;,&#10;Beschreibung: &quot;4 Zonen Klimaanlage für Mittelklasse Wagen&quot; eingefügt."/>
@@ -2383,6 +2679,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b45ce6c6-8cc1-4980-827d-f911c2d7a429"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;28500&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2391,6 +2688,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:54:42"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="cdeb28fa-35f9-4dea-9ef2-e1e1836b79f2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;28500&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2399,6 +2697,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T07:54:57"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b559f51c-f10f-4d75-9976-dd5497611bff"/>
       <column name="LOGTYPE" value="U"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
       <column name="DESCRIPTION" value="Adresse: von &quot;Königstraße&quot; auf &quot;Rathausmarkt&quot;,&#10;Postleitzahl : von &quot;22767 &quot; auf &quot;20095&quot;,&#10;Hausnummer: von &quot;4&quot; auf &quot;1&quot; geändert."/>
@@ -2409,6 +2708,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T08:10:32"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ed1c4275-b243-44ba-ad89-c574f8f6edd2"/>
       <column name="LOGTYPE" value="U"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
       <column name="DESCRIPTION" value="Stadt: von &quot;Stuttgart&quot; auf &quot;Norderstedt&quot;,&#10;Adresse: von &quot;Bolzstraße&quot; auf &quot;Rathausallee&quot;,&#10;Postleitzahl : von &quot;70173&quot; auf &quot;22846&quot;,&#10;Hausnummer: von &quot;64&quot; auf &quot;50&quot;,&#10;Staat: von &quot;Baden-Württemberg&quot; auf &quot;Schleswig-Holstein&quot; geändert."/>
@@ -2419,6 +2719,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T08:11:37"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e02b3429-d728-4511-9569-7c2155321620"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Status: von &quot;Offen&quot; auf &quot;Gewonnen&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2427,6 +2728,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:16"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ecf56a9c-fabd-45b8-956a-f7fa48883aae"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Kopftext: &quot;gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Transatlantik Logistics GmbH&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1008-1&quot;,&#10;Datum: &quot;01.09.2020&quot;,&#10;Belegnummer: &quot;1019&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;08.09.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1004 | Transatlantik Initialprojekt&quot;,&#10;Zahlungsadresse: &quot;Transatlantik Logistics GmbH&#10;Friedrichshafen 12&#10;88046 Friedrichshafen&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Ja&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2435,6 +2737,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8b1710ae-17b9-4fc9-9d74-de6f1b801e3b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einheit: &quot;Stück&quot;,&#10;Einzelpreis: &quot;150000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;155ac430-ccfc-4814-95fc-189631779064&quot;,&#10;Rabatt: &quot;5.00&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Förderanlage&quot; eingefügt."/>
@@ -2445,6 +2748,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="3447de13-63e0-46fb-af58-0c5699ebb2cf"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einheit: &quot;Kg&quot;,&#10;Einzelpreis: &quot;5000.00&quot;,&#10;Menge: &quot;10.00&quot;,&#10;Artikel: &quot;8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1&quot;,&#10;Position: &quot;2&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Bezeichnung: &quot;Stahlträger Standard&quot;,&#10;Beschreibung: &quot;Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m.&quot; eingefügt."/>
@@ -2455,6 +2759,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="57a29717-d816-40dd-9d9f-08f34bef50d9"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;192500&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2463,6 +2768,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9a7169ec-1e6b-4d16-bae3-12b23ce29d8d"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;192500&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2471,6 +2777,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:10:49"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6e49432b-80a6-4736-8c69-2b9cab4f6fca"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Währung: &quot;EUR&quot;,&#10;Adresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Anschreiben: &quot;Gerne bieten wir Ihnen wie folgt an:&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Status: &quot;Offen&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Vers.-Nr.: &quot;1&quot;,&#10;Wahrscheinlichkeit: &quot;0%&quot;,&#10;Verknüpfung: &quot;Bucher Unternehmensgruppe&quot;,&#10;Angebotsnummer: &quot;1014&quot;,&#10;Datum: &quot;06.04.2020&quot; eingefügt."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2479,6 +2786,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:12:03"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d3e8afbb-11b5-4246-b6b6-5f54fbabcbb0"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;0.00&quot;,&#10;gesamte Mehrwertsteuer: von &quot;undefined&quot; auf &quot;0.00&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2487,6 +2795,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:12:03"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="69fa6f94-b870-4815-8290-0369fd8e3f6b"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="OFFERITEM"/>
       <column name="DESCRIPTION" value="Einzelpreis: &quot;145000&quot;,&#10;Optional: &quot;Nein&quot;,&#10;Position: &quot;1&quot;,&#10;Item sortieren: &quot;1&quot;,&#10;Menge: &quot;1&quot;,&#10;Artikel: &quot;993f6294-f1fc-42d2-8786-1c13274fd133&quot; eingefügt."/>
@@ -2497,6 +2806,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:12:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="23baeac3-7383-41c8-9290-79bec190a5cd"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;0.00&quot; auf &quot;145,000.00&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2505,6 +2815,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:12:44"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e0620726-b8e0-4c7b-ad58-32dbd44b49ca"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Sprache: &quot;deu&quot;,&#10;Lieferadresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Mahnungstext: &quot;Please pay the outstanding amount,this is you first/second reminder.&quot;,&#10;Verbindungstyp: &quot;Vertriebsprojekt&quot;,&#10;Zahlungskondition: &quot;7 Tage netto&quot;,&#10;Fußtext: &quot;Danke sehr:&quot;,&#10;Belegtyp: &quot;Rechnung&quot;,&#10;Verknüpfung: &quot;Bucher Unternehmensgruppe&quot;,&#10;Abgesagt: &quot;Nein&quot;,&#10;Angebot: &quot;Angebot 1014-1&quot;,&#10;Datum: &quot;12.08.2020&quot;,&#10;Belegnummer: &quot;1020&quot;,&#10;Lieferbedingung: &quot;frei Haus&quot;,&#10;Zahlungsziel: &quot;19.08.2020&quot;,&#10;Verknüpfung: &quot;Vertriebsprojekt 1006 | Buchner Neuprojekt&quot;,&#10;Zahlungsadresse: &quot;Bucher Unternehmensgruppe&#10;Julius-Leber-Straße 5&#10;22765 Hamburg&quot;,&#10;Währung: &quot;Euro&quot;,&#10;Versendet: &quot;Nein&quot; eingefügt."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2513,6 +2824,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="6ea12cd8-505c-436f-b45b-c138beee1516"/>
       <column name="LOGTYPE" value="I"/>
       <column name="SOURCE_TABLENAME" value="SALESORDERITEM"/>
       <column name="DESCRIPTION" value="Einzelpreis: &quot;145000.00&quot;,&#10;Menge: &quot;1.00&quot;,&#10;Artikel: &quot;993f6294-f1fc-42d2-8786-1c13274fd133&quot;,&#10;Position: &quot;1&quot;,&#10;Optional: &quot;Nein&quot; eingefügt."/>
@@ -2523,6 +2835,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ef4e8c86-c1ca-4df8-8442-c2f44ad10299"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Betrag netto: von &quot;undefined&quot; auf &quot;145000&quot;,&#10;UmsSt.: von &quot;undefined&quot; auf &quot;0&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2531,6 +2844,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:13:30"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="47184fcc-be94-4b00-ad9a-92e8e50046e8"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Mahndatum: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Zahlungseingang: von &quot;undefined&quot; auf &quot;16.09.2020&quot;,&#10;Bezahlt: von &quot;undefined&quot; auf &quot;145000&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2539,6 +2853,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:13:45"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="52440731-57f3-411c-acd9-af8092d13a54"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Versendet: von &quot;Nein&quot; auf &quot;Ja&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2547,6 +2862,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:13:51"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ffeef169-7f22-41e0-a61b-4f17035282bf"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Datum: von &quot;01.09.2020&quot; auf &quot;11.08.2020&quot;,&#10;Zahlungsziel: von &quot;08.09.2020&quot; auf &quot;18.08.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2555,6 +2871,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:16:08"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="4b0c3b1a-8cc5-4d49-926b-59bdd015635e"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Datum: von &quot;10.09.2020&quot; auf &quot;06.07.2020&quot; geändert."/>
       <column name="TABLENAME" value="OFFER"/>
@@ -2563,6 +2880,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:16:18"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="ef452ea6-54e6-47b0-81e4-bb0aceb6d14b"/>
       <column name="LOGTYPE" value="U"/>
       <column name="DESCRIPTION" value="Zahlungseingang: von &quot;16.09.2020&quot; auf &quot;27.08.2020&quot; geändert."/>
       <column name="TABLENAME" value="SALESORDER"/>
@@ -2571,6 +2889,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:18:02"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="00140f34-20d1-42e2-8928-234414ed18ce"/>
       <column name="LOGTYPE" value="U"/>
       <column name="SOURCE_TABLENAME" value="ADDRESS"/>
       <column name="DESCRIPTION" value="Stadt: von &quot;München&quot; auf &quot;Geisenhausen&quot;,&#10;Adresse: von &quot;Wilhelm-Straße&quot; auf &quot;Konrad-Zuse-Straße&quot;,&#10;Postleitzahl : von &quot;80807&quot; auf &quot;84144&quot;,&#10;Gebiet: von &quot;undefined&quot; auf &quot;NB&quot;,&#10;Hausnummer: von &quot;2&quot; auf &quot;4&quot; geändert."/>
@@ -2581,6 +2900,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:39:36"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="d00e1e75-8191-4a9d-ae49-36485c219048"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Art: &quot;Organisation&quot;,&#10;Objekt: &quot;null&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2589,6 +2909,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:46:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9c5aedef-9561-4a57-94a6-7ae866958c80"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Art: &quot;Person&quot;,&#10;Objekt: &quot;a8a5f214-8165-4627-bee2-bceb3578147e&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2597,6 +2918,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:46:11"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e937e609-ac87-44a9-8ce1-dce3e9f78034"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Art: &quot;Organisation&quot;,&#10;Objekt: &quot;null&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2605,6 +2927,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:46:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="8b6b827e-6fbd-493a-9cfb-aea0940c6b2f"/>
       <column name="LOGTYPE" value="I"/>
       <column name="DESCRIPTION" value="Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Art: &quot;Person&quot;,&#10;Objekt: &quot;7a34d9d0-04c7-478c-a8e2-f584fe625c45&quot; eingefügt."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2613,6 +2936,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T09:46:14"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="b6fa0f85-35f7-44fa-8785-0f437ba15454"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Person&quot;,&#10;Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Objekt: &quot;a8a5f214-8165-4627-bee2-bceb3578147e&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2621,6 +2945,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T11:58:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="e305250c-a8f5-4023-b791-4268eb2689f2"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Organisation&quot;,&#10;Appointment Id: &quot;67c289a4-10fd-4bc6-a0b6-78fddb8ee22e&quot;,&#10;Objekt: &quot;null&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2629,6 +2954,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T11:58:01"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="9f4cefe4-f64d-4b8d-9448-448b8d940338"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Person&quot;,&#10;Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Objekt: &quot;7a34d9d0-04c7-478c-a8e2-f584fe625c45&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
@@ -2637,6 +2963,7 @@
       <column name="DATE_NEW" valueDate="2020-09-16T11:58:06"/>
     </insert>
     <insert tableName="ab_loghistory">
+      <column name="AB_LOGHISTORYID" value="388640f8-f99f-4522-afdf-b0b131b3b158"/>
       <column name="LOGTYPE" value="D"/>
       <column name="DESCRIPTION" value="Art: &quot;Organisation&quot;,&#10;Appointment Id: &quot;b8e8cc5c-5d10-4d7f-a918-0a199badc27c&quot;,&#10;Objekt: &quot;null&quot; gelöscht."/>
       <column name="TABLENAME" value="AB_APPOINTMENTLINK"/>
-- 
GitLab


From 3d32768d717348bb9c75adcf985e886bfc1b5169 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@SPONGRATZ-VOSTRO.aditosoftware.local>
Date: Wed, 21 Oct 2020 10:08:42 +0200
Subject: [PATCH 218/251] #1067374-LeadimportAttribute Revert #1066477 und add
 cases

---
 process/Leadimport_lib/process.js | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index 6feb9d42a8..ea0f5c14c0 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -448,18 +448,28 @@ LeadImportUtils.insertAttr = function(pDataFields, pDataTypes, pFieldDef, pLeadV
                 DataValues["OBJECT_TYPE"] = pObjectID;
                 DataValues["AB_ATTRIBUTE_ID"] = attrdata[1][0];
                 DataValues["OBJECT_ROWID"] = pContactId;
+                
                 switch(attrdata[1][1].trim())//type
                 {
-                    case AttributeTypes.COMBO():
-                        value = AttributeUtil.getPossibleListValues(attrdata[1][0], attrdata[1][1]).filter(function (attrbute) { return attrbute[1] == value});
-
-                        type = AttributeTypes.COMBO.databaseField;
-                        break;
+                    case "COMBO":
+                            value = newSelect("AB_ATTRIBUTEID")
+                            .from("AB_ATTRIBUTE")
+                            .whereIfSet("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attrdata[1][0])
+                            .and("AB_ATTRIBUTE.ATTRIBUTE_NAME", value)
+                            .cell();
+                            type = "ID_VALUE";
+                            break;
+                        case "TEXT":
+                            type = "CHAR_VALUE";
+                            break;
+                        case "BOOLEAN":
+                            type = "INT_VALUE";
+                            break;
                 //other cases can be added here
                 }
                 if (value.length && type != "")
                 {
-                    DataValues[type] = value[0][0];
+                    DataValues[type] = value;
                     LeadImportUtils.insertTable(pDataFields, pDataTypes, DataValues, "AB_ATTRIBUTERELATION", pUser, pDate);
                 }
             }
-- 
GitLab


From f70de58a68c701711fa045143c776b3b500189b6 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 21 Oct 2020 10:21:34 +0200
Subject: [PATCH 219/251] Liquibase fix for loghistory

---
 .../Loghistory/addAb_loghistoryId.xml         | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
index 5386d30054..1c80762174 100644
--- a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
+++ b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
@@ -4,6 +4,32 @@
         <addColumn tableName="AB_LOGHISTORY">
             <column name="AB_LOGHISTORYID" type="CHAR(36)"/>
         </addColumn>
+    </changeSet>
+    <changeSet author="s.listl" id="4a17921c-8e9a-4605-a9f5-0365e18d25c8" dbms="postgresql">
+        <update tableName="AB_LOGHISTORY">
+            <column name="AB_LOGHISTORYID" valueComputed="uid.uuid_generate_v4()"/>
+            <where>AB_LOGHISTORYID is null</where>
+        </update>
+    </changeSet>
+    <changeSet author="s.listl" id="f78825d7-5521-4598-8ff2-897c4fde96a5" dbms="mssql">
+        <update tableName="AB_LOGHISTORY">
+            <column name="AB_LOGHISTORYID" valueComputed="NEWID()"/>
+            <where>AB_LOGHISTORYID is null</where>
+        </update>
+    </changeSet>
+    <changeSet author="s.listl" id="b0974054-434d-4b80-93e4-e835d4da69ae" dbms="mysql,mariadb">
+        <update tableName="AB_LOGHISTORY">
+            <column name="AB_LOGHISTORYID" valueComputed="UUID()"/>
+            <where>AB_LOGHISTORYID is null</where>
+        </update>
+    </changeSet>
+    <changeSet author="s.listl" id="638b1b87-ba80-42bb-9cbd-6ce892b8d5c1" dbms="oracle">
+        <update tableName="AB_LOGHISTORY">
+            <column name="AB_LOGHISTORYID" valueComputed="REGEXP_REPLACE(SYS_GUID(), '(.{8})(.{4})(.{4})(.{4})(.{12})', '\1-\2-\3-\4-\5')"/>
+            <where>AB_LOGHISTORYID is null</where>
+        </update>
+    </changeSet>
+    <changeSet author="s.listl" id="9a100da4-a467-4156-ab21-51216c7cbb3e">
         <addNotNullConstraint  
             columnName="AB_LOGHISTORYID"  
             tableName="AB_LOGHISTORY"  
-- 
GitLab


From 92e42c852490d37dc40af15838f1ff4b11700e2a Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Wed, 21 Oct 2020 08:23:00 +0000
Subject: [PATCH 220/251] #1063254-KomunikationsmittelLeadimport Internet und
 LinkedIn Fix

---
 .../2020.2.1/Lead/UpdateImportFields.xml      | 35 +++++++++++++++++++
 .../basic/2020.2.1/Lead/addColumnLead.xml     | 11 ++++++
 .../basic/2020.2.1/Lead/changelog.xml         |  6 ++++
 .../Data_alias/basic/2020.2.1/changelog.xml   |  1 +
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  8 ++---
 5 files changed, 57 insertions(+), 4 deletions(-)
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/Lead/UpdateImportFields.xml
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/Lead/addColumnLead.xml
 create mode 100644 .liquibase/Data_alias/basic/2020.2.1/Lead/changelog.xml

diff --git a/.liquibase/Data_alias/basic/2020.2.1/Lead/UpdateImportFields.xml b/.liquibase/Data_alias/basic/2020.2.1/Lead/UpdateImportFields.xml
new file mode 100644
index 0000000000..bd6301018b
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/Lead/UpdateImportFields.xml
@@ -0,0 +1,35 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="s.pongratz" id="a75320ca-ecd1-4132-9fdf-989897934a85">
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="O_COMMINTERNET"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="9ed26d58-cc2f-436e-b67b-afbb9f102bf4" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="LinkedIn (Organisation)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="97e27378-e733-4629-b0c4-515faf89da7e" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID" value="P_COMMINTERNET"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="01f18fd8-44c1-43ec-8601-bf1fe7e62700" />
+            </whereParams>
+        </update>
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="TITLE" value="LinkedIn (Person)"/>
+            <where>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="53e06704-e28d-49b5-a49f-e40ca250ee6a" />
+            </whereParams>
+        </update>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.1/Lead/addColumnLead.xml b/.liquibase/Data_alias/basic/2020.2.1/Lead/addColumnLead.xml
new file mode 100644
index 0000000000..bbb8e983e8
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/Lead/addColumnLead.xml
@@ -0,0 +1,11 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="s.pongratz" id="a894e971-4ce9-4142-ac27-1782d454a01f">
+       <addColumn tableName="LEAD">
+            <column name="P_COMMINTERNET"  type="NVARCHAR(254)" />
+            <column name="O_COMMINTERNET"  type="NVARCHAR(254)" />
+       </addColumn>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.1/Lead/changelog.xml b/.liquibase/Data_alias/basic/2020.2.1/Lead/changelog.xml
new file mode 100644
index 0000000000..a1d7864402
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.1/Lead/changelog.xml
@@ -0,0 +1,6 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include file="addColumnLead.xml" relativeToChangelogFile="true" />
+    <include file="UpdateImportFields.xml" relativeToChangelogFile="true" />
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.1/changelog.xml b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
index 46996ff2f3..68920d2dc3 100644
--- a/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.1/changelog.xml
@@ -2,4 +2,5 @@
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <include relativeToChangelogFile="true" file="Loghistory/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="Lead/changelog.xml"/>
 </databaseChangeLog>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index b147edcd14..2143d40108 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9430,16 +9430,16 @@ Bitte Datumseingabe prüfen</value>
       </value>
     </entry>
     <entry>
-      <key>Linked in (Person)</key>
-      <value>Linked In (Person)</value>
+      <key>LinkedIn (Person)</key>
+      <value>LinkedIn (Person)</value>
     </entry>
     <entry>
       <key>Mobile number (Organisation)</key>
       <value>Handynummer (Organisation)</value>
     </entry>
     <entry>
-      <key>Linked in (Organisation)</key>
-      <value>Linked In (Organisation)</value>
+      <key>LinkedIn (Organisation)</key>
+      <value>LinkedIn (Organisation)</value>
     </entry>
     <entry>
       <key>Xing (Organisation)</key>
-- 
GitLab


From 9ed384fb676e51e9597d233725c3b683b86afe08 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 21 Oct 2020 11:08:07 +0200
Subject: [PATCH 221/251] AuditLoghistory order by date desc

---
 entity/AuditLogHistory_entity/AuditLogHistory_entity.aod      | 1 +
 .../recordcontainers/db/orderClauseProcess.js                 | 4 ++++
 2 files changed, 5 insertions(+)
 create mode 100644 entity/AuditLogHistory_entity/recordcontainers/db/orderClauseProcess.js

diff --git a/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod b/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
index 39c0a093e5..88d93c5023 100644
--- a/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
+++ b/entity/AuditLogHistory_entity/AuditLogHistory_entity.aod
@@ -76,6 +76,7 @@
     <dbRecordContainer>
       <name>db</name>
       <alias>Data_alias</alias>
+      <orderClauseProcess>%aditoprj%/entity/AuditLogHistory_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
       <linkInformation>
         <linkInformation>
           <name>ed8bd1ca-64eb-443e-a04d-ea7aee0c352a</name>
diff --git a/entity/AuditLogHistory_entity/recordcontainers/db/orderClauseProcess.js b/entity/AuditLogHistory_entity/recordcontainers/db/orderClauseProcess.js
new file mode 100644
index 0000000000..ae111d1507
--- /dev/null
+++ b/entity/AuditLogHistory_entity/recordcontainers/db/orderClauseProcess.js
@@ -0,0 +1,4 @@
+import("system.db");
+import("system.result");
+
+result.object({"DATE_NEW": db.DESCENDING});
\ No newline at end of file
-- 
GitLab


From 3229086bbc9eca2443415230ed5ffca251020c13 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Mon, 26 Oct 2020 11:33:14 +0100
Subject: [PATCH 222/251] Loghistory UID Liquibase script fix for mariadb

---
 .../basic/2020.2.1/Loghistory/addAb_loghistoryId.xml  | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
index 1c80762174..9e7f179262 100644
--- a/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
+++ b/.liquibase/Data_alias/basic/2020.2.1/Loghistory/addAb_loghistoryId.xml
@@ -30,14 +30,7 @@
         </update>
     </changeSet>
     <changeSet author="s.listl" id="9a100da4-a467-4156-ab21-51216c7cbb3e">
-        <addNotNullConstraint  
-            columnName="AB_LOGHISTORYID"  
-            tableName="AB_LOGHISTORY"  
-        /> 
-        <addPrimaryKey    
-            columnNames="AB_LOGHISTORYID"  
-            constraintName="pk_AB_LOGHISTORYID"  
-            tableName="AB_LOGHISTORY"  
-        /> 
+        <addNotNullConstraint columnName="AB_LOGHISTORYID" tableName="AB_LOGHISTORY" columnDataType="char(36)"/> 
+        <addPrimaryKey columnNames="AB_LOGHISTORYID" constraintName="pk_AB_LOGHISTORYID" tableName="AB_LOGHISTORY"/> 
     </changeSet>
 </databaseChangeLog>
-- 
GitLab


From a0ac7d51c7a9acd3481656f708a39b1ccc3f8a07 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 27 Oct 2020 11:26:18 +0100
Subject: [PATCH 223/251] Marketing Workflow

---
 .../DocumentTemplatePlaceOfUse_entity.aod     |  4 +
 .../children/blacklist_param/valueProcess.js  |  2 +-
 .../getallcontexts_param/valueProcess.js      |  3 +
 .../MarketingWorkflowLauncher_entity.aod      | 85 +++++++++++++++++
 .../children/comingfrom_param/valueProcess.js |  4 +
 .../valueProcess.js                           |  4 +
 .../processvariables_param/valueProcess.js    |  7 ++
 .../targetcontext_param/valueProcess.js       |  4 +
 .../children/targets_param/valueProcess.js    | 13 +++
 .../validationerrors_param/valueProcess.js    |  4 +
 entity/Person_entity/Person_entity.aod        |  6 ++
 .../onActionProcess.js                        |  8 ++
 .../WorkflowDefinition_entity.aod             |  6 ++
 .../WorkflowInstance_entity.aod               |  6 +-
 .../recordcontainers/jdito/contentProcess.js  | 33 ++-----
 .../recordcontainers/jdito/onInsert.js        | 74 +++------------
 .../WorkflowLauncher_entity.aod               | 93 +++++++++++++++++++
 .../launchworkflows/onActionProcess.js        | 33 +++++++
 .../launchworkflows/stateProcess.js           |  8 ++
 .../processdefinition_id/valueProcess.js      |  7 ++
 .../startformdefinition/valueProcess.js       |  7 ++
 .../children/context_param/valueProcess.js    |  4 +
 .../workflowtargets/valueProcess.js           | 20 ++++
 .../WorkflowStartConfig_entity.aod            |  4 +
 .../getallcontexts_param/valueProcess.js      |  3 +
 .../MarketingWorkflowLauncher.aod             | 13 +++
 .../WorkflowLauncher/WorkflowLauncher.aod     | 12 +++
 .../MarketingWorkflowLauncherEdit_view.aod    | 30 ++++++
 .../PersonDuplicateEditview_view.aod          |  2 +
 .../PersonFilter_view/PersonFilter_view.aod   |  3 +
 .../PersonLookup_view/PersonLookup_view.aod   |  2 +
 .../PersonPreview_view/PersonPreview_view.aod |  1 +
 .../PersonSimpleList_view.aod                 |  5 +
 .../WorkflowInstancePreview_view.aod          |  1 +
 .../WorkflowLauncherEdit_view.aod             | 43 +++++++++
 process/Workflow_lib/process.js               | 62 ++++++++++---
 36 files changed, 508 insertions(+), 108 deletions(-)
 create mode 100644 entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/getallcontexts_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/comingfrom_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/documenttemplatetype_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targetcontext_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
 create mode 100644 entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/validationerrors_param/valueProcess.js
 create mode 100644 entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/launchworkflows/onActionProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/launchworkflows/stateProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/processdefinition_id/valueProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/startformdefinition/valueProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/workflowdefinitions/children/context_param/valueProcess.js
 create mode 100644 entity/WorkflowLauncher_entity/entityfields/workflowtargets/valueProcess.js
 create mode 100644 entity/WorkflowStartConfig_entity/entityfields/contexts/children/getallcontexts_param/valueProcess.js
 create mode 100644 neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
 create mode 100644 neonContext/WorkflowLauncher/WorkflowLauncher.aod
 create mode 100644 neonView/MarketingWorkflowLauncherEdit_view/MarketingWorkflowLauncherEdit_view.aod
 create mode 100644 neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod

diff --git a/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod b/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
index 3e77638a51..6db556011a 100644
--- a/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
+++ b/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
@@ -43,6 +43,10 @@
           <name>Blacklist_param</name>
           <valueProcess>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>GetAllContexts_param</name>
+          <valueProcess>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/getallcontexts_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityProvider>
diff --git a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js
index 8f454703de..9d5b64bb87 100644
--- a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js
+++ b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js
@@ -1,3 +1,3 @@
 import("system.result");
 
-result.object(["Person", "Organisation", "Offer"]);
\ No newline at end of file
+result.object(["Person", "Organisation", "Offer", "MarketingWorkflowLauncher"]);
\ No newline at end of file
diff --git a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/getallcontexts_param/valueProcess.js b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/getallcontexts_param/valueProcess.js
new file mode 100644
index 0000000000..40effa0178
--- /dev/null
+++ b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/getallcontexts_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(true);
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
new file mode 100644
index 0000000000..40b9b39c89
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
+  <name>MarketingWorkflowLauncher_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <title>Marketing workflow</title>
+  <recordContainer>dataLess</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+    <entityField>
+      <name>DOCUMENTTEMPLATE_ID</name>
+      <title>Document template</title>
+      <consumer>EmailTemplates</consumer>
+      <mandatory v="true" />
+      <state>EDITABLE</state>
+    </entityField>
+    <entityConsumer>
+      <name>WorkflowLauncherIntegration</name>
+      <isOneToOneRelationship v="true" />
+      <dependency>
+        <name>dependency</name>
+        <entityName>WorkflowLauncher_entity</entityName>
+        <fieldName>Integration</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>Validationerrors_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/validationerrors_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ProcessVariables_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>Targets_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>TargetContext_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targetcontext_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityParameter>
+      <name>ObjectType_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>ObjectIds_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>ObjectFilter_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityConsumer>
+      <name>EmailTemplates</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DocumentTemplate_entity</entityName>
+        <fieldName>DocumentTemplateProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>DocumentTemplateType_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/documenttemplatetype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ComingFrom_param</name>
+          <valueProcess>%aditoprj%/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/comingfrom_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+  </entityFields>
+  <recordContainers>
+    <datalessRecordContainer>
+      <name>dataLess</name>
+    </datalessRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/comingfrom_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/comingfrom_param/valueProcess.js
new file mode 100644
index 0000000000..cc6924394a
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/comingfrom_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("Context_lib");
+import("system.result");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/documenttemplatetype_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/documenttemplatetype_param/valueProcess.js
new file mode 100644
index 0000000000..28aacde92d
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/emailtemplates/children/documenttemplatetype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.documentTemplateType$mail());
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
new file mode 100644
index 0000000000..b81df3d4fb
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.result");
+
+var variables = {
+    documentTemplate: vars.get("$field.DOCUMENTTEMPLATE_ID")
+};
+result.string(JSON.stringify(variables));
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targetcontext_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targetcontext_param/valueProcess.js
new file mode 100644
index 0000000000..cc6924394a
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targetcontext_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("Context_lib");
+import("system.result");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
new file mode 100644
index 0000000000..6a28aafa52
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
@@ -0,0 +1,13 @@
+import("Util_lib");
+import("system.vars");
+import("system.result");
+
+var context = vars.get("$param.ObjectType_param");
+var targets = Utils.parseJSON(vars.get("$param.ObjectIds_param")) || [];
+targets = targets.map(function (targetId)
+{
+    if (Utils.isString(targetId))
+        return [targetId, context]; //todo: context dynamic (eg for participants)
+    return targetId;
+});
+result.string(JSON.stringify(targets));
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/validationerrors_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/validationerrors_param/valueProcess.js
new file mode 100644
index 0000000000..30356844f1
--- /dev/null
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/validationerrors_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$sys.validationerrors"));
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 58638d3e71..c66ce94932 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1097,6 +1097,12 @@
           <iconId>VAADIN:PLAY</iconId>
           <stateProcess>%aditoprj%/entity/Person_entity/entityfields/filterviewactiongroup/children/startmultipleworkflows/stateProcess.js</stateProcess>
         </entityActionField>
+        <entityActionField>
+          <name>startMarketingWorkflows</name>
+          <title>Marketing Workflow</title>
+          <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityActionGroup>
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
new file mode 100644
index 0000000000..3e462ab449
--- /dev/null
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
@@ -0,0 +1,8 @@
+import("Context_lib");
+import("system.vars");
+import("system.neon");
+
+neon.openContext("MarketingWorkflowLauncher", "MarketingWorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+    "ObjectIds_param": JSON.stringify(vars.get("$sys.selection")),
+    "ObjectType_param": ContextUtils.getCurrentContextId()
+});
\ No newline at end of file
diff --git a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
index 6b03a4c7d1..ab10357478 100644
--- a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
+++ b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
@@ -22,6 +22,12 @@
           <fieldName>WorkflowDefinitions</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>8c60efea-5fa1-4df0-a6bb-9fadcc88554c</name>
+          <entityName>WorkflowLauncher_entity</entityName>
+          <fieldName>WorkflowDefinitions</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
diff --git a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
index a582194e6d..566506952d 100644
--- a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
+++ b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
@@ -120,10 +120,6 @@
       <name>TargetContext_param</name>
       <expose v="true" />
     </entityParameter>
-    <entityParameter>
-      <name>TargetIdFilter_param</name>
-      <expose v="true" />
-    </entityParameter>
     <entityActionField>
       <name>toggleActive</name>
       <title>${WORKFLOW_SUSPEND}</title>
@@ -211,7 +207,7 @@
     <jDitoRecordContainer>
       <name>jdito</name>
       <isFilterable v="true" />
-      <isSortable v="true" />
+      <isSortable v="false" />
       <contentProcess>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <onInsert>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js</onInsert>
       <onUpdate>%aditoprj%/entity/WorkflowInstance_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
diff --git a/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js b/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
index 9c9bcb7476..4dd46c30f7 100644
--- a/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/WorkflowInstance_entity/recordcontainers/jdito/contentProcess.js
@@ -27,12 +27,6 @@ if (idvalues)
         loadHistoricConfig.processInstanceIds(idvalues);
         historicInstances = JSON.parse(workflow.getHistoricProcessInstances(loadHistoricConfig));
     }
-    
-    //TODO: find a way the id can be gotten here
-    //after new-mode, only the workflow key is known, that means if with the given id
-    //no instance could be found, search with the key and use the item with the latest startTime
-    if (instances.length === 0 && historicInstances.length === 0)
-        instances = _getNewestInstanceForKey(idvalues[0]);
 }
 else
 {
@@ -78,25 +72,10 @@ historicInstances = historicInstances.map(function (instance)
     return row;
 });
 
-instances = JditoFilterUtils.filterRecords(["UID", "NAME", "KEY", "ISACTIVE", "PROCESSDEFINITIONNAME", "PROCESSDEFINITION_ID", "START_TIME", "ISFINISHED"], 
-    instances.concat(historicInstances), vars.get("$local.filter").filter);
-
-result.object(instances);
-
-
-function _getNewestInstanceForKey (pWorkflowKey)
-{
-    var loadConfig = workflow.createConfigForLoadingProcessInstances()
-        .processDefinitionKey(pWorkflowKey);
+var recordFilter = new JditoFilter()
+    .filter(vars.get("$local.filter"))
+    .fieldOrder(["UID", "NAME", "KEY", "ISACTIVE", "PROCESSDEFINITIONNAME", "PROCESSDEFINITION_ID", "START_TIME", "ISFINISHED"]);
     
-    var instances = JSON.parse(workflow.getProcessInstances(loadConfig));
-    if (instances.length === 0)
-        return [];
-    
-    return [instances.reduce(function (prev, curr)
-    {
-        if (Date.parse(prev.startTime) > Date.parse(curr.startTime))
-            return prev;
-        return curr;
-    })];
-}
\ No newline at end of file
+instances = recordFilter.filterRecords(instances.concat(historicInstances));
+
+result.object(instances);
\ No newline at end of file
diff --git a/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js b/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
index 231b021426..ad02408259 100644
--- a/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/WorkflowInstance_entity/recordcontainers/jdito/onInsert.js
@@ -1,14 +1,12 @@
+import("system.neon");
 import("Util_lib");
-import("Employee_lib");
 import("system.entities");
 import("Context_lib");
 import("Workflow_lib");
 import("system.vars");
 import("system.workflow");
-import("system.process");
 
 var variables = Utils.parseJSON(vars.getString("$param.ProcessVariables_param")) || {};
-var targetIdFilter = Utils.parseJSON(vars.get("$param.TargetIdFilter_param"));
 var rowdata = vars.get("$local.rowdata");
 var processKey = rowdata["KEY.value"];
 var instanceName = rowdata["NAME.value"];
@@ -17,69 +15,23 @@ var startFormResult = Utils.parseJSON(rowdata["STARTFORMRESULT.value"]);
 if (!Utils.isNullOrEmpty(startFormResult))
     Object.assign(variables, startFormResult);
 
-//a placeholder that can be used for individual instance names, will be replaced by the content title
-var titlePlaceholder = "{title}";
-var fetchContentTitle = instanceName && instanceName.includes(titlePlaceholder);
-
 var targetId = variables[WorkflowVariables.TARGET_ID()];
-var targetContext = variables[WorkflowVariables.TARGET_CONTEXT()];
-var targetIds = [];
-if (Array.isArray(targetId) && targetId.length !== 0)
-{
-    targetIds = targetId.slice();
-    targetIdFilter = null;
-}
-else if (!Array.isArray(targetId) && targetId)
-{
-    targetIds = [targetId];
-    targetIdFilter = null;
-}    
+var targetContext = variables[WorkflowVariables.TARGET_CONTEXT()] || vars.get("$param.TargetContext_param");
 
-if (targetIdFilter || fetchContentTitle)
+//a placeholder that can be used for individual instance names, will be replaced by the content title
+instanceName = instanceName.replace("{title}", function ()
 {
     var entity = ContextUtils.getEntity(targetContext);
     var loadConfig = entities.createConfigForLoadingRows()
         .entity(entity)
-        .fields(["#UID", "#CONTENTTITLE"]);
-
-    if (targetIdFilter && targetIdFilter.filter)
-        loadConfig.filter(JSON.stringify(targetIdFilter.filter));
-    else if (targetIds.length !== 0)
-        loadConfig.uids(targetIds);
-    
-    var rowCount = entities.getRowCount(loadConfig);
-    var pageSize = 1000;
-    for (let startRow = 0; startRow < rowCount; startRow += pageSize)
-    {
-        loadConfig.startrow(startRow).count(pageSize);
-        let targetIdsAndNames = entities.getRows(loadConfig).map(function (row) 
-        {
-            var name = instanceName;
-            if (fetchContentTitle)
-                name = name.replace(titlePlaceholder, row["#CONTENTTITLE"]);
-            return [row["#UID"], name];
-        });
-        _startForIds(targetIdsAndNames, variables);
-    }
+        .fields(["#CONTENTTITLE"])
+        .uid(targetId);
+    var row = entities.getRow(loadConfig);
     
-//TODO: entities.getRows currently doesn't work on the server
-//    process.executeAsync("startWorkflowInstances_serverProcess", {
-//        processVariables : JSON.stringify(variables),
-//        processKey : processKey,
-//        entityFilter : targetIdFilter.filter ? JSON.stringify(targetIdFilter.filter) : ""
-//    },  false, EmployeeUtils.getCurrentUserName(), process.THREADPRIORITY_NORM, process.TIMERTYPE_SERVER);
-}
-else
-    _startForIds(targetIds.map(function (id) {return [id, instanceName];}), variables);
-
-function _startForIds (pTargets, pVariables)
-{
-    pTargets.forEach(function ([id, name]) 
-    {
-        pVariables[WorkflowVariables.TARGET_ID()] = id;
-        var instanceId = workflow.startProcessByKey(processKey, pVariables);
-        if (name)
-            workflow.setProcessInstanceName(instanceId, name);
-    });
-}
+    return row && row["#CONTENTTITLE"] || "";
+});
 
+var instanceId = workflow.startProcessByKey(processKey, pVariables);
+neon.setFieldValue("$field.UID", instanceId);
+if (name)
+    workflow.setProcessInstanceName(instanceId, name);
diff --git a/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
new file mode 100644
index 0000000000..f1640dc1aa
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
+  <name>WorkflowLauncher_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>dataLess</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityProvider>
+      <name>#PROVIDER_AGGREGATES</name>
+      <useAggregates v="true" />
+    </entityProvider>
+    <entityField>
+      <name>PROCESSDEFINITION_ID</name>
+      <valueProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/processdefinition_id/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>STARTFORMDEFINITION</name>
+      <valueProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/startformdefinition/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>STARTFORMRESULT</name>
+    </entityField>
+    <entityField>
+      <name>NAME</name>
+      <title>Name</title>
+      <state>EDITABLE</state>
+    </entityField>
+    <entityField>
+      <name>KEY</name>
+      <title>Key</title>
+      <consumer>WorkflowDefinitions</consumer>
+      <state>EDITABLE</state>
+    </entityField>
+    <entityActionField>
+      <name>launchWorkflows</name>
+      <title>Start workflows</title>
+      <onActionProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/launchworkflows/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:PLAY</iconId>
+      <stateProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/launchworkflows/stateProcess.js</stateProcess>
+    </entityActionField>
+    <entityParameter>
+      <name>Targets_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>TargetFilter_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>ProcessVariables_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>TargetContext_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityProvider>
+      <name>Integration</name>
+    </entityProvider>
+    <entityConsumer>
+      <name>WorkflowDefinitions</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>WorkflowDefinition_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>Context_param</name>
+          <valueProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/workflowdefinitions/children/context_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityParameter>
+      <name>Validationerrors_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityField>
+      <name>workflowCount</name>
+    </entityField>
+    <entityField>
+      <name>workflowTargets</name>
+      <valueProcess>%aditoprj%/entity/WorkflowLauncher_entity/entityfields/workflowtargets/valueProcess.js</valueProcess>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <datalessRecordContainer>
+      <name>dataLess</name>
+    </datalessRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/WorkflowLauncher_entity/entityfields/launchworkflows/onActionProcess.js b/entity/WorkflowLauncher_entity/entityfields/launchworkflows/onActionProcess.js
new file mode 100644
index 0000000000..7e0756271a
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/launchworkflows/onActionProcess.js
@@ -0,0 +1,33 @@
+import("system.neon");
+import("Util_lib");
+import("Workflow_lib");
+import("system.vars");
+import("system.workflow");
+
+var variables = Utils.parseJSON(vars.get("$param.ProcessVariables_param")) || {};
+var targets = Utils.parseJSON(vars.get("$field.workflowTargets")) || [];
+var context = vars.get("$param.TargetContext_param");
+var processKey = vars.get("$field.KEY");
+var instanceName = vars.get("$field.NAME");
+var startFormResult = Utils.parseJSON(vars.get("$field.STARTFORMRESULT"));
+var instanceId;
+
+if (!Utils.isNullOrEmpty(startFormResult))
+    Object.assign(variables, startFormResult);
+
+targets.forEach(function ([targetId, targetContext, processVariables])
+{
+    /* Caution: If 'variables' is used, then 'processVariables' is only a reference to 'variables'. 
+       Currently that's fine, but keep it in mind when you change this code. */
+    if (!processVariables)
+        processVariables = variables;
+    processVariables[WorkflowVariables.TARGET_ID()] = targetId;
+    processVariables[WorkflowVariables.TARGET_CONTEXT()] = targetContext || context;
+
+    instanceId = workflow.startProcessByKey(processKey, processVariables);
+    if (instanceName)
+        workflow.setProcessInstanceName(instanceId, instanceName);
+});
+    
+if (instanceId)
+    neon.openContext("WorkflowInstance", "WorkflowInstancePreview_view", [instanceId], neon.OPERATINGSTATE_VIEW, {});
\ No newline at end of file
diff --git a/entity/WorkflowLauncher_entity/entityfields/launchworkflows/stateProcess.js b/entity/WorkflowLauncher_entity/entityfields/launchworkflows/stateProcess.js
new file mode 100644
index 0000000000..568ebbfeb5
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/launchworkflows/stateProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+result.string(vars.get("$sys.validationerrors") || vars.get("$param.Validationerrors_param") 
+    ? neon.COMPONENTSTATE_DISABLED 
+    : neon.COMPONENTSTATE_EDITABLE
+);
\ No newline at end of file
diff --git a/entity/WorkflowLauncher_entity/entityfields/processdefinition_id/valueProcess.js b/entity/WorkflowLauncher_entity/entityfields/processdefinition_id/valueProcess.js
new file mode 100644
index 0000000000..53e733237b
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/processdefinition_id/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.result");
+import("system.workflow"); 
+
+var processKey = vars.get("$field.KEY");
+if (processKey)
+    result.string(workflow.getLatestProcessDefinitionId(processKey));
\ No newline at end of file
diff --git a/entity/WorkflowLauncher_entity/entityfields/startformdefinition/valueProcess.js b/entity/WorkflowLauncher_entity/entityfields/startformdefinition/valueProcess.js
new file mode 100644
index 0000000000..cd86b1b2e7
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/startformdefinition/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.result");
+import("system.workflow");
+
+var processDefinitionId = vars.get("$field.PROCESSDEFINITION_ID");
+if (processDefinitionId)
+    result.string(workflow.getStartFormProperties(processDefinitionId));
\ No newline at end of file
diff --git a/entity/WorkflowLauncher_entity/entityfields/workflowdefinitions/children/context_param/valueProcess.js b/entity/WorkflowLauncher_entity/entityfields/workflowdefinitions/children/context_param/valueProcess.js
new file mode 100644
index 0000000000..f2a157dac5
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/workflowdefinitions/children/context_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$param.TargetContext_param"));
\ No newline at end of file
diff --git a/entity/WorkflowLauncher_entity/entityfields/workflowtargets/valueProcess.js b/entity/WorkflowLauncher_entity/entityfields/workflowtargets/valueProcess.js
new file mode 100644
index 0000000000..f8c799ec1b
--- /dev/null
+++ b/entity/WorkflowLauncher_entity/entityfields/workflowtargets/valueProcess.js
@@ -0,0 +1,20 @@
+import("FilterViewAction_lib");
+import("system.result");
+import("Util_lib");
+import("system.vars");
+
+var targetFilter = Utils.parseJSON(vars.get("$param.TargetFilter_param"));
+var targets = Utils.parseJSON(vars.get("$param.Targets_param")) || [];
+var context = vars.get("$param.TargetContext_param");
+
+//when target ids are given, the targetFilter will be ignored
+if (targets.length === 0 && targetFilter)
+    targets = FilterViewActionUtils.getUidsByEntityFilter(context, targetFilter);
+
+var resTargets = targets.map(function (target)
+{
+    if (Utils.isString(target))
+        return [target];
+    return target;
+});
+result.string(JSON.stringify(resTargets));
\ No newline at end of file
diff --git a/entity/WorkflowStartConfig_entity/WorkflowStartConfig_entity.aod b/entity/WorkflowStartConfig_entity/WorkflowStartConfig_entity.aod
index e57032a87e..beafceffdf 100644
--- a/entity/WorkflowStartConfig_entity/WorkflowStartConfig_entity.aod
+++ b/entity/WorkflowStartConfig_entity/WorkflowStartConfig_entity.aod
@@ -63,6 +63,10 @@
           <name>InvertBlacklist_param</name>
           <valueProcess>%aditoprj%/entity/WorkflowStartConfig_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>GetAllContexts_param</name>
+          <valueProcess>%aditoprj%/entity/WorkflowStartConfig_entity/entityfields/contexts/children/getallcontexts_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
diff --git a/entity/WorkflowStartConfig_entity/entityfields/contexts/children/getallcontexts_param/valueProcess.js b/entity/WorkflowStartConfig_entity/entityfields/contexts/children/getallcontexts_param/valueProcess.js
new file mode 100644
index 0000000000..40effa0178
--- /dev/null
+++ b/entity/WorkflowStartConfig_entity/entityfields/contexts/children/getallcontexts_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string(true);
\ No newline at end of file
diff --git a/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod b/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
new file mode 100644
index 0000000000..bad0c03850
--- /dev/null
+++ b/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>MarketingWorkflowLauncher</name>
+  <title>f</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>MarketingWorkflowLauncher_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>39e62b1f-b27f-4f74-8521-d95e27748c6c</name>
+      <view>MarketingWorkflowLauncherEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/WorkflowLauncher/WorkflowLauncher.aod b/neonContext/WorkflowLauncher/WorkflowLauncher.aod
new file mode 100644
index 0000000000..e3e01733b8
--- /dev/null
+++ b/neonContext/WorkflowLauncher/WorkflowLauncher.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
+  <name>WorkflowLauncher</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>WorkflowLauncher_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>f3d227d8-73e9-4868-9f2d-a86e808f33e7</name>
+      <view>WorkflowLauncherEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/MarketingWorkflowLauncherEdit_view/MarketingWorkflowLauncherEdit_view.aod b/neonView/MarketingWorkflowLauncherEdit_view/MarketingWorkflowLauncherEdit_view.aod
new file mode 100644
index 0000000000..8fe83127e0
--- /dev/null
+++ b/neonView/MarketingWorkflowLauncherEdit_view/MarketingWorkflowLauncherEdit_view.aod
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>MarketingWorkflowLauncherEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <size>SMALL</size>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>TemplateSelection</name>
+      <editMode v="true" />
+      <hideEmptyFields v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>13b27604-86ee-41cb-80bd-7b0b4d834c8d</name>
+          <entityField>DOCUMENTTEMPLATE_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>e091c680-ee26-466a-a20e-52469dc28cfe</name>
+      <entityField>WorkflowLauncherIntegration</entityField>
+      <view>WorkflowLauncherEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/PersonDuplicateEditview_view/PersonDuplicateEditview_view.aod b/neonView/PersonDuplicateEditview_view/PersonDuplicateEditview_view.aod
index 25adc1c72a..23c70461d0 100644
--- a/neonView/PersonDuplicateEditview_view/PersonDuplicateEditview_view.aod
+++ b/neonView/PersonDuplicateEditview_view/PersonDuplicateEditview_view.aod
@@ -14,6 +14,8 @@
       <hideContentSearch v="true" />
       <iconField></iconField>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <hideHeader v="true" />
       <title>Duplicates</title>
       <columns>
diff --git a/neonView/PersonFilter_view/PersonFilter_view.aod b/neonView/PersonFilter_view/PersonFilter_view.aod
index 8eaea8f829..721f83815e 100644
--- a/neonView/PersonFilter_view/PersonFilter_view.aod
+++ b/neonView/PersonFilter_view/PersonFilter_view.aod
@@ -61,6 +61,7 @@
         <element>FIRSTNAME</element>
         <element>LASTNAME</element>
       </linkedColumns>
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>210cc6ab-5123-4d8a-8f2e-a6cd91d494ef</name>
@@ -109,6 +110,8 @@
         <element>FIRSTNAME</element>
         <element>LASTNAME</element>
       </linkedColumns>
+      <defaultGroupFields />
+      <fixedFilterFields />
       <columns>
         <neonTreeTableColumn>
           <name>ae9f20e2-8c64-43a7-b3ce-00c3af4974f7</name>
diff --git a/neonView/PersonLookup_view/PersonLookup_view.aod b/neonView/PersonLookup_view/PersonLookup_view.aod
index f3c036a901..5877a1ee07 100644
--- a/neonView/PersonLookup_view/PersonLookup_view.aod
+++ b/neonView/PersonLookup_view/PersonLookup_view.aod
@@ -11,6 +11,8 @@
     <tableViewTemplate>
       <name>Persons</name>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>9541c336-10e9-4767-b6e5-52b6108d967a</name>
diff --git a/neonView/PersonPreview_view/PersonPreview_view.aod b/neonView/PersonPreview_view/PersonPreview_view.aod
index b1717f65bc..c0ecb2926b 100644
--- a/neonView/PersonPreview_view/PersonPreview_view.aod
+++ b/neonView/PersonPreview_view/PersonPreview_view.aod
@@ -91,6 +91,7 @@
     </genericViewTemplate>
     <scoreCardViewTemplate>
       <name>Scores</name>
+      <fieldActions />
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
index 63a4b1e6d2..2f1efab373 100644
--- a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
+++ b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
@@ -17,6 +17,8 @@
       <subtitleField>LANGUAGE</subtitleField>
       <descriptionField>DEPARTMENT</descriptionField>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <fixedFilterFields />
       <columns>
         <neonTableColumn>
           <name>cb441e57-dba4-49d6-a8f4-cea5db3187f2</name>
@@ -64,6 +66,9 @@
       <name>tree</name>
       <favoriteActionGroup1>filterViewActionGroup</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
+      <linkedColumns />
+      <defaultGroupFields />
+      <fixedFilterFields />
       <columns>
         <neonTreeTableColumn>
           <name>b18db709-56e9-4f7e-89a2-f0e2b81c75d0</name>
diff --git a/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod
index 9bfc1201ca..6e02ae567d 100644
--- a/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod
+++ b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>WorkflowInstancePreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <size>SMALL</size>
   <layout>
     <headerFooterLayout>
       <name>layout</name>
diff --git a/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
new file mode 100644
index 0000000000..8445a151ff
--- /dev/null
+++ b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
+  <name>WorkflowLauncherEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <size>SMALL</size>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>selectWorkflow</name>
+      <editMode v="true" />
+      <hideEmptyFields v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>3150c50d-8d95-4891-9d53-7ab192bc124b</name>
+          <entityField>KEY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>14de7f56-44cf-4c9e-89a7-59f84e482fd9</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <dynamicFormViewTemplate>
+      <name>startForm</name>
+      <formDefinition>STARTFORMDEFINITION</formDefinition>
+      <formResult>STARTFORMRESULT</formResult>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+    </dynamicFormViewTemplate>
+    <actionsViewTemplate>
+      <name>startAction</name>
+      <actions>
+        <element>launchWorkflows</element>
+      </actions>
+      <entityField>#ENTITY</entityField>
+    </actionsViewTemplate>
+  </children>
+</neonView>
diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index a876cd9f85..d8705a1e95 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -38,23 +38,23 @@ WorkflowUtils.getPossibleWorkflowDefinitions = function (pContext)
  * opens the WorkflowInstance context in new-mode
  * 
  * @param {Object} [pVariables] variables for the process instance
- * @param {String} [pTargetId=$sys.uid] uid of the target object
+ * @param {String} [pTargetIds=$sys.uid] uid of the target object
  * @param {String} [pTargetContext=current context] target context 
  * @param {String} [pSelectionFilter] filter
  */
-WorkflowUtils.openNewInstance = function (pVariables, pTargetId, pTargetContext, pSelectionFilter)
+WorkflowUtils.openNewInstance = function (pVariables, pTargetIds, pTargetContext, pSelectionFilter)
 {
-    if ((!pTargetId || pTargetId.length === 0) && pSelectionFilter)
-        pTargetId = [];
+    if ((!pTargetIds || pTargetIds.length === 0) && pSelectionFilter)
+        pTargetIds = [];
     if (!pVariables)
         pVariables = {};
     
-    Object.assign(pVariables, WorkflowVariables.getTargetVariables(pTargetId, pTargetContext));
+    Object.assign(pVariables, WorkflowVariables.getTargetVariables(pTargetIds, pTargetContext));
     
-    neon.openContext("WorkflowInstance", null, null, neon.OPERATINGSTATE_NEW, {
+    neon.openContext("WorkflowLauncher", "WorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
         "ProcessVariables_param" : JSON.stringify(pVariables),
         "TargetContext_param" : pVariables[WorkflowVariables.TARGET_CONTEXT()],
-        "TargetIdFilter_param" : pSelectionFilter ? JSON.stringify(pSelectionFilter) : ""
+        "TargetFilter_param" : pSelectionFilter ? JSON.stringify(pSelectionFilter) : ""
     });
 }
 
@@ -67,7 +67,8 @@ WorkflowUtils.getPossibleTargetContexts = function ()
         "Organisation",
         "Person",
         "Offer",
-        "Salesproject"
+        "Salesproject",
+        "MarketingWorkflowLauncher"
     ];
 }
 
@@ -76,7 +77,7 @@ WorkflowUtils.getPossibleTargetContexts = function ()
  */
 WorkflowUtils.engineIsEnabled = function ()
 {
-    return String(project.getInstanceConfigValue("workflowEngineEnabled", "false")) == "true";
+    return Utils.toBoolean(project.getInstanceConfigValue("workflowEngineEnabled", "false"));
 }
 
 /**
@@ -602,9 +603,16 @@ WorkflowModelerApiCall.prototype.importModel = function ()
     return WorkflowModel.fromObject(JSON.parse(modelJson));
 }
 
-
+/**
+ * Provides functionality to work with urls that trigger certain workflow actions
+ */
 function WorkflowLinkActions () {}
 
+/**
+ * Contains the different types of workflow actions that can be performed
+ * 
+ * @enum
+ */
 WorkflowLinkActions.types = {
     RECEIVE_TASK: function () {return "rec";},
     SIGNAL: function () {return "sig";},
@@ -612,29 +620,48 @@ WorkflowLinkActions.types = {
 };
 
 WorkflowLinkActions.types.RECEIVE_TASK.title = "Receive Task";
+WorkflowLinkActions.types.SIGNAL.title = "Signal";
+WorkflowLinkActions.types.MESSAGE.title = "Message";
+
+/**
+ * Callback-function that performs the action for the type RECEIVE_TASK. 
+ */
 WorkflowLinkActions.types.RECEIVE_TASK.execute = function (pParameters)
 {
     if (!pParameters.processInstanceId)
         return;
-    
     workflow.triggerReceiveTask(pParameters.processInstanceId, pParameters.receiveTask || null);
 }
 
-WorkflowLinkActions.types.SIGNAL.title = "Signal";
+/**
+ * Callback-function that performs the action for the type SIGNAL. 
+ */
 WorkflowLinkActions.types.SIGNAL.execute = function (pParameters)
 {
-    if (!pParameters.processInstanceId)
+    if (!pParameters.signal)
         return;
     workflow.signalEventReceived(pParameters.signal);
 }
 
-WorkflowLinkActions.types.MESSAGE.title = "Message";
+/**
+ * Callback-function that performs the action for the type MESSAGE. 
+ */
 WorkflowLinkActions.types.MESSAGE.execute = function (pParameters)
 {
     if (!pParameters.processInstanceId || !pParameters.message)
         return;
+    workflow.messageEventReceived(pParameters.message, pParameters.processInstanceId);
 }
 
+/**
+ * Encodes an action into a special string containing the data required to execute the action. 
+ * This string can be decoded with WorkflowLinkActions.parseAction.
+ * 
+ * @param {String} pType the action type, see WorkflowLinkActions.types
+ * @param {String} pLink the url to redirect to after the action has been executed
+ * @param {Object} pParams extra parameters required for the action
+ * @return {String} the encoded action-string
+ */
 WorkflowLinkActions.encodeAction = function (pType, pLink, pParams)
 {
     if (!pParams)
@@ -656,6 +683,7 @@ WorkflowLinkActions.encodeAction = function (pType, pLink, pParams)
     return encodeURIComponent(util.encodeBase64String(actionString));
 }
 
+
 WorkflowLinkActions.getActionLink = function (pBaseUrl, pType, pLink, pParams)
 {
     if (!pBaseUrl.endsWith("/"))
@@ -663,6 +691,12 @@ WorkflowLinkActions.getActionLink = function (pBaseUrl, pType, pLink, pParams)
     return pBaseUrl + "services/rest/redirect_rest?act=" + WorkflowLinkActions.encodeAction(pType, pLink, pParams);
 }
 
+/**
+ * Decodes the given action-string and gives back an object that can run the action.
+ * 
+ * @param {String} pEncodedAction the encoded action-string, see WorkflowLinkActions.encodeAction
+ * @return {Object} an object that contains the properties of the action and the function 'run' that can be called to execute the action
+ */
 WorkflowLinkActions.parseAction = function (pEncodedAction)
 {
     try 
-- 
GitLab


From 85e54bc0b28b0da80a6a1ec1a51dfc64821c7635 Mon Sep 17 00:00:00 2001
From: Stefan Seemann <s.seemann@adito.de>
Date: Tue, 27 Oct 2020 13:12:12 +0100
Subject: [PATCH 224/251] removed unused and old backup-files

---
 .../Data_alias/Data_alias.aod.orig            | 10717 ----------------
 .../_____LANGUAGE_EXTRA.aod.orig              |  4854 -------
 .../_____LANGUAGE_de.aod.orig                 |  6083 ---------
 .../_____LANGUAGE_en.aod.orig                 |  4880 -------
 4 files changed, 26534 deletions(-)
 delete mode 100644 aliasDefinition/Data_alias/Data_alias.aod.orig
 delete mode 100644 language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod.orig
 delete mode 100644 language/_____LANGUAGE_de/_____LANGUAGE_de.aod.orig
 delete mode 100644 language/_____LANGUAGE_en/_____LANGUAGE_en.aod.orig

diff --git a/aliasDefinition/Data_alias/Data_alias.aod.orig b/aliasDefinition/Data_alias/Data_alias.aod.orig
deleted file mode 100644
index 7dbc15332b..0000000000
--- a/aliasDefinition/Data_alias/Data_alias.aod.orig
+++ /dev/null
@@ -1,10717 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<aliasDefinition xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/aliasDefinition/1.2.0">
-  <name>Data_alias</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <datasourceType v="0" />
-  <aliasDefinitionSub>
-    <aliasDefDb>
-      <entityGroup>
-        <name>entityGroup</name>
-        <entities>
-          <entityDb>
-            <name>ORGANISATION</name>
-            <dbName></dbName>
-            <idColumn>ORGANISATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="3" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CUSTOMERCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Customercode</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Information</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>OrganisationType</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESAREA</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Sales area</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ORGANISATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Organisation Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PICTURE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2004" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Picture</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CONTACT</name>
-            <dbName></dbName>
-            <idColumn>CONTACTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Language</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/contact/entityfields/language/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Contact Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ORGANISATION_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Company</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/contact/entityfields/organisation_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>c5479d2f-654d-4794-a61e-aee1f2c21673</name>
-                    <entityName>ORGANISATION</entityName>
-                    <fieldName>ORGANISATIONID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Status</title>
-                <description></description>
-                <customProperties>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>ContactStatus</property>
-                  </customStringProperty>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PERSON_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Contact</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESS_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <title>standard address</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RELATIONSHIP</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Relationship</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACTROLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Contactrole</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DEPARTMENT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Department</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>POSITION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Position Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LETTERSALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="200" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>PERSON</name>
-            <dbName></dbName>
-            <idColumn>PERSONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="3" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>TITLESUFFIX</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Title suffix</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PERSONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Person Id</title>
-                <description></description>
-                <dependencies>
-                  <entityDependency>
-                    <name>2daca400-8bad-4bad-9df3-98c4ca023c19</name>
-                    <entityName>CONTACT</entityName>
-                    <fieldName>PERSON_ID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FIRSTNAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Firstname</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MIDDLENAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Middlename</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATEOFBIRTH</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Date of birth</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LASTNAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Lastname</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="16" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Salutation</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GENDER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Gender</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>PersonGender</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Title</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PICTURE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2004" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Picture</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>ADDRESS</name>
-            <dbName></dbName>
-            <idColumn>ADDRESSID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>ZIP</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>postcode</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>${ADDRESS_STATE}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDR_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Addresstype</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>AddressType</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REGION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Region</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESSADDITION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="60" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Address addition</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DISTRICT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>District</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>City</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>COUNTRY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="2" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Country</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/address/entityfields/country/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Address</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESSID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Address Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRIDENTIFIER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="60" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>{$ADDRESS_IDENTIFIER}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="true" />
-                <title>Contact Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>CONTACT</property>
-                  </customStringProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>b0a6bcf2-246e-475e-a4f0-b25553e1e27f</name>
-                    <entityName>CONTACT</entityName>
-                    <fieldName>CONTACTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BUILDINGNO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>House number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>COMMUNICATION</name>
-            <dbName></dbName>
-            <idColumn>COMMUNICATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>COMMUNICATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Communication Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MEDIUM_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <title>Medium</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <title>Contact Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>CONTACT</property>
-                  </customStringProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>c42dcb6e-6771-4fd0-80e8-86359c417051</name>
-                    <entityName>CONTACT</entityName>
-                    <fieldName>CONTACTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STANDARD</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Standard</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDR</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>${COMM_ADDRESS}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CONTRACT</name>
-            <dbName></dbName>
-            <idColumn>CONTRACTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CONTRACTDUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Next due date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PAYMENT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Payment method</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTSTATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>${CONTRACT_STATUS}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTEND</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Contract expiry date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="true" />
-                <title>Contract number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Contract Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Type of contract</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Connection</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTRACTSTART</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Contract start date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REMARK</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>PRODUCT</name>
-            <dbName></dbName>
-            <idColumn>PRODUCTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>UNIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Unit</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADVERTISING</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="1" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Advertising material</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customBooleanProperty>
-                    <name>autoMapTrueFalse4Log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Product Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCTNAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Product name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCTCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="true" />
-                <title>Product number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MINSTOCK</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Min. Stock</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GROUPCODEID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Product group</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Active</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customBooleanProperty>
-                    <name>autoMapTrueFalse4Log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STANDARD</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Standard</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Developer</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>PROD2PROD</name>
-            <dbName></dbName>
-            <idColumn>PROD2PRODID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OPTIONAL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Optional</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TAKEPRICE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Take price</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SOURCE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Product</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>da53ae25-5145-4772-83a3-5586534e9a98</name>
-                    <entityName>PRODUCT</entityName>
-                    <fieldName>PRODUCTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>QUANTITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Quantity</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DEST_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Destination Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>09534dc2-6385-4b33-bd5c-47a1e7d5e410</name>
-                    <entityName>PRODUCT</entityName>
-                    <fieldName>PRODUCTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROD2PRODID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Product relationship</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>PRODUCTPRICE</name>
-            <dbName></dbName>
-            <idColumn>PRODUCTPRICEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CURRENCY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Currency</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRICE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Price</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>VAT in %</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRICELIST</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Price list</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BUYSELL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>PP/SP</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Product</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>PRODUCT</property>
-                  </customStringProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>639c107f-fbaf-49b2-bd21-292049cd2976</name>
-                    <entityName>PRODUCT</entityName>
-                    <fieldName>PRODUCTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VALID_TO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Valid to</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FROMQUANTITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>From no. of units</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Company</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VALID_FROM</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Valid from</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCTPRICEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Product price Id</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>STOCK</name>
-            <dbName></dbName>
-            <idColumn>STOCKID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>REFNUMBER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Reference</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STOCKID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Stock Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>WAREHOUSE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Warehouse</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>QUANTITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Quantity</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ENTRYDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Product Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-                <dependencies>
-                  <entityDependency>
-                    <name>1d99d9fe-4956-4fd4-9f67-32b1c731dcc1</name>
-                    <entityName>PRODUCT</entityName>
-                    <fieldName>PRODUCTID</fieldName>
-                  </entityDependency>
-                </dependencies>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>IN_OUT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>I / O</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_COUNTRYINFO</name>
-            <dbName></dbName>
-            <idColumn>ISO2</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="3" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>ISO3</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>ISO 3166-1 alpha-3</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ISO2</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="2" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>ISO 3166-1 alpha-2</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDR_FORMAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Address format</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME_LATIN</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Latin Name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME_NATIVE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Native Name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REQUIRED_FIELDS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Required fields</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ZIP_REGEX</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="1000" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>ZIP regex</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FLAG</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2004" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Flag</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>OFFER</name>
-            <dbName></dbName>
-            <idColumn>OFFERID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CURRENCY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Currency</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Language</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/language/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Total VAT</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/vat/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFERDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFERID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Offer Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFERCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Offer number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROBABILITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Probability</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>OfferProbability</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Status</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>OfferStatus</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Connection</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/contact_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NET</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Total net</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/net/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>HEADER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Cover letter</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFER_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Offer Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VERSNR</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Vers. no.</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Address</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PAYMENTTERMS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Payment term</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>PaymentTerm</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DELIVERYTERMS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Deliveryspecification</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>DeliveryTerm</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Information</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FOOTER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LETTERSALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="200" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>OFFERITEM</name>
-            <dbName></dbName>
-            <idColumn>OFFERITEMID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>UNIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Unit</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>QuantityUnit</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRICE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Unit price</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>QUANTITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Quantity</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>VAT in %</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFER_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Offer Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>OFFER</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFERITEMID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Offer item Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Article</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DISCOUNT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Discount %</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMPOSITION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Position</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OPTIONAL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Optional</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customBooleanProperty>
-                    <name>autoMapTrueFalse4Log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GROUPCODEID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Commodity group</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>ProductGroupcode</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMSORT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Item sort</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ASSIGNEDTO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Assigned to</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMNAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="250" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Designation</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALESPROJECT</name>
-            <dbName></dbName>
-            <idColumn>SALESPROJECTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>STARTDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Project start</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VOLUME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Volume</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Information</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ENDDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Rollout</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PHASE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Phase</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>SalesprojectPhase</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROJECTCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="true" />
-                <title>Project number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESPROJECTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <title>Salesproject Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Company</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesproject/entityfields/contact_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROJECTTITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <title>Project title</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROBABILITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Probability</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>SalesprojectProbability</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Status</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>SalesprojectState</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REASONS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="498" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Reason</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesproject/entityfields/reasons/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALESPROJECT_SOURCE</name>
-            <dbName></dbName>
-            <idColumn>SALESPROJECT_SOURCEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>SALESPROJECT_SOURCEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesproject source Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SOURCE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Touchpoint</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>SalesprojectSource</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ENTRYDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Info</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESPROJECT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesproject Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>SALESPROJECT</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>TIMETRACKING</name>
-            <dbName></dbName>
-            <idColumn>TIMETRACKINGID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TIMETRACKINGID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Timetracking Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MINUTES</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Time</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creator</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ROW_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Connection</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>ACTIVITY</name>
-            <dbName></dbName>
-            <idColumn>ACTIVITYID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DIRECTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Direction</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SUBJECT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Subject</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ENTRYDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Entry date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ACTIVITYID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Activity Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CATEGORY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Category</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PARENT_CONTEXT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="64" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Parent context</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PARENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Parent Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RESPONSIBLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Responsible</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALESORDER</name>
-            <dbName></dbName>
-            <idColumn>SALESORDERID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CURRENCY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Currency</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Language</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/language/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VERSNR</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Vers. no.</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>VAT</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FOOTER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Footer text</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>HEADER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Header text</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDERCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Receipt number</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESPROJECT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesproject</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Status</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>SalesorderState</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDERDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDER_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesorder Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Connection</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/contact_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NET</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Total net</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDERID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesorder Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ADDRESS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Address</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OFFER_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Offer</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALESORDERITEM</name>
-            <dbName></dbName>
-            <idColumn>SALESORDERITEMID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>UNIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Unit</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>QuantityUnit</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRICE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Unit price</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>QUANTITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Quantity</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VAT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>VAT in %</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRODUCT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Article</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DISCOUNT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Discount</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMPOSITION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Position</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OPTIONAL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Optional</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customBooleanProperty>
-                    <name>autoMapTrueFalse4Log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GROUPCODEID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Commodity group</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>ProductGroupcode</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMSORT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Item sort</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDER_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesorder Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>tableRef</name>
-                    <global v="false" />
-                    <property>SALESORDER</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ASSIGNEDTO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Assigned to</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESORDERITEMID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesorder item Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ITEMNAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="250" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Designation</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>TASK</name>
-            <dbName></dbName>
-            <idColumn>TASKID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>PRIORITY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>priority</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>TaskPriority</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MATURITY_DATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Maturity</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>EDITOR_CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>{$TASK_EDITOR}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/task/entityfields/editor_contact_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TASKID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Task Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$TASK_STATUS}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>TaskStatus</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REQUESTOR_CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>{$TASK_REQUESTOR}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customJDitoProperty>
-                    <name>translate4Log</name>
-                    <global v="false" />
-                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/task/entityfields/requestor_contact_id/customproperties/translate4log/property.js</property>
-                  </customJDitoProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SUBJECT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="254" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>subject</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROTECTIONLEVEL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Protected</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customBooleanProperty>
-                    <name>autoMapTrueFalse4Log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>START_DATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Begin</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="false" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>TaskType</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PARENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Parent Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PARENT_CONTEXT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="64" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Parent context</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PROGRESS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Progress</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                  <customStringProperty>
-                    <name>keyword</name>
-                    <global v="false" />
-                    <property>TaskProgress</property>
-                  </customStringProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_OBJECTRELATION</name>
-            <dbName></dbName>
-            <idColumn>AB_OBJECTRELATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT2_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object 2 row Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT1_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object 1 row Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_OBJECTRELATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object relation</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPE1</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object relation type 1</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPE2</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object relation type 2</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Info</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_ATTRIBUTEUSAGE</name>
-            <dbName></dbName>
-            <idColumn>AB_ATTRIBUTEUSAGEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>AB_ATTRIBUTEUSAGEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Attribute usage Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_ATTRIBUTE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Attribute Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Module</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MIN_COUNT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Minimal count</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MAX_COUNT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Maximal count</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_ATTRIBUTE</name>
-            <dbName></dbName>
-            <idColumn>AB_ATTRIBUTEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>ATTRIBUTE_NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ATTRIBUTE_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_ATTRIBUTEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Attribute Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ATTRIBUTE_ACTIVE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Active</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ATTRIBUTE_PARENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Superordinate Attribute</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DROPDOWNDEFINITION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Keyword</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SORTING</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Sorting</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ATTRIBUTE_INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_ATTRIBUTERELATION</name>
-            <dbName></dbName>
-            <idColumn>AB_ATTRIBUTERELATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object row Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NUMBER_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Number value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_ATTRIBUTERELATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Attribute relation Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CHAR_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="512" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Char value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_ATTRIBUTE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Attribute</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ID_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Id value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INT_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Int value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>ACTIVITYLINK</name>
-            <dbName></dbName>
-            <idColumn>ACTIVITYLINKID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_OBJECT}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ACTIVITYLINKID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Activity link Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ACTIVITY_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Activity Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_TYPE}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation date</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Modification user</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_KEYWORD_ENTRY</name>
-            <dbName></dbName>
-            <idColumn>AB_KEYWORD_ENTRYID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>ISESSENTIAL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Relational</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTAINER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Container</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SORTING</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Sorting</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Title</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>KEYID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Key</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ISACTIVE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Active</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_KEYWORD_ENTRYID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Keyword entry Id</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_LANGUAGE</name>
-            <dbName></dbName>
-            <idColumn>ISO3</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>NAME_LATIN</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Name latin</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME_NATIVE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Name native</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ISO3</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>ISO3</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ISACTIVE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Is active</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ISO2</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="2" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>ISO2</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_KEYWORD_ATTRIBUTE</name>
-            <dbName></dbName>
-            <idColumn>AB_KEYWORD_ATTRIBUTEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>AB_KEYWORD_ATTRIBUTEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Keyword attribute Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTAINER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Container</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Name</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_KEYWORD_ATTRIBUTERELATION</name>
-            <dbName></dbName>
-            <idColumn>AB_KEYWORD_ATTRIBUTERELATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CHAR_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>CHAR VALUE</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BOOL_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="5" />
-                <size v="5" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>BOOL VALUE</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_KEYWORD_ATTRIBUTERELATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Keyword attribute relation Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NUMBER_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>NUMBER VALUE</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_KEYWORD_ENTRY_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Keyword entry Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_KEYWORD_ATTRIBUTE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Keyword Attribute</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LONG_CHAR_VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_APPOINTMENTLINK</name>
-            <dbName></dbName>
-            <idColumn>AB_APPOINTMENTLINK_ID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_OBJECT}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_APPOINTMENTLINK_ID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Appointment link Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>APPOINTMENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Appointment Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_TYPE}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>TASKLINK</name>
-            <dbName></dbName>
-            <idColumn>TASKLINKID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_OBJECT}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>{$OBJECTLINK_TYPE}</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TASKLINKID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Task link Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TASK_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title>Task Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_OBJECTRELATIONTYPE</name>
-            <dbName></dbName>
-            <idColumn>AB_OBJECTRELATIONTYPEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object Relation Type</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SIDE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Side</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RELATION_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Relation Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Object Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RELATION_TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Relation Title</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>HIERARCHY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Hierarchy</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ICON</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALUTATION</name>
-            <dbName></dbName>
-            <idColumn>SALUTATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Language</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="200" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salutation</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SEX</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Sex</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SORT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Sort</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALUTATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salutation Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Title</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>HEADLINE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Headline</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LETTERSALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="200" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Letter salutation</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DATABASECHANGELOG</name>
-            <dbName></dbName>
-            <idColumn></idColumn>
-            <idGeneratorType v="1" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>EXECTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Exec type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATEEXECUTED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Data executed</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ORDEREXECUTED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Order executed</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>COMMENTS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Comments</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AUTHOR</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Author</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTEXTS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Contexts</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MD5SUM</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="35" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>MD5 Sum</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Desciption</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LIQUIBASE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="20" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Liquibase</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DEPLOYMENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Deployment Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TAG</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Tag</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LABELS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Labels</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FILENAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Filename</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DATABASECHANGELOGLOCK</name>
-            <dbName></dbName>
-            <idColumn>ID</idColumn>
-            <idGeneratorType v="1" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>LOCKGRANTED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Lock granted</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LOCKED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="16" />
-                <size v="1" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Locked</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LOCKEDBY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Locked by</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Id</title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_LOGHISTORY</name>
-            <dbName></dbName>
-            <idColumn>AB_LOGHISTORYID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="2" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>TABLENAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Tablename</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Description</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SOURCE_TABLENAMEID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Source tablename Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LOGTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="1" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Log type</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SOURCE_TABLENAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Source tablename</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TABLENAMEID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Tablename Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Creation user</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>SALESPROJECT_MILESTONE</name>
-            <dbName></dbName>
-            <idColumn>SALESPROJECT_MILESTONEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="1" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DATE_START</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date start</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VALUE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Value</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESPROJECT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesproject Id</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Type</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_END</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Date end</title>
-                <description></description>
-                <customProperties>
-                  <customBooleanProperty>
-                    <name>log</name>
-                    <global v="false" />
-                    <property v="true" />
-                  </customBooleanProperty>
-                </customProperties>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALESPROJECT_MILESTONEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title>Salesproject milestone Id</title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PARENT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CAMPAIGNPARTICIPANT</name>
-            <dbName></dbName>
-            <idColumn>CAMPAIGNPARTICIPANTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CAMPAIGN_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNPARTICIPANTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNSTEP_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DOCUMENTTEMPLATE</name>
-            <dbName></dbName>
-            <idColumn>DOCUMENTTEMPLATEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="500" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DOCUMENTTEMPLATEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DOCUMENTTEMPLATELINK</name>
-            <dbName></dbName>
-            <idColumn>DOCUMENTTEMPLATELINKID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DOCUMENTTEMPLATE_ID_PARENT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DOCUMENTTEMPLATELINKID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DOCUMENTTEMPLATE_ID_CHILD</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CAMPAIGN</name>
-            <dbName></dbName>
-            <idColumn>CAMPAIGNID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="500" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>EMPLOYEE_CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CAMPAIGNSTEP</name>
-            <dbName></dbName>
-            <idColumn>CAMPAIGNSTEPID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CAMPAIGN_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNSTEPID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="500" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_START</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>EMPLOYEE_CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SORTING</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MAXPARTICIPANTS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_END</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PREDECESSORSTEP_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STEPMEDIUM</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CAMPAIGNPARTICIPANTLOG</name>
-            <dbName></dbName>
-            <idColumn>CAMPAIGNPARTICIPANTLOGID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CAMPAIGN_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNPARTICIPANT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNPARTICIPANTLOGID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNSTEP_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CAMPAIGNCOST</name>
-            <dbName></dbName>
-            <idColumn>CAMPAIGNCOSTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CAMPAIGN_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNCOSTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CATEGORY</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="91" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NET</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CAMPAIGNSTEP_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CLASSIFICATIONTYPE</name>
-            <dbName></dbName>
-            <idColumn>CLASSIFICATIONTYPEID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>SCORETYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONTYPEID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONGROUP</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CLASSIFICATION</name>
-            <dbName></dbName>
-            <idColumn>CLASSIFICATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CLASSIFICATIONTYPE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONSCORE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>CLASSIFICATIONSCORE</name>
-            <dbName></dbName>
-            <idColumn>CLASSIFICATIONSCOREID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>SCORE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2" />
-                <size v="10" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONSCOREID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SORT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CLASSIFICATIONTYPE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>FORECAST</name>
-            <dbName></dbName>
-            <idColumn>FORECASTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GROUPCODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>FORECASTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>VOLUME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_START</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>COMPETITION</name>
-            <dbName></dbName>
-            <idColumn>COMPETITIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PHASE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>COMPETITIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>INFO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REASON</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_CANCELLED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>MEMBER</name>
-            <dbName></dbName>
-            <idColumn>MEMBERID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>ROLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DECIDER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="16" />
-                <size v="1" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MEMBERID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RELATIONSHIP</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>COMMRESTRICTION</name>
-            <dbName></dbName>
-            <idColumn>COMMRESTRICTIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>COMMRESTRICTIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>MEDIUM</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STARTDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>EMPLOYEE_INVOLVED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="250" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>REASON</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="250" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>BULKMAIL</name>
-            <dbName></dbName>
-            <idColumn>BULKMAILID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>DOCUMENTTEMPLATE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BULKMAILID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="500" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SUBJECT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>NAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SENDER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>BULKMAILRECIPIENT</name>
-            <dbName></dbName>
-            <idColumn>BULKMAILRECIPIENTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>STATUS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BULKMAIL_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>BULKMAILRECIPIENTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SENTDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>TICKET</name>
-            <dbName></dbName>
-            <idColumn>TICKETID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>CODE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TICKETID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TASK_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="true" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>TICKETTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DSGVO</name>
-            <dbName></dbName>
-            <idColumn>DSGVOID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>VALID_TO</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DSGVOID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>ROW_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>STATUORITYSOURCE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PURPOSE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DSGVOTYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DESCRIPTIONTRANSLATION</name>
-            <dbName></dbName>
-            <idColumn>DESCRIPTIONTRANSLATIONID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>OBJECT_ROWID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTIONTRANSLATIONID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DESCRIPTION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>OBJECT_TYPE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LANG</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>AB_UNLINKEDMAIL</name>
-            <dbName></dbName>
-            <idColumn>AB_UNLINKEDMAILID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>MAIL</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="2005" />
-                <size v="2147483647" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SENDER</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="1000" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SUBJECT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="200" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATE_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_NEW</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>AB_UNLINKEDMAILID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>RECIPIENTS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="4000" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>USER_EDIT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SENTDATE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="true" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-<<<<<<< HEAD
-            <name>DSGVOINFO</name>
-            <dbName></dbName>
-            <idColumn>DSGVOINFOID</idColumn>
-=======
-            <name>SERIALLETTER</name>
-            <dbName></dbName>
-            <idColumn>SERIALLETTERID</idColumn>
->>>>>>> origin/master
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-<<<<<<< HEAD
-                <name>RECIPIENT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>GUARANTEE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-=======
-                <name>DOCUMENTTEMPLATE_ID</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
->>>>>>> origin/master
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-<<<<<<< HEAD
-                <name>DSGVOINFOID</name>
-=======
-                <name>SERIALLETTERID</name>
->>>>>>> origin/master
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-<<<<<<< HEAD
-                <name>DATASOURCE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="100" />
-=======
-                <name>TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
->>>>>>> origin/master
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-<<<<<<< HEAD
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
-=======
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>LETTERRECIPIENT</name>
-            <dbName></dbName>
-            <idColumn>LETTERRECIPIENTID</idColumn>
-            <idGeneratorType v="0" />
-            <idGeneratorInterval v="1" />
-            <documentation></documentation>
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>SERIALLETTER_ID</name>
->>>>>>> origin/master
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-<<<<<<< HEAD
-                <name>TRANSMISSION</name>
-=======
-                <name>LETTERRECIPIENTID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>CONTACT_ID</name>
->>>>>>> origin/master
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-        </entities>
-      </entityGroup>
-    </aliasDefDb>
-  </aliasDefinitionSub>
-  <indexSearchGroups>
-    <indexSearchGroup>
-      <name>ORGANISATION</name>
-      <title>Company</title>
-      <icon>VAADIN:BUILDING</icon>
-      <idColumn>CONTACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js</query>
-      <subQueries>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/subQueries.js</subQueries>
-      <resultContextNeon>Organisation</resultContextNeon>
-      <affectedTables>
-        <element>ADDRESS</element>
-        <element>COMMUNICATION</element>
-        <element>CONTACT</element>
-        <element>ORGANISATION</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>PERSON</name>
-      <title>Contact</title>
-      <icon>VAADIN:USERS</icon>
-      <idColumn>CONTACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/query.js</query>
-      <subQueries>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/subQueries.js</subQueries>
-      <resultContextNeon>Person</resultContextNeon>
-      <affectedTables>
-        <element>ADDRESS</element>
-        <element>COMMUNICATION</element>
-        <element>PERSON</element>
-        <element>CONTACT</element>
-        <element>ORGANISATION</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>OFFER</name>
-      <title>Offer</title>
-      <icon>VAADIN:CART</icon>
-      <active v="true" />
-      <idColumn>OFFERID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js</query>
-      <resultContextNeon>Offer</resultContextNeon>
-      <affectedTables>
-        <element>OFFER</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/offer/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>SALESORDER</name>
-      <title>Receipt</title>
-      <icon>VAADIN:DOLLAR</icon>
-      <active v="true" />
-      <idColumn>SALESORDERID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js</query>
-      <resultContextNeon>Order</resultContextNeon>
-      <affectedTables>
-        <element>SALESORDER</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesorder/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>CONTRACT</name>
-      <title>Contract</title>
-      <icon>VAADIN:FILE_TEXT</icon>
-      <active v="true" />
-      <idColumn>CONTRACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js</query>
-      <resultContextNeon>Contract</resultContextNeon>
-      <affectedTables>
-        <element>CONTRACT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/contract/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>PRODUCT</name>
-      <title>Product</title>
-      <icon>VAADIN:HAMMER</icon>
-      <active v="true" />
-      <idColumn>PRODUCTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/product/query.js</query>
-      <resultContextNeon>Product</resultContextNeon>
-      <affectedTables>
-        <element>PRODUCT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/product/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>SALESPROJECT</name>
-      <title>Salesproject</title>
-      <icon>VAADIN:BOOK_DOLLAR</icon>
-      <active v="true" />
-      <idColumn>SALESPROJECTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js</query>
-      <resultContextNeon>Salesproject</resultContextNeon>
-      <affectedTables>
-        <element>SALESPROJECT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesproject/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-  </indexSearchGroups>
-</aliasDefinition>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod.orig b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod.orig
deleted file mode 100644
index 43e9e5efe9..0000000000
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod.orig
+++ /dev/null
@@ -1,4854 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<language xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/language/1.2.0">
-  <name>_____LANGUAGE_EXTRA</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <keyValueMap>
-    <entry>
-      <key>Company</key>
-    </entry>
-    <entry>
-      <key>E-Mail</key>
-    </entry>
-    <entry>
-      <key>Male</key>
-    </entry>
-    <entry>
-      <key>Activity</key>
-    </entry>
-    <entry>
-      <key>Name</key>
-    </entry>
-    <entry>
-      <key>Austria</key>
-    </entry>
-    <entry>
-      <key>Customercode</key>
-    </entry>
-    <entry>
-      <key>Status</key>
-    </entry>
-    <entry>
-      <key>Active</key>
-    </entry>
-    <entry>
-      <key>Medium</key>
-    </entry>
-    <entry>
-      <key>Internet</key>
-    </entry>
-    <entry>
-      <key>Germany</key>
-    </entry>
-    <entry>
-      <key>Online-Meeting</key>
-    </entry>
-    <entry>
-      <key>Social Media</key>
-    </entry>
-    <entry>
-      <key>Visit</key>
-    </entry>
-    <entry>
-      <key>Information</key>
-    </entry>
-    <entry>
-      <key>Language</key>
-    </entry>
-    <entry>
-      <key>Phone</key>
-    </entry>
-    <entry>
-      <key>Activities</key>
-    </entry>
-    <entry>
-      <key>Female</key>
-    </entry>
-    <entry>
-      <key>Contactmanagement</key>
-    </entry>
-    <entry>
-      <key>Office address</key>
-    </entry>
-    <entry>
-      <key>${HIGHER_THAN_MAX} max: %0</key>
-    </entry>
-    <entry>
-      <key>Contact</key>
-    </entry>
-    <entry>
-      <key>Home address</key>
-    </entry>
-    <entry>
-      <key>Type</key>
-    </entry>
-    <entry>
-      <key>Contacts</key>
-    </entry>
-    <entry>
-      <key>Norway</key>
-    </entry>
-    <entry>
-      <key>Address</key>
-    </entry>
-    <entry>
-      <key>Addresses</key>
-    </entry>
-    <entry>
-      <key>${COMM_ADDRESS}</key>
-    </entry>
-    <entry>
-      <key>Gender</key>
-    </entry>
-    <entry>
-      <key>Date of birth</key>
-    </entry>
-    <entry>
-      <key>Lastname</key>
-    </entry>
-    <entry>
-      <key>Salutation</key>
-    </entry>
-    <entry>
-      <key>Middlename</key>
-    </entry>
-    <entry>
-      <key>Title</key>
-    </entry>
-    <entry>
-      <key>Addresstype</key>
-    </entry>
-    <entry>
-      <key>Firstname</key>
-    </entry>
-    <entry>
-      <key>Description</key>
-    </entry>
-    <entry>
-      <key>Direction</key>
-    </entry>
-    <entry>
-      <key>Entrydate</key>
-    </entry>
-    <entry>
-      <key>Subject</key>
-    </entry>
-    <entry>
-      <key>Post office box</key>
-    </entry>
-    <entry>
-      <key>Delivery address</key>
-    </entry>
-    <entry>
-      <key>House number</key>
-    </entry>
-    <entry>
-      <key>Country</key>
-    </entry>
-    <entry>
-      <key>Communication</key>
-    </entry>
-    <entry>
-      <key>postcode</key>
-    </entry>
-    <entry>
-      <key>City</key>
-    </entry>
-    <entry>
-      <key>State</key>
-    </entry>
-    <entry>
-      <key>Region</key>
-    </entry>
-    <entry>
-      <key>District</key>
-    </entry>
-    <entry>
-      <key>Switzerland</key>
-    </entry>
-    <entry>
-      <key>Internal (2)</key>
-    </entry>
-    <entry>
-      <key>Company Addresses</key>
-    </entry>
-    <entry>
-      <key>yyyyMMdd</key>
-    </entry>
-    <entry>
-      <key>standard address</key>
-    </entry>
-    <entry>
-      <key>PP</key>
-    </entry>
-    <entry>
-      <key>VAT</key>
-    </entry>
-    <entry>
-      <key>The expiry date must be after the start date!</key>
-    </entry>
-    <entry>
-      <key>Product</key>
-    </entry>
-    <entry>
-      <key>Developer</key>
-    </entry>
-    <entry>
-      <key>Valid until</key>
-    </entry>
-    <entry>
-      <key>Price list</key>
-    </entry>
-    <entry>
-      <key>Currency</key>
-    </entry>
-    <entry>
-      <key>Payment method</key>
-    </entry>
-    <entry>
-      <key>Price list / Company</key>
-    </entry>
-    <entry>
-      <key>Curr. sales price</key>
-    </entry>
-    <entry>
-      <key>Contract</key>
-    </entry>
-    <entry>
-      <key>Stock</key>
-    </entry>
-    <entry>
-      <key>PP/SP</key>
-    </entry>
-    <entry>
-      <key>Next due date</key>
-    </entry>
-    <entry>
-      <key>Discount</key>
-    </entry>
-    <entry>
-      <key>The next due date must be after the start of the contract and before the expiry of the contract!</key>
-    </entry>
-    <entry>
-      <key>Sales</key>
-    </entry>
-    <entry>
-      <key>Contract number</key>
-    </entry>
-    <entry>
-      <key>Min. stock</key>
-    </entry>
-    <entry>
-      <key>SP</key>
-    </entry>
-    <entry>
-      <key>Commodity group 3</key>
-    </entry>
-    <entry>
-      <key>Commodity group 2</key>
-    </entry>
-    <entry>
-      <key>Commodity group 1</key>
-    </entry>
-    <entry>
-      <key>Contract start date</key>
-    </entry>
-    <entry>
-      <key>Spare parts</key>
-    </entry>
-    <entry>
-      <key>Unit</key>
-    </entry>
-    <entry>
-      <key>Contract expiry date</key>
-    </entry>
-    <entry>
-      <key>Yes</key>
-    </entry>
-    <entry>
-      <key>Type of contract</key>
-    </entry>
-    <entry>
-      <key>No</key>
-    </entry>
-    <entry>
-      <key>Service</key>
-    </entry>
-    <entry>
-      <key>Cancelled</key>
-    </entry>
-    <entry>
-      <key>Advertising material</key>
-    </entry>
-    <entry>
-      <key>Valid from</key>
-    </entry>
-    <entry>
-      <key>Product name</key>
-    </entry>
-    <entry>
-      <key>Product group</key>
-    </entry>
-    <entry>
-      <key>${CONTRACT_STATUS}</key>
-    </entry>
-    <entry>
-      <key>From no. of units</key>
-    </entry>
-    <entry>
-      <key>Price</key>
-    </entry>
-    <entry>
-      <key>Conditions</key>
-    </entry>
-    <entry>
-      <key>Standard</key>
-    </entry>
-    <entry>
-      <key>I / O</key>
-    </entry>
-    <entry>
-      <key>Date</key>
-    </entry>
-    <entry>
-      <key>IN</key>
-    </entry>
-    <entry>
-      <key>OUT</key>
-    </entry>
-    <entry>
-      <key>Warehouse</key>
-    </entry>
-    <entry>
-      <key>Reference</key>
-    </entry>
-    <entry>
-      <key>The contract number already exists!</key>
-    </entry>
-    <entry>
-      <key>The product number already exists!</key>
-    </entry>
-    <entry>
-      <key>Quantity</key>
-    </entry>
-    <entry>
-      <key>Salesproject</key>
-    </entry>
-    <entry>
-      <key>Rollout</key>
-    </entry>
-    <entry>
-      <key>Phase</key>
-    </entry>
-    <entry>
-      <key>Product number</key>
-    </entry>
-    <entry>
-      <key>Project number</key>
-    </entry>
-    <entry>
-      <key>Project title</key>
-    </entry>
-    <entry>
-      <key>Project start</key>
-    </entry>
-    <entry>
-      <key>Volume</key>
-    </entry>
-    <entry>
-      <key>Partial order</key>
-    </entry>
-    <entry>
-      <key>Open</key>
-    </entry>
-    <entry>
-      <key>Lost</key>
-    </entry>
-    <entry>
-      <key>Order</key>
-    </entry>
-    <entry>
-      <key>Postponed</key>
-    </entry>
-    <entry>
-      <key>Aborted</key>
-    </entry>
-    <entry>
-      <key>Total net</key>
-    </entry>
-    <entry>
-      <key>Offer</key>
-    </entry>
-    <entry>
-      <key>Offer number</key>
-    </entry>
-    <entry>
-      <key>Probability</key>
-    </entry>
-    <entry>
-      <key>Total VAT</key>
-    </entry>
-    <entry>
-      <key>The offer number already exists!</key>
-    </entry>
-    <entry>
-      <key>0 %</key>
-    </entry>
-    <entry>
-      <key>75 %</key>
-    </entry>
-    <entry>
-      <key>100 %</key>
-    </entry>
-    <entry>
-      <key>25 %</key>
-    </entry>
-    <entry>
-      <key>50 %</key>
-    </entry>
-    <entry>
-      <key>Won</key>
-    </entry>
-    <entry>
-      <key>Checked</key>
-    </entry>
-    <entry>
-      <key>Sent</key>
-    </entry>
-    <entry>
-      <key>Offeritems</key>
-    </entry>
-    <entry>
-      <key>Header text</key>
-    </entry>
-    <entry>
-      <key>Commodity group</key>
-    </entry>
-    <entry>
-      <key>Footer text</key>
-    </entry>
-    <entry>
-      <key>Designation</key>
-    </entry>
-    <entry>
-      <key>Position</key>
-    </entry>
-    <entry>
-      <key>Optional</key>
-    </entry>
-    <entry>
-      <key>Article</key>
-    </entry>
-    <entry>
-      <key>Offeritem</key>
-    </entry>
-    <entry>
-      <key>Sum</key>
-    </entry>
-    <entry>
-      <key>Option4</key>
-    </entry>
-    <entry>
-      <key>Option3</key>
-    </entry>
-    <entry>
-      <key>Option2</key>
-    </entry>
-    <entry>
-      <key>Option1</key>
-    </entry>
-    <entry>
-      <key>Countries</key>
-    </entry>
-    <entry>
-      <key>Options</key>
-    </entry>
-    <entry>
-      <key>Total gross</key>
-    </entry>
-    <entry>
-      <key>Identical price list found!</key>
-    </entry>
-    <entry>
-      <key>Parts list</key>
-    </entry>
-    <entry>
-      <key>Parent</key>
-    </entry>
-    <entry>
-      <key>${EURO_SIGN}</key>
-    </entry>
-    <entry>
-      <key>Planned</key>
-    </entry>
-    <entry>
-      <key>Info</key>
-    </entry>
-    <entry>
-      <key>${VOLUME_MONEY}</key>
-    </entry>
-    <entry>
-      <key>Milestones</key>
-    </entry>
-    <entry>
-      <key>Excreted</key>
-    </entry>
-    <entry>
-      <key>Reason</key>
-    </entry>
-    <entry>
-      <key>Document</key>
-    </entry>
-    <entry>
-      <key>Competition</key>
-    </entry>
-    <entry>
-      <key>Forecast</key>
-    </entry>
-    <entry>
-      <key>Role</key>
-    </entry>
-    <entry>
-      <key>End date</key>
-    </entry>
-    <entry>
-      <key>Documents</key>
-    </entry>
-    <entry>
-      <key>New offer version</key>
-    </entry>
-    <entry>
-      <key>Copy offer</key>
-    </entry>
-    <entry>
-      <key>Vers. no.</key>
-    </entry>
-    <entry>
-      <key>Curr. purchase price</key>
-    </entry>
-    <entry>
-      <key>Contracts</key>
-    </entry>
-    <entry>
-      <key>Classification</key>
-    </entry>
-    <entry>
-      <key>High price strategy</key>
-    </entry>
-    <entry>
-      <key>Low price strategy</key>
-    </entry>
-    <entry>
-      <key>Other</key>
-    </entry>
-    <entry>
-      <key>Individual</key>
-    </entry>
-    <entry>
-      <key>Please update the ${FORECAST_ENGLISH}.</key>
-    </entry>
-    <entry>
-      <key>Value</key>
-    </entry>
-    <entry>
-      <key>no valid format</key>
-    </entry>
-    <entry>
-      <key>Pos.</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-3</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-2</key>
-    </entry>
-    <entry>
-      <key>0.00</key>
-    </entry>
-    <entry>
-      <key>Relationship</key>
-    </entry>
-    <entry>
-      <key>${BINARY_LIB_TOO_MANY_BINARIES}</key>
-    </entry>
-    <entry>
-      <key>Native Name</key>
-    </entry>
-    <entry>
-      <key>#,##0</key>
-    </entry>
-    <entry>
-      <key>New offer</key>
-    </entry>
-    <entry>
-      <key>dd.MM.yyyy</key>
-    </entry>
-    <entry>
-      <key>Edit defaults</key>
-    </entry>
-    <entry>
-      <key>no valid mail-address format</key>
-    </entry>
-    <entry>
-      <key>#,##0.00</key>
-    </entry>
-    <entry>
-      <key>Latin Name</key>
-    </entry>
-    <entry>
-      <key>Organisation name</key>
-    </entry>
-    <entry>
-      <key>Connection</key>
-    </entry>
-    <entry>
-      <key>standard email</key>
-    </entry>
-    <entry>
-      <key>Creator</key>
-    </entry>
-    <entry>
-      <key>Timetracking</key>
-    </entry>
-    <entry>
-      <key>Further informations</key>
-    </entry>
-    <entry>
-      <key>Social</key>
-    </entry>
-    <entry>
-      <key>Facebook Feed</key>
-    </entry>
-    <entry>
-      <key>Group1</key>
-    </entry>
-    <entry>
-      <key>Group2</key>
-    </entry>
-    <entry>
-      <key>Details</key>
-    </entry>
-    <entry>
-      <key>Prices</key>
-    </entry>
-    <entry>
-      <key>Twitter</key>
-    </entry>
-    <entry>
-      <key>Connections</key>
-    </entry>
-    <entry>
-      <key>Object</key>
-    </entry>
-    <entry>
-      <key>Attributes</key>
-    </entry>
-    <entry>
-      <key>Facebook</key>
-    </entry>
-    <entry>
-      <key>Creation date</key>
-    </entry>
-    <entry>
-      <key>Maindocuments</key>
-    </entry>
-    <entry>
-      <key>Receipt</key>
-    </entry>
-    <entry>
-      <key>Receipt number</key>
-    </entry>
-    <entry>
-      <key>Year</key>
-    </entry>
-    <entry>
-      <key>New receipt version</key>
-    </entry>
-    <entry>
-      <key>Orderitems</key>
-    </entry>
-    <entry>
-      <key>Sent receipts</key>
-    </entry>
-    <entry>
-      <key>Copy receipt</key>
-    </entry>
-    <entry>
-      <key>Orderitem</key>
-    </entry>
-    <entry>
-      <key>The order number already exists!</key>
-    </entry>
-    <entry>
-      <key>New activity</key>
-    </entry>
-    <entry>
-      <key>Turnover</key>
-    </entry>
-    <entry>
-      <key>Sent offers</key>
-    </entry>
-    <entry>
-      <key>Show all activities</key>
-    </entry>
-    <entry>
-      <key>Offers</key>
-    </entry>
-    <entry>
-      <key>Show all sent offers</key>
-    </entry>
-    <entry>
-      <key>Show my activities</key>
-    </entry>
-    <entry>
-      <key>Show all receipts</key>
-    </entry>
-    <entry>
-      <key>Receipts</key>
-    </entry>
-    <entry>
-      <key>My Activities</key>
-    </entry>
-    <entry>
-      <key>Show all offers</key>
-    </entry>
-    <entry>
-      <key>Show all products</key>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of a user</key>
-    </entry>
-    <entry>
-      <key>Show all tweets of a user</key>
-    </entry>
-    <entry>
-      <key>Show all companies</key>
-    </entry>
-    <entry>
-      <key>Show all tweets of ADITO</key>
-    </entry>
-    <entry>
-      <key>Show all sent receipts</key>
-    </entry>
-    <entry>
-      <key>Products</key>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of ADITO</key>
-    </entry>
-    <entry>
-      <key>Companies</key>
-    </entry>
-    <entry>
-      <key>Show all contacts</key>
-    </entry>
-    <entry>
-      <key>Show open salesprojects</key>
-    </entry>
-    <entry>
-      <key>Show all contracts</key>
-    </entry>
-    <entry>
-      <key>Salesprojects</key>
-    </entry>
-    <entry>
-      <key>Show all salesprojects</key>
-    </entry>
-    <entry>
-      <key>Open salesprojects</key>
-    </entry>
-    <entry>
-      <key>July</key>
-    </entry>
-    <entry>
-      <key>ADITO Facebook Feed</key>
-    </entry>
-    <entry>
-      <key>ADITO Twitter Feed</key>
-    </entry>
-    <entry>
-      <key>June</key>
-    </entry>
-    <entry>
-      <key>October</key>
-    </entry>
-    <entry>
-      <key>Take price</key>
-    </entry>
-    <entry>
-      <key>Twitter Feed</key>
-    </entry>
-    <entry>
-      <key>November</key>
-    </entry>
-    <entry>
-      <key>December</key>
-    </entry>
-    <entry>
-      <key>May</key>
-    </entry>
-    <entry>
-      <key>April</key>
-    </entry>
-    <entry>
-      <key>January</key>
-    </entry>
-    <entry>
-      <key>March</key>
-    </entry>
-    <entry>
-      <key>September</key>
-    </entry>
-    <entry>
-      <key>August</key>
-    </entry>
-    <entry>
-      <key>Category</key>
-    </entry>
-    <entry>
-      <key>February</key>
-    </entry>
-    <entry>
-      <key>Abomodel</key>
-    </entry>
-    <entry>
-      <key>Confirmed</key>
-    </entry>
-    <entry>
-      <key>OutOfOffice</key>
-    </entry>
-    <entry>
-      <key>Articledescription</key>
-    </entry>
-    <entry>
-      <key>Articlenumber</key>
-    </entry>
-    <entry>
-      <key>Industry</key>
-    </entry>
-    <entry>
-      <key>Put Reciever Into To</key>
-    </entry>
-    <entry>
-      <key>Unitprice</key>
-    </entry>
-    <entry>
-      <key>Free</key>
-    </entry>
-    <entry>
-      <key>Total</key>
-    </entry>
-    <entry>
-      <key>yearly series not specified</key>
-    </entry>
-    <entry>
-      <key>no standard email office</key>
-    </entry>
-    <entry>
-      <key>Conditions of payment</key>
-    </entry>
-    <entry>
-      <key>Number</key>
-    </entry>
-    <entry>
-      <key>Amount</key>
-    </entry>
-    <entry>
-      <key>Deliveryspecification</key>
-    </entry>
-    <entry>
-      <key>Ignore daily series</key>
-    </entry>
-    <entry>
-      <key>Tentative</key>
-    </entry>
-    <entry>
-      <key>Ignore series</key>
-    </entry>
-    <entry>
-      <key>Plus Salestax</key>
-    </entry>
-    <entry>
-      <key>Choose address</key>
-    </entry>
-    <entry>
-      <key>Customer Base Sheet</key>
-    </entry>
-    <entry>
-      <key>{$TASK_STATUS}</key>
-    </entry>
-    <entry>
-      <key>Task</key>
-    </entry>
-    <entry>
-      <key>subject</key>
-    </entry>
-    <entry>
-      <key>{$TASK_REQUESTOR}</key>
-    </entry>
-    <entry>
-      <key>task number</key>
-    </entry>
-    <entry>
-      <key>{$TASK_EDITOR}</key>
-    </entry>
-    <entry>
-      <key>description</key>
-    </entry>
-    <entry>
-      <key>priority</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_HIGH}</key>
-    </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
-    <entry>
-      <key>Senden per E-Mail</key>
-    </entry>
-    <entry>
-      <key>Betreff</key>
-    </entry>
-    <entry>
-      <key>title</key>
-    </entry>
-    <entry>
-      <key>von</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_LOW}</key>
-    </entry>
-    <entry>
-      <key>Nur Eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NORMAL}</key>
-    </entry>
-    <entry>
-      <key>Beschreibung</key>
-    </entry>
-    <entry>
-      <key>Unit price</key>
-    </entry>
-    <entry>
-      <key>type</key>
-    </entry>
-    <entry>
-      <key>Benutzer</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NONE}</key>
-    </entry>
-    <entry>
-      <key>Termin</key>
-    </entry>
-    <entry>
-      <key>Vorschau</key>
-    </entry>
-    <entry>
-      <key>Angebot</key>
-    </entry>
-    <entry>
-      <key>details</key>
-    </entry>
-    <entry>
-      <key>Contact type</key>
-    </entry>
-    <entry>
-      <key>Communication data</key>
-    </entry>
-    <entry>
-      <key>Remark</key>
-    </entry>
-    <entry>
-      <key>Department</key>
-    </entry>
-    <entry>
-      <key>Tasks</key>
-    </entry>
-    <entry>
-      <key>Employee</key>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_MEMBER}</key>
-    </entry>
-    <entry>
-      <key>responsible</key>
-    </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
-    <entry>
-      <key>Person</key>
-    </entry>
-    <entry>
-      <key>Detail</key>
-    </entry>
-    <entry>
-      <key>Relations</key>
-    </entry>
-    <entry>
-      <key>${FORECAST_ENGLISH}</key>
-    </entry>
-    <entry>
-      <key>Usage</key>
-    </entry>
-    <entry>
-      <key>Maximal Count</key>
-    </entry>
-    <entry>
-      <key>Minimal Count</key>
-    </entry>
-    <entry>
-      <key>${ADDRESS_STATE}</key>
-    </entry>
-    <entry>
-      <key>Title (original language)</key>
-    </entry>
-    <entry>
-      <key>Key</key>
-    </entry>
-    <entry>
-      <key>Attribute</key>
-    </entry>
-    <entry>
-      <key>Container</key>
-    </entry>
-    <entry>
-      <key>Administration</key>
-    </entry>
-    <entry>
-      <key>Keyword</key>
-    </entry>
-    <entry>
-      <key>Sorting</key>
-    </entry>
-    <entry>
-      <key>jdito</key>
-    </entry>
-    <entry>
-      <key>Time expenses</key>
-    </entry>
-    <entry>
-      <key>Context id</key>
-    </entry>
-    <entry>
-      <key>Context name</key>
-    </entry>
-    <entry>
-      <key>Cambodia</key>
-    </entry>
-    <entry>
-      <key>Resigned</key>
-    </entry>
-    <entry>
-      <key>Customer</key>
-    </entry>
-    <entry>
-      <key>Outgoing</key>
-    </entry>
-    <entry>
-      <key>Paraguay</key>
-    </entry>
-    <entry>
-      <key>Solomon Islands</key>
-    </entry>
-    <entry>
-      <key>Montserrat</key>
-    </entry>
-    <entry>
-      <key>Guadeloupe</key>
-    </entry>
-    <entry>
-      <key>Product_technic</key>
-    </entry>
-    <entry>
-      <key>Moldova (Republic of)</key>
-    </entry>
-    <entry>
-      <key>Seychelles</key>
-    </entry>
-    <entry>
-      <key>Canadian dollar</key>
-    </entry>
-    <entry>
-      <key>Bahrain</key>
-    </entry>
-    <entry>
-      <key>Comoros</key>
-    </entry>
-    <entry>
-      <key>Faroe Islands</key>
-    </entry>
-    <entry>
-      <key>Finland</key>
-    </entry>
-    <entry>
-      <key>Project_duration</key>
-    </entry>
-    <entry>
-      <key>Company_internationality</key>
-    </entry>
-    <entry>
-      <key>Eritrea</key>
-    </entry>
-    <entry>
-      <key>Puerto Rico</key>
-    </entry>
-    <entry>
-      <key>Viet Nam</key>
-    </entry>
-    <entry>
-      <key>Libya</key>
-    </entry>
-    <entry>
-      <key>French</key>
-    </entry>
-    <entry>
-      <key>Cocos (Keeling) Islands</key>
-    </entry>
-    <entry>
-      <key>Saint Helena, Ascension and Tristan da Cunha</key>
-    </entry>
-    <entry>
-      <key>Liechtenstein</key>
-    </entry>
-    <entry>
-      <key>Product_functionality</key>
-    </entry>
-    <entry>
-      <key>Bulgaria</key>
-    </entry>
-    <entry>
-      <key>Jordan</key>
-    </entry>
-    <entry>
-      <key>Côte d'Ivoire</key>
-    </entry>
-    <entry>
-      <key>United Arab Emirates</key>
-    </entry>
-    <entry>
-      <key>Kenya</key>
-    </entry>
-    <entry>
-      <key>None, individual count</key>
-    </entry>
-    <entry>
-      <key>French Polynesia</key>
-    </entry>
-    <entry>
-      <key>Djibouti</key>
-    </entry>
-    <entry>
-      <key>Cuba</key>
-    </entry>
-    <entry>
-      <key>Saint Lucia</key>
-    </entry>
-    <entry>
-      <key>Mayotte</key>
-    </entry>
-    <entry>
-      <key>Israel</key>
-    </entry>
-    <entry>
-      <key>San Marino</key>
-    </entry>
-    <entry>
-      <key>Tajikistan</key>
-    </entry>
-    <entry>
-      <key>Warehouse 2</key>
-    </entry>
-    <entry>
-      <key>Warehouse 1</key>
-    </entry>
-    <entry>
-      <key>Gibraltar</key>
-    </entry>
-    <entry>
-      <key>Warehouse 3</key>
-    </entry>
-    <entry>
-      <key>Cyprus</key>
-    </entry>
-    <entry>
-      <key>Semiannually</key>
-    </entry>
-    <entry>
-      <key>Northern Mariana Islands</key>
-    </entry>
-    <entry>
-      <key>Malaysia</key>
-    </entry>
-    <entry>
-      <key>Armenia</key>
-    </entry>
-    <entry>
-      <key>Brazil</key>
-    </entry>
-    <entry>
-      <key>Turks and Caicos Islands</key>
-    </entry>
-    <entry>
-      <key>Cabo Verde</key>
-    </entry>
-    <entry>
-      <key>Ecuador</key>
-    </entry>
-    <entry>
-      <key>Iran (Islamic Republic of)</key>
-    </entry>
-    <entry>
-      <key>Decision maker</key>
-    </entry>
-    <entry>
-      <key>Lao People's Democratic Republic</key>
-    </entry>
-    <entry>
-      <key>Maintenance contract</key>
-    </entry>
-    <entry>
-      <key>United States Minor Outlying Islands</key>
-    </entry>
-    <entry>
-      <key>Italy</key>
-    </entry>
-    <entry>
-      <key>${ORGTYPE_OTHER}</key>
-    </entry>
-    <entry>
-      <key>Haiti</key>
-    </entry>
-    <entry>
-      <key>Afghanistan</key>
-    </entry>
-    <entry>
-      <key>Russian Federation</key>
-    </entry>
-    <entry>
-      <key>waiting</key>
-    </entry>
-    <entry>
-      <key>American Samoa</key>
-    </entry>
-    <entry>
-      <key>Korea (Democratic People's Republic of)</key>
-    </entry>
-    <entry>
-      <key>United States dollar</key>
-    </entry>
-    <entry>
-      <key>Kyrgyzstan</key>
-    </entry>
-    <entry>
-      <key>Togo</key>
-    </entry>
-    <entry>
-      <key>Other_existing Customer</key>
-    </entry>
-    <entry>
-      <key>Uzbekistan</key>
-    </entry>
-    <entry>
-      <key>Dominica</key>
-    </entry>
-    <entry>
-      <key>Benin</key>
-    </entry>
-    <entry>
-      <key>Liter</key>
-    </entry>
-    <entry>
-      <key>Virgin Islands (British)</key>
-    </entry>
-    <entry>
-      <key>Sudan</key>
-    </entry>
-    <entry>
-      <key>Portugal</key>
-    </entry>
-    <entry>
-      <key>Grenada</key>
-    </entry>
-    <entry>
-      <key>Latvia</key>
-    </entry>
-    <entry>
-      <key>Mongolia</key>
-    </entry>
-    <entry>
-      <key>Morocco</key>
-    </entry>
-    <entry>
-      <key>Guatemala</key>
-    </entry>
-    <entry>
-      <key>Pieces</key>
-    </entry>
-    <entry>
-      <key>Heard Island and McDonald Islands</key>
-    </entry>
-    <entry>
-      <key>Incoming</key>
-    </entry>
-    <entry>
-      <key>Ghana</key>
-    </entry>
-    <entry>
-      <key>Holy See</key>
-    </entry>
-    <entry>
-      <key>India</key>
-    </entry>
-    <entry>
-      <key>Canada</key>
-    </entry>
-    <entry>
-      <key>Maldives</key>
-    </entry>
-    <entry>
-      <key>Service contract</key>
-    </entry>
-    <entry>
-      <key>Taiwan</key>
-    </entry>
-    <entry>
-      <key>Central African Republic</key>
-    </entry>
-    <entry>
-      <key>Fiji</key>
-    </entry>
-    <entry>
-      <key>Guinea</key>
-    </entry>
-    <entry>
-      <key>Somalia</key>
-    </entry>
-    <entry>
-      <key>Sao Tome and Principe</key>
-    </entry>
-    <entry>
-      <key>United Kingdom of Great Britain and Northern Ireland</key>
-    </entry>
-    <entry>
-      <key>Equatorial Guinea</key>
-    </entry>
-    <entry>
-      <key>Kiribati</key>
-    </entry>
-    <entry>
-      <key>Costa Rica</key>
-    </entry>
-    <entry>
-      <key>Supplier</key>
-    </entry>
-    <entry>
-      <key>Nigeria</key>
-    </entry>
-    <entry>
-      <key>Syrian Arab Republic</key>
-    </entry>
-    <entry>
-      <key>Timor-Leste</key>
-    </entry>
-    <entry>
-      <key>Product_mobile use</key>
-    </entry>
-    <entry>
-      <key>Samoa</key>
-    </entry>
-    <entry>
-      <key>Spain</key>
-    </entry>
-    <entry>
-      <key>Palau</key>
-    </entry>
-    <entry>
-      <key>Prospect</key>
-    </entry>
-    <entry>
-      <key>Estonia</key>
-    </entry>
-    <entry>
-      <key>Not signed yet</key>
-    </entry>
-    <entry>
-      <key>Niue</key>
-    </entry>
-    <entry>
-      <key>Mozambique</key>
-    </entry>
-    <entry>
-      <key>El Salvador</key>
-    </entry>
-    <entry>
-      <key>Guam</key>
-    </entry>
-    <entry>
-      <key>Lesotho</key>
-    </entry>
-    <entry>
-      <key>Tonga</key>
-    </entry>
-    <entry>
-      <key>Western Sahara</key>
-    </entry>
-    <entry>
-      <key>new</key>
-    </entry>
-    <entry>
-      <key>Adviser</key>
-    </entry>
-    <entry>
-      <key>Company_size</key>
-    </entry>
-    <entry>
-      <key>Republic of Kosovo</key>
-    </entry>
-    <entry>
-      <key>South Sudan</key>
-    </entry>
-    <entry>
-      <key>Mauritius</key>
-    </entry>
-    <entry>
-      <key>Bouvet Island</key>
-    </entry>
-    <entry>
-      <key>Bolivia (Plurinational State of)</key>
-    </entry>
-    <entry>
-      <key>Norfolk Island</key>
-    </entry>
-    <entry>
-      <key>Sint Maarten (Dutch part)</key>
-    </entry>
-    <entry>
-      <key>Micronesia (Federated States of)</key>
-    </entry>
-    <entry>
-      <key>Product_industry knowhow</key>
-    </entry>
-    <entry>
-      <key>United States of America</key>
-    </entry>
-    <entry>
-      <key>In review</key>
-    </entry>
-    <entry>
-      <key>Address purchase</key>
-    </entry>
-    <entry>
-      <key>Malta</key>
-    </entry>
-    <entry>
-      <key>Project_volume</key>
-    </entry>
-    <entry>
-      <key>Ireland</key>
-    </entry>
-    <entry>
-      <key>Inactive</key>
-    </entry>
-    <entry>
-      <key>France</key>
-    </entry>
-    <entry>
-      <key>Lithuania</key>
-    </entry>
-    <entry>
-      <key>Korea (Republic of)</key>
-    </entry>
-    <entry>
-      <key>${PRICELIST_SERVICE}</key>
-    </entry>
-    <entry>
-      <key>English</key>
-    </entry>
-    <entry>
-      <key>Nicaragua</key>
-    </entry>
-    <entry>
-      <key>Macao</key>
-    </entry>
-    <entry>
-      <key>Mexico</key>
-    </entry>
-    <entry>
-      <key>Uganda</key>
-    </entry>
-    <entry>
-      <key>Suriname</key>
-    </entry>
-    <entry>
-      <key>Greenland</key>
-    </entry>
-    <entry>
-      <key>Papua New Guinea</key>
-    </entry>
-    <entry>
-      <key>Kazakhstan</key>
-    </entry>
-    <entry>
-      <key>Åland Islands</key>
-    </entry>
-    <entry>
-      <key>Bahamas</key>
-    </entry>
-    <entry>
-      <key>Mali</key>
-    </entry>
-    <entry>
-      <key>Marshall Islands</key>
-    </entry>
-    <entry>
-      <key>Panama</key>
-    </entry>
-    <entry>
-      <key>Bonaire, Sint Eustatius and Saba</key>
-    </entry>
-    <entry>
-      <key>Tanzania, United Republic of</key>
-    </entry>
-    <entry>
-      <key>Argentina</key>
-    </entry>
-    <entry>
-      <key>Belize</key>
-    </entry>
-    <entry>
-      <key>Zambia</key>
-    </entry>
-    <entry>
-      <key>Congo</key>
-    </entry>
-    <entry>
-      <key>Guinea-Bissau</key>
-    </entry>
-    <entry>
-      <key>Namibia</key>
-    </entry>
-    <entry>
-      <key>External sales manager</key>
-    </entry>
-    <entry>
-      <key>Georgia</key>
-    </entry>
-    <entry>
-      <key>Saint Kitts and Nevis</key>
-    </entry>
-    <entry>
-      <key>Yemen</key>
-    </entry>
-    <entry>
-      <key>Aruba</key>
-    </entry>
-    <entry>
-      <key>Madagascar</key>
-    </entry>
-    <entry>
-      <key>Valid, unlimited</key>
-    </entry>
-    <entry>
-      <key>Svalbard and Jan Mayen</key>
-    </entry>
-    <entry>
-      <key>South Georgia and the South Sandwich Islands</key>
-    </entry>
-    <entry>
-      <key>Sweden</key>
-    </entry>
-    <entry>
-      <key>Malawi</key>
-    </entry>
-    <entry>
-      <key>Andorra</key>
-    </entry>
-    <entry>
-      <key>Poland</key>
-    </entry>
-    <entry>
-      <key>Tunisia</key>
-    </entry>
-    <entry>
-      <key>Tuvalu</key>
-    </entry>
-    <entry>
-      <key>Lebanon</key>
-    </entry>
-    <entry>
-      <key>Azerbaijan</key>
-    </entry>
-    <entry>
-      <key>Czech Republic</key>
-    </entry>
-    <entry>
-      <key>Mauritania</key>
-    </entry>
-    <entry>
-      <key>Guernsey</key>
-    </entry>
-    <entry>
-      <key>Kgs</key>
-    </entry>
-    <entry>
-      <key>Australia</key>
-    </entry>
-    <entry>
-      <key>Myanmar</key>
-    </entry>
-    <entry>
-      <key>Cameroon</key>
-    </entry>
-    <entry>
-      <key>Iceland</key>
-    </entry>
-    <entry>
-      <key>Oman</key>
-    </entry>
-    <entry>
-      <key>Gabon</key>
-    </entry>
-    <entry>
-      <key>Luxembourg</key>
-    </entry>
-    <entry>
-      <key>Algeria</key>
-    </entry>
-    <entry>
-      <key>Jersey</key>
-    </entry>
-    <entry>
-      <key>Slovenia</key>
-    </entry>
-    <entry>
-      <key>Antigua and Barbuda</key>
-    </entry>
-    <entry>
-      <key>Annually</key>
-    </entry>
-    <entry>
-      <key>Colombia</key>
-    </entry>
-    <entry>
-      <key>Project_reference</key>
-    </entry>
-    <entry>
-      <key>Vanuatu</key>
-    </entry>
-    <entry>
-      <key>Valid, limited</key>
-    </entry>
-    <entry>
-      <key>Honduras</key>
-    </entry>
-    <entry>
-      <key>Antarctica</key>
-    </entry>
-    <entry>
-      <key>Nauru</key>
-    </entry>
-    <entry>
-      <key>Burundi</key>
-    </entry>
-    <entry>
-      <key>Project manager</key>
-    </entry>
-    <entry>
-      <key>Singapore</key>
-    </entry>
-    <entry>
-      <key>French Guiana</key>
-    </entry>
-    <entry>
-      <key>Hours</key>
-    </entry>
-    <entry>
-      <key>Christmas Island</key>
-    </entry>
-    <entry>
-      <key>Netherlands</key>
-    </entry>
-    <entry>
-      <key>Product_flexibility</key>
-    </entry>
-    <entry>
-      <key>China</key>
-    </entry>
-    <entry>
-      <key>Martinique</key>
-    </entry>
-    <entry>
-      <key>Own website</key>
-    </entry>
-    <entry>
-      <key>Saint Pierre and Miquelon</key>
-    </entry>
-    <entry>
-      <key>Bhutan</key>
-    </entry>
-    <entry>
-      <key>Romania</key>
-    </entry>
-    <entry>
-      <key>Falkland Islands (Malvinas)</key>
-    </entry>
-    <entry>
-      <key>Philippines</key>
-    </entry>
-    <entry>
-      <key>Pitcairn</key>
-    </entry>
-    <entry>
-      <key>Zimbabwe</key>
-    </entry>
-    <entry>
-      <key>British Indian Ocean Territory</key>
-    </entry>
-    <entry>
-      <key>Montenegro</key>
-    </entry>
-    <entry>
-      <key>Quarterly</key>
-    </entry>
-    <entry>
-      <key>Indonesia</key>
-    </entry>
-    <entry>
-      <key>Angola</key>
-    </entry>
-    <entry>
-      <key>Internal</key>
-    </entry>
-    <entry>
-      <key>Key account</key>
-    </entry>
-    <entry>
-      <key>Brunei Darussalam</key>
-    </entry>
-    <entry>
-      <key>New Caledonia</key>
-    </entry>
-    <entry>
-      <key>Cayman Islands</key>
-    </entry>
-    <entry>
-      <key>Congo (Democratic Republic of the)</key>
-    </entry>
-    <entry>
-      <key>Greece</key>
-    </entry>
-    <entry>
-      <key>Guyana</key>
-    </entry>
-    <entry>
-      <key>Project assistant</key>
-    </entry>
-    <entry>
-      <key>Iraq</key>
-    </entry>
-    <entry>
-      <key>Chile</key>
-    </entry>
-    <entry>
-      <key>Nepal</key>
-    </entry>
-    <entry>
-      <key>${PRICELIST_DEFAULT}</key>
-    </entry>
-    <entry>
-      <key>Customer recommendation</key>
-    </entry>
-    <entry>
-      <key>Other_unknown</key>
-    </entry>
-    <entry>
-      <key>Isle of Man</key>
-    </entry>
-    <entry>
-      <key>Ukraine</key>
-    </entry>
-    <entry>
-      <key>Curaçao</key>
-    </entry>
-    <entry>
-      <key>Anguilla</key>
-    </entry>
-    <entry>
-      <key>Euro</key>
-    </entry>
-    <entry>
-      <key>Product_GUI</key>
-    </entry>
-    <entry>
-      <key>${GENDER_OTHER}</key>
-    </entry>
-    <entry>
-      <key>Turkey</key>
-    </entry>
-    <entry>
-      <key>Belgium</key>
-    </entry>
-    <entry>
-      <key>South Africa</key>
-    </entry>
-    <entry>
-      <key>Trinidad and Tobago</key>
-    </entry>
-    <entry>
-      <key>Bermuda</key>
-    </entry>
-    <entry>
-      <key>Jamaica</key>
-    </entry>
-    <entry>
-      <key>Peru</key>
-    </entry>
-    <entry>
-      <key>Turkmenistan</key>
-    </entry>
-    <entry>
-      <key>Venezuela (Bolivarian Republic of)</key>
-    </entry>
-    <entry>
-      <key>Tokelau</key>
-    </entry>
-    <entry>
-      <key>Hong Kong</key>
-    </entry>
-    <entry>
-      <key>Chad</key>
-    </entry>
-    <entry>
-      <key>German</key>
-    </entry>
-    <entry>
-      <key>Thailand</key>
-    </entry>
-    <entry>
-      <key>in process</key>
-    </entry>
-    <entry>
-      <key>Saint Martin (French part)</key>
-    </entry>
-    <entry>
-      <key>Kuwait</key>
-    </entry>
-    <entry>
-      <key>Palestine, State of</key>
-    </entry>
-    <entry>
-      <key>Croatia</key>
-    </entry>
-    <entry>
-      <key>Cook Islands</key>
-    </entry>
-    <entry>
-      <key>Fair</key>
-    </entry>
-    <entry>
-      <key>Sri Lanka</key>
-    </entry>
-    <entry>
-      <key>Uruguay</key>
-    </entry>
-    <entry>
-      <key>Liberia</key>
-    </entry>
-    <entry>
-      <key>Burkina Faso</key>
-    </entry>
-    <entry>
-      <key>Swiss franc</key>
-    </entry>
-    <entry>
-      <key>Swaziland</key>
-    </entry>
-    <entry>
-      <key>ended</key>
-    </entry>
-    <entry>
-      <key>Saint Barthélemy</key>
-    </entry>
-    <entry>
-      <key>Wallis and Futuna</key>
-    </entry>
-    <entry>
-      <key>Company_industry knowhow</key>
-    </entry>
-    <entry>
-      <key>Monaco</key>
-    </entry>
-    <entry>
-      <key>Spanish</key>
-    </entry>
-    <entry>
-      <key>Hungary</key>
-    </entry>
-    <entry>
-      <key>Réunion</key>
-    </entry>
-    <entry>
-      <key>Japan</key>
-    </entry>
-    <entry>
-      <key>Belarus</key>
-    </entry>
-    <entry>
-      <key>Albania</key>
-    </entry>
-    <entry>
-      <key>Internal sales manager</key>
-    </entry>
-    <entry>
-      <key>Virgin Islands (U.S.)</key>
-    </entry>
-    <entry>
-      <key>New Zealand</key>
-    </entry>
-    <entry>
-      <key>Senegal</key>
-    </entry>
-    <entry>
-      <key>Ethiopia</key>
-    </entry>
-    <entry>
-      <key>Macedonia (the former Yugoslav Republic of)</key>
-    </entry>
-    <entry>
-      <key>Egypt</key>
-    </entry>
-    <entry>
-      <key>Sierra Leone</key>
-    </entry>
-    <entry>
-      <key>Saudi Arabia</key>
-    </entry>
-    <entry>
-      <key>Pakistan</key>
-    </entry>
-    <entry>
-      <key>Gambia</key>
-    </entry>
-    <entry>
-      <key>Qatar</key>
-    </entry>
-    <entry>
-      <key>Slovakia</key>
-    </entry>
-    <entry>
-      <key>Serbia</key>
-    </entry>
-    <entry>
-      <key>Bosnia and Herzegovina</key>
-    </entry>
-    <entry>
-      <key>Framework contract</key>
-    </entry>
-    <entry>
-      <key>Niger</key>
-    </entry>
-    <entry>
-      <key>Rwanda</key>
-    </entry>
-    <entry>
-      <key>French Southern Territories</key>
-    </entry>
-    <entry>
-      <key>Bangladesh</key>
-    </entry>
-    <entry>
-      <key>Barbados</key>
-    </entry>
-    <entry>
-      <key>Botswana</key>
-    </entry>
-    <entry>
-      <key>Saint Vincent and the Grenadines</key>
-    </entry>
-    <entry>
-      <key>Denmark</key>
-    </entry>
-    <entry>
-      <key>Dominican Republic</key>
-    </entry>
-    <entry>
-      <key>Cover letter</key>
-    </entry>
-    <entry>
-      <key>Create receipt</key>
-    </entry>
-    <entry>
-      <key>New time tracking</key>
-    </entry>
-    <entry>
-      <key>MAL</key>
-    </entry>
-    <entry>
-      <key>SQO</key>
-    </entry>
-    <entry>
-      <key>NQC</key>
-    </entry>
-    <entry>
-      <key>MQL</key>
-    </entry>
-    <entry>
-      <key>SAL</key>
-    </entry>
-    <entry>
-      <key>Checkbox</key>
-    </entry>
-    <entry>
-      <key>Numeric value</key>
-    </entry>
-    <entry>
-      <key>decline</key>
-    </entry>
-    <entry>
-      <key>Text</key>
-    </entry>
-    <entry>
-      <key>Group</key>
-    </entry>
-    <entry>
-      <key>Combobox</key>
-    </entry>
-    <entry>
-      <key>tentative</key>
-    </entry>
-    <entry>
-      <key>${NUMBER}</key>
-    </entry>
-    <entry>
-      <key>Name \"%0\" already used for container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>CHAR_VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute</key>
-    </entry>
-    <entry>
-      <key>in</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute Values</key>
-    </entry>
-    <entry>
-      <key>Boolean value</key>
-    </entry>
-    <entry>
-      <key>accept</key>
-    </entry>
-    <entry>
-      <key>The ZIP code does not match the format of the country.</key>
-    </entry>
-    <entry>
-      <key>String value</key>
-    </entry>
-    <entry>
-      <key>The code number is not a valid number.</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0</key>
-    </entry>
-    <entry>
-      <key>${PRODUCT_LIB_NO_PRODUCT_ID} function: %0</key>
-    </entry>
-    <entry>
-      <key>Object type</key>
-    </entry>
-    <entry>
-      <key>Print Offer</key>
-    </entry>
-    <entry>
-      <key>Touchpoints</key>
-    </entry>
-    <entry>
-      <key>Days inactive</key>
-    </entry>
-    <entry>
-      <key>Touchpoint</key>
-    </entry>
-    <entry>
-      <key>Combobox Value</key>
-    </entry>
-    <entry>
-      <key>relations</key>
-    </entry>
-    <entry>
-      <key>Time</key>
-    </entry>
-    <entry>
-      <key>New task</key>
-    </entry>
-    <entry>
-      <key>the specified key has to be unique for that container but does already exist</key>
-    </entry>
-    <entry>
-      <key>Relationtype</key>
-    </entry>
-    <entry>
-      <key>Tree</key>
-    </entry>
-    <entry>
-      <key>100%</key>
-    </entry>
-    <entry>
-      <key>Mobil</key>
-    </entry>
-    <entry>
-      <key>25%</key>
-    </entry>
-    <entry>
-      <key>50%</key>
-    </entry>
-    <entry>
-      <key>75%</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>competitor</key>
-    </entry>
-    <entry>
-      <key>0%</key>
-    </entry>
-    <entry>
-      <key>acquainted with</key>
-    </entry>
-    <entry>
-      <key>collaboration with</key>
-    </entry>
-    <entry>
-      <key>parent company</key>
-    </entry>
-    <entry>
-      <key>society</key>
-    </entry>
-    <entry>
-      <key>ankle of</key>
-    </entry>
-    <entry>
-      <key>solicits</key>
-    </entry>
-    <entry>
-      <key>child of</key>
-    </entry>
-    <entry>
-      <key>supervisor of</key>
-    </entry>
-    <entry>
-      <key>reports to</key>
-    </entry>
-    <entry>
-      <key>subsidiary</key>
-    </entry>
-    <entry>
-      <key>supported by</key>
-    </entry>
-    <entry>
-      <key>member</key>
-    </entry>
-    <entry>
-      <key>promotion target of</key>
-    </entry>
-    <entry>
-      <key>supports</key>
-    </entry>
-    <entry>
-      <key>parent of</key>
-    </entry>
-    <entry>
-      <key>grandparents of</key>
-    </entry>
-    <entry>
-      <key>Entrydate (Month)</key>
-    </entry>
-    <entry>
-      <key>Entrydate (Day)</key>
-    </entry>
-    <entry>
-      <key>My Dashboard</key>
-    </entry>
-    <entry>
-      <key>Salesdashboard</key>
-    </entry>
-    <entry>
-      <key>Discount %</key>
-    </entry>
-    <entry>
-      <key>Memo</key>
-    </entry>
-    <entry>
-      <key>Function</key>
-    </entry>
-    <entry>
-      <key>Relational</key>
-    </entry>
-    <entry>
-      <key>Only numbers are allowed.</key>
-    </entry>
-    <entry>
-      <key>Superordinate Attribute</key>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_OFFER}</key>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_NEGOTIATION}</key>
-    </entry>
-    <entry>
-      <key>Filesize</key>
-    </entry>
-    <entry>
-      <key>Filename</key>
-    </entry>
-    <entry>
-      <key>Filetype</key>
-    </entry>
-    <entry>
-      <key>Special price list</key>
-    </entry>
-    <entry>
-      <key>New attribute</key>
-    </entry>
-    <entry>
-      <key>MQC</key>
-    </entry>
-    <entry>
-      <key>History</key>
-    </entry>
-    <entry>
-      <key>Progress</key>
-    </entry>
-    <entry>
-      <key>Module</key>
-    </entry>
-    <entry>
-      <key>7 days net</key>
-      <value></value>
-    </entry>
-    <entry>
-      <key>carriage free</key>
-    </entry>
-    <entry>
-      <key>8 days 2% discount, 30 days net</key>
-      <value></value>
-    </entry>
-    <entry>
-      <key>CIF</key>
-    </entry>
-    <entry>
-      <key>ex works</key>
-    </entry>
-    <entry>
-      <key>30 days net</key>
-      <value></value>
-    </entry>
-    <entry>
-      <key>Directly responsible:</key>
-    </entry>
-    <entry>
-      <key>Payment term</key>
-    </entry>
-    <entry>
-      <key>Contactrole</key>
-    </entry>
-    <entry>
-      <key>New appointment</key>
-    </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
-    <entry>
-      <key>Verschieben auf Datum?</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
-    <entry>
-      <key>Gebucht</key>
-    </entry>
-    <entry>
-      <key>Other Contactroles</key>
-    </entry>
-    <entry>
-      <key>Bitte Datumseingabe prüfen!</key>
-    </entry>
-    <entry>
-      <key>In Bearbeitung</key>
-    </entry>
-    <entry>
-      <key>OK</key>
-    </entry>
-    <entry>
-      <key>Nicht begonnen</key>
-    </entry>
-    <entry>
-      <key>Bitte Filterbedingungen setzen</key>
-    </entry>
-    <entry>
-      <key>Bestätigt</key>
-    </entry>
-    <entry>
-      <key>Vorläufig</key>
-    </entry>
-    <entry>
-      <key>keine</key>
-    </entry>
-    <entry>
-      <key>Eine private Aufgabe kann nicht jemand anderem zugewiesen werden.</key>
-    </entry>
-    <entry>
-      <key>Aufgaben von</key>
-    </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
-    <entry>
-      <key>erledigt / zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>hoch</key>
-    </entry>
-    <entry>
-      <key>Zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>Erledigt</key>
-    </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
-    <entry>
-      <key>Außer Haus</key>
-    </entry>
-    <entry>
-      <key>Abbrechen</key>
-    </entry>
-    <entry>
-      <key>Benutzer auswählen</key>
-    </entry>
-    <entry>
-      <key>delegiert</key>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
-    </entry>
-    <entry>
-      <key>normal</key>
-    </entry>
-    <entry>
-      <key>Termine von</key>
-    </entry>
-    <entry>
-      <key>nur Verschiebung in die Zukunft erlaubt!</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
-    <entry>
-      <key>Product content</key>
-    </entry>
-    <entry>
-      <key>Know How</key>
-    </entry>
-    <entry>
-      <key>Personal appearance</key>
-    </entry>
-    <entry>
-      <key>Market situation</key>
-    </entry>
-    <entry>
-      <key>Liquidity</key>
-    </entry>
-    <entry>
-      <key>Price policy</key>
-    </entry>
-    <entry>
-      <key>Approved</key>
-    </entry>
-    <entry>
-      <key>Completed</key>
-    </entry>
-    <entry>
-      <key>In planning</key>
-    </entry>
-    <entry>
-      <key>Campaign Step</key>
-    </entry>
-    <entry>
-      <key>360 Degree</key>
-    </entry>
-    <entry>
-      <key>Campaigns</key>
-    </entry>
-    <entry>
-      <key>Campaign</key>
-    </entry>
-    <entry>
-      <key>Auswertung</key>
-    </entry>
-    <entry>
-      <key>VAT in %</key>
-    </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>Marketing</key>
-    </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
-    <entry>
-      <key>${QUANTITY_LOWER_THAN_1}</key>
-    </entry>
-    <entry>
-      <key>This combination of person and organisation does already exist and can not be created once more.</key>
-    </entry>
-    <entry>
-      <key>New module</key>
-    </entry>
-    <entry>
-      <key>Time in minutes</key>
-    </entry>
-    <entry>
-      <key>Sales manager</key>
-    </entry>
-    <entry>
-      <key>IT</key>
-    </entry>
-    <entry>
-      <key>Administrator</key>
-    </entry>
-    <entry>
-      <key>Managing director</key>
-    </entry>
-    <entry>
-      <key>Production manager</key>
-    </entry>
-    <entry>
-      <key>Production</key>
-    </entry>
-    <entry>
-      <key>CEO</key>
-    </entry>
-    <entry>
-      <key>Purchasing manager</key>
-    </entry>
-    <entry>
-      <key>Marketing manager</key>
-    </entry>
-    <entry>
-      <key>IT manager</key>
-    </entry>
-    <entry>
-      <key>CSO</key>
-    </entry>
-    <entry>
-      <key>Executive board</key>
-    </entry>
-    <entry>
-      <key>Supervisory board</key>
-    </entry>
-    <entry>
-      <key>Management</key>
-    </entry>
-    <entry>
-      <key>date of birth must not be in the future</key>
-    </entry>
-    <entry>
-      <key>Manufacturer</key>
-    </entry>
-    <entry>
-      <key>Competitor</key>
-    </entry>
-    <entry>
-      <key>Partner</key>
-    </entry>
-    <entry>
-      <key>True</key>
-    </entry>
-    <entry>
-      <key>False</key>
-    </entry>
-    <entry>
-      <key>false</key>
-    </entry>
-    <entry>
-      <key>true</key>
-    </entry>
-    <entry>
-      <key>Protected</key>
-    </entry>
-    <entry>
-      <key>${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3</key>
-    </entry>
-    <entry>
-      <key>Password</key>
-    </entry>
-    <entry>
-      <key>Confirm password</key>
-    </entry>
-    <entry>
-      <key>Set password</key>
-    </entry>
-    <entry>
-      <key>Email</key>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_TYPE}</key>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_OBJECT}</key>
-    </entry>
-    <entry>
-      <key>Roles</key>
-    </entry>
-    <entry>
-      <key>Password and confirmation must be the same!</key>
-    </entry>
-    <entry>
-      <key>Begin</key>
-    </entry>
-    <entry>
-      <key>Maturity</key>
-    </entry>
-    <entry>
-      <key>Username</key>
-    </entry>
-    <entry>
-      <key>The person is already associated with another employee!</key>
-    </entry>
-    <entry>
-      <key>Username already exists!</key>
-    </entry>
-    <entry>
-      <key>This private person doeas already exist and can not be created once more.</key>
-    </entry>
-    <entry>
-      <key>Everyone</key>
-    </entry>
-    <entry>
-      <key>Project</key>
-    </entry>
-    <entry>
-      <key>Project management</key>
-    </entry>
-    <entry>
-      <key>Office staff</key>
-    </entry>
-    <entry>
-      <key>Field staff</key>
-    </entry>
-    <entry>
-      <key>Resource</key>
-    </entry>
-    <entry>
-      <key>Human Resources</key>
-    </entry>
-    <entry>
-      <key>Email must be unique!</key>
-    </entry>
-    <entry>
-      <key>Project Management</key>
-    </entry>
-    <entry>
-      <key>Support</key>
-    </entry>
-    <entry>
-      <key>{$ADDRESS_IDENTIFIER}</key>
-    </entry>
-    <entry>
-      <key>Salesproject phases</key>
-    </entry>
-    <entry>
-      <key>Add to Campaign</key>
-    </entry>
-    <entry>
-      <key>Max participants</key>
-    </entry>
-    <entry>
-      <key>Participants</key>
-    </entry>
-    <entry>
-      <key>Add the selection to a campaign</key>
-    </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-    </entry>
-    <entry>
-      <key>Add participants to Campaign</key>
-    </entry>
-    <entry>
-      <key>Key figures</key>
-    </entry>
-    <entry>
-      <key>Delete all usage</key>
-    </entry>
-    <entry>
-      <key>Deleted all usages of \"%0\".</key>
-    </entry>
-    <entry>
-      <key>Successful</key>
-    </entry>
-    <entry>
-      <key>Relation type 1</key>
-    </entry>
-    <entry>
-      <key>Relation type 2</key>
-    </entry>
-    <entry>
-      <key>Relation type</key>
-    </entry>
-    <entry>
-      <key>Context 1</key>
-    </entry>
-    <entry>
-      <key>Context 2</key>
-    </entry>
-    <entry>
-      <key>Hierarchy</key>
-    </entry>
-    <entry>
-      <key>Object relation</key>
-    </entry>
-    <entry>
-      <key>Count</key>
-    </entry>
-    <entry>
-      <key>Picture</key>
-    </entry>
-    <entry>
-      <key>Chart</key>
-    </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
-    <entry>
-      <key>Enable relation type 2</key>
-    </entry>
-    <entry>
-      <key>Salesproject Analyses</key>
-    </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
-    <entry>
-      <key>Days count</key>
-    </entry>
-    <entry>
-      <key>Clear forecast and set state to '%0'?</key>
-    </entry>
-    <entry>
-      <key>Would you really like to clear the forecast and set the state to '%0'?</key>
-    </entry>
-    <entry>
-      <key>This cannot be undone!</key>
-    </entry>
-    <entry>
-      <key>Campaign status</key>
-    </entry>
-    <entry>
-      <key>Set campaign step</key>
-    </entry>
-    <entry>
-      <key>Add participant to Campaign</key>
-    </entry>
-    <entry>
-      <key>Steps</key>
-    </entry>
-    <entry>
-      <key>Added</key>
-    </entry>
-    <entry>
-      <key>Current participants</key>
-    </entry>
-    <entry>
-      <key>Overdue tasks</key>
-    </entry>
-    <entry>
-      <key>[%0]the tableName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 has to be a string or array but it is %2</key>
-    </entry>
-    <entry>
-      <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key>
-    </entry>
-    <entry>
-      <key>[%0]the columnName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 is an object but seems not to be a valid array or array-like</key>
-    </entry>
-    <entry>
-      <key>Responsible</key>
-    </entry>
-    <entry>
-      <key>New tasks</key>
-    </entry>
-    <entry>
-      <key>Imminent appointments for today</key>
-    </entry>
-    <entry>
-      <key>Analyses</key>
-    </entry>
-    <entry>
-      <key>To-Do</key>
-    </entry>
-    <entry>
-      <key>Calendar</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNDEFINED_VALUE} field: %0</key>
-    </entry>
-    <entry>
-      <key>My tasks</key>
-    </entry>
-    <entry>
-      <key>${ATTRIBUTE_VOID}</key>
-    </entry>
-    <entry>
-      <key>Kampagnenzeitraum</key>
-    </entry>
-    <entry>
-      <key>Hauptverantw.</key>
-    </entry>
-    <entry>
-      <key>New campaign step</key>
-    </entry>
-    <entry>
-      <key>Cost</key>
-    </entry>
-    <entry>
-      <key>file '%0' cannot be read</key>
-    </entry>
-    <entry>
-      <key>Importer</key>
-    </entry>
-    <entry>
-      <key>Participant</key>
-    </entry>
-    <entry>
-      <key>Printing costs</key>
-    </entry>
-    <entry>
-      <key>Shipping costs</key>
-    </entry>
-    <entry>
-      <key>yyyy-MM-dd HH:mm:ss</key>
-    </entry>
-    <entry>
-      <key>file '%0' does not exist or you have got no permission on this file</key>
-    </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
-    <entry>
-      <key>Layout costs</key>
-    </entry>
-    <entry>
-      <key>${WEBSERVICE_ERROR} url:%0 status:%1</key>
-    </entry>
-    <entry>
-      <key>Step</key>
-    </entry>
-    <entry>
-      <key>Fix cost</key>
-    </entry>
-    <entry>
-      <key>per</key>
-    </entry>
-    <entry>
-      <key>The minimal count can't be larger than the maximal count!</key>
-    </entry>
-    <entry>
-      <key>The max participants count has to be equal or greater than the count of the current participants!</key>
-    </entry>
-    <entry>
-      <key>Variable costs</key>
-    </entry>
-    <entry>
-      <key>Id value</key>
-    </entry>
-    <entry>
-      <key>Order executed</key>
-    </entry>
-    <entry>
-      <key>Liquibase</key>
-    </entry>
-    <entry>
-      <key>Number value</key>
-    </entry>
-    <entry>
-      <key>Author</key>
-    </entry>
-    <entry>
-      <key>Position Id</key>
-    </entry>
-    <entry>
-      <key>ISO3</key>
-    </entry>
-    <entry>
-      <key>ISO2</key>
-    </entry>
-    <entry>
-      <key>Communication Id</key>
-    </entry>
-    <entry>
-      <key>Attribute Id</key>
-    </entry>
-    <entry>
-      <key>Modification user</key>
-    </entry>
-    <entry>
-      <key>Headline</key>
-    </entry>
-    <entry>
-      <key>Salesorder Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject milestone Id</key>
-    </entry>
-    <entry>
-      <key>Appointment Id</key>
-    </entry>
-    <entry>
-      <key>Locked</key>
-    </entry>
-    <entry>
-      <key>Timetracking Id</key>
-    </entry>
-    <entry>
-      <key>Exec type</key>
-    </entry>
-    <entry>
-      <key>Date value</key>
-    </entry>
-    <entry>
-      <key>NUMBER VALUE</key>
-    </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
-    <entry>
-      <key>ID</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Minimal count</key>
-    </entry>
-    <entry>
-      <key>Id</key>
-    </entry>
-    <entry>
-      <key>Object 1 row Id</key>
-    </entry>
-    <entry>
-      <key>Side</key>
-    </entry>
-    <entry>
-      <key>Salesproject Id</key>
-    </entry>
-    <entry>
-      <key>Product Id</key>
-    </entry>
-    <entry>
-      <key>Sort</key>
-    </entry>
-    <entry>
-      <key>Relation Title</key>
-    </entry>
-    <entry>
-      <key>%0 \"%1\"</key>
-    </entry>
-    <entry>
-      <key>Maximal count</key>
-    </entry>
-    <entry>
-      <key>Data executed</key>
-    </entry>
-    <entry>
-      <key>Indexsearch</key>
-    </entry>
-    <entry>
-      <key>Appointment link Id</key>
-    </entry>
-    <entry>
-      <key>Relation Type</key>
-    </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
-    <entry>
-      <key>Item sort</key>
-    </entry>
-    <entry>
-      <key>%0 modified.</key>
-    </entry>
-    <entry>
-      <key>Contract Id</key>
-    </entry>
-    <entry>
-      <key>Int value</key>
-    </entry>
-    <entry>
-      <key>Object 2 row Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename</key>
-    </entry>
-    <entry>
-      <key>Contact Id</key>
-    </entry>
-    <entry>
-      <key>Sales area</key>
-    </entry>
-    <entry>
-      <key>Parent Id</key>
-    </entry>
-    <entry>
-      <key>Task link Id</key>
-    </entry>
-    <entry>
-      <key>BOOL VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute Id</key>
-    </entry>
-    <entry>
-      <key>Log type</key>
-    </entry>
-    <entry>
-      <key>Object row Id</key>
-    </entry>
-    <entry>
-      <key>Labels</key>
-    </entry>
-    <entry>
-      <key>%0 deleted.</key>
-    </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
-    <entry>
-      <key>Activity Id</key>
-    </entry>
-    <entry>
-      <key>Person Id</key>
-    </entry>
-    <entry>
-      <key>Offer item Id</key>
-    </entry>
-    <entry>
-      <key>Offer Id</key>
-    </entry>
-    <entry>
-      <key>Name native</key>
-    </entry>
-    <entry>
-      <key>Flag</key>
-    </entry>
-    <entry>
-      <key>Address Id</key>
-    </entry>
-    <entry>
-      <key>Name latin</key>
-    </entry>
-    <entry>
-      <key>Destination Id</key>
-    </entry>
-    <entry>
-      <key>Sex</key>
-    </entry>
-    <entry>
-      <key>Product price Id</key>
-    </entry>
-    <entry>
-      <key>%0 added.</key>
-    </entry>
-    <entry>
-      <key>Object Relation Type</key>
-    </entry>
-    <entry>
-      <key>Entry date</key>
-    </entry>
-    <entry>
-      <key>Object relation type 2</key>
-    </entry>
-    <entry>
-      <key>Object relation type 1</key>
-    </entry>
-    <entry>
-      <key>Modification date</key>
-    </entry>
-    <entry>
-      <key>Object Type</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to \"%2\"</key>
-    </entry>
-    <entry>
-      <key>MD5 Sum</key>
-    </entry>
-    <entry>
-      <key>Letter salutation</key>
-    </entry>
-    <entry>
-      <key>Lock granted</key>
-    </entry>
-    <entry>
-      <key>Required fields</key>
-    </entry>
-    <entry>
-      <key>Address addition</key>
-    </entry>
-    <entry>
-      <key>the \"%0\" table is configured to get logged but this is the logging-stoarge itself and cannot be monitored</key>
-    </entry>
-    <entry>
-      <key>Attribute usage Id</key>
-    </entry>
-    <entry>
-      <key>LogHistory</key>
-    </entry>
-    <entry>
-      <key>Locked by</key>
-    </entry>
-    <entry>
-      <key>Desciption</key>
-    </entry>
-    <entry>
-      <key>Salutation Id</key>
-    </entry>
-    <entry>
-      <key>Comments</key>
-    </entry>
-    <entry>
-      <key>Task Id</key>
-    </entry>
-    <entry>
-      <key>Valid to</key>
-    </entry>
-    <entry>
-      <key>ZIP regex</key>
-    </entry>
-    <entry>
-      <key>Keyword entry Id</key>
-    </entry>
-    <entry>
-      <key>Stop costs</key>
-    </entry>
-    <entry>
-      <key>Contexts</key>
-    </entry>
-    <entry>
-      <key>Assigned to</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to %2 \"%3\"</key>
-    </entry>
-    <entry>
-      <key>Date start</key>
-    </entry>
-    <entry>
-      <key>Deployment Id</key>
-    </entry>
-    <entry>
-      <key>Address format</key>
-    </entry>
-    <entry>
-      <key>Activity link Id</key>
-    </entry>
-    <entry>
-      <key>Date end</key>
-    </entry>
-    <entry>
-      <key>Creation user</key>
-    </entry>
-    <entry>
-      <key>Object Id</key>
-    </entry>
-    <entry>
-      <key>Is active</key>
-    </entry>
-    <entry>
-      <key>Product relationship</key>
-    </entry>
-    <entry>
-      <key>Salesorder item Id</key>
-    </entry>
-    <entry>
-      <key>Char value</key>
-    </entry>
-    <entry>
-      <key>Attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Tag</key>
-    </entry>
-    <entry>
-      <key>Title suffix</key>
-    </entry>
-    <entry>
-      <key>Step costs</key>
-    </entry>
-    <entry>
-      <key>Min. Stock</key>
-    </entry>
-    <entry>
-      <key>User</key>
-    </entry>
-    <entry>
-      <key>Stock Id</key>
-    </entry>
-    <entry>
-      <key>Tablename</key>
-    </entry>
-    <entry>
-      <key>CHAR VALUE</key>
-    </entry>
-    <entry>
-      <key>Parent context</key>
-    </entry>
-    <entry>
-      <key>Organisation Id</key>
-    </entry>
-    <entry>
-      <key>Tablename Id</key>
-    </entry>
-    <entry>
-      <key>Competitors</key>
-    </entry>
-    <entry>
-      <key>Notifications</key>
-    </entry>
-    <entry>
-      <key>Overview</key>
-    </entry>
-    <entry>
-      <key>Participated</key>
-    </entry>
-    <entry>
-      <key>Remaining Runtime</key>
-    </entry>
-    <entry>
-      <key>Document Template</key>
-    </entry>
-    <entry>
-      <key>Text Modular</key>
-    </entry>
-    <entry>
-      <key>Serial</key>
-    </entry>
-    <entry>
-      <key>Campaign Period</key>
-    </entry>
-    <entry>
-      <key>Single</key>
-    </entry>
-    <entry>
-      <key>Attachment</key>
-    </entry>
-    <entry>
-      <key>Attachments</key>
-    </entry>
-    <entry>
-      <key>Letter</key>
-    </entry>
-    <entry>
-      <key>Appointment</key>
-    </entry>
-    <entry>
-      <key>rebuild Index</key>
-    </entry>
-    <entry>
-      <key>Charts</key>
-    </entry>
-    <entry>
-      <key>Keywords</key>
-    </entry>
-    <entry>
-      <key>Days running</key>
-    </entry>
-    <entry>
-      <key>Logs</key>
-    </entry>
-    <entry>
-      <key>Mail</key>
-    </entry>
-    <entry>
-      <key>Phonecall</key>
-    </entry>
-    <entry>
-      <key>Chart 2</key>
-    </entry>
-    <entry>
-      <key>Log</key>
-    </entry>
-    <entry>
-      <key>Offer Header Text</key>
-    </entry>
-    <entry>
-      <key>Employees</key>
-    </entry>
-    <entry>
-      <key>Todo</key>
-    </entry>
-    <entry>
-      <key>Days remaining</key>
-    </entry>
-    <entry>
-      <key>Offer Footer Text</key>
-    </entry>
-    <entry>
-      <key>Date new</key>
-    </entry>
-    <entry>
-      <key>Date edit</key>
-    </entry>
-    <entry>
-      <key>Keyword Attributes</key>
-    </entry>
-    <entry>
-      <key>Student/Internship</key>
-    </entry>
-    <entry>
-      <key>Food</key>
-    </entry>
-    <entry>
-      <key>200 to 349T</key>
-    </entry>
-    <entry>
-      <key>Within 6 months</key>
-    </entry>
-    <entry>
-      <key>No project planned</key>
-    </entry>
-    <entry>
-      <key>Logistics</key>
-    </entry>
-    <entry>
-      <key>Skilled workers</key>
-    </entry>
-    <entry>
-      <key>Purchasing</key>
-    </entry>
-    <entry>
-      <key>Rate</key>
-    </entry>
-    <entry>
-      <key>Choice</key>
-    </entry>
-    <entry>
-      <key>points</key>
-    </entry>
-    <entry>
-      <key>Education</key>
-    </entry>
-    <entry>
-      <key>Public</key>
-    </entry>
-    <entry>
-      <key>Building and construction suppliers</key>
-    </entry>
-    <entry>
-      <key>0 to 49</key>
-    </entry>
-    <entry>
-      <key>0 to 49T</key>
-    </entry>
-    <entry>
-      <key>CRM Manager</key>
-    </entry>
-    <entry>
-      <key>50 to 99T</key>
-    </entry>
-    <entry>
-      <key>Search</key>
-    </entry>
-    <entry>
-      <key>Counsellor</key>
-    </entry>
-    <entry>
-      <key>50 to 100</key>
-    </entry>
-    <entry>
-      <key>OnPremise</key>
-    </entry>
-    <entry>
-      <key>Head of IT</key>
-    </entry>
-    <entry>
-      <key>Electric</key>
-    </entry>
-    <entry>
-      <key>from 1,000</key>
-    </entry>
-    <entry>
-      <key>Publishing house</key>
-    </entry>
-    <entry>
-      <key>100 to 199T</key>
-    </entry>
-    <entry>
-      <key>101 to 250</key>
-    </entry>
-    <entry>
-      <key>Overarching</key>
-    </entry>
-    <entry>
-      <key>Energy</key>
-    </entry>
-    <entry>
-      <key>Machinery and equipment</key>
-    </entry>
-    <entry>
-      <key>Trade</key>
-    </entry>
-    <entry>
-      <key>Consultation</key>
-    </entry>
-    <entry>
-      <key>Cloud</key>
-    </entry>
-    <entry>
-      <key>No date yet</key>
-    </entry>
-    <entry>
-      <key>Classifications</key>
-    </entry>
-    <entry>
-      <key>Service Manager</key>
-    </entry>
-    <entry>
-      <key>Lifesience</key>
-    </entry>
-    <entry>
-      <key>Automotive</key>
-    </entry>
-    <entry>
-      <key>Lottery</key>
-    </entry>
-    <entry>
-      <key>from 350T</key>
-    </entry>
-    <entry>
-      <key>Management/Sales Manager</key>
-    </entry>
-    <entry>
-      <key>Environment</key>
-    </entry>
-    <entry>
-      <key>Within 12 months</key>
-    </entry>
-    <entry>
-      <key>Finance</key>
-    </entry>
-    <entry>
-      <key>ScoreProjectStart</key>
-    </entry>
-    <entry>
-      <key>ScoreStandard</key>
-    </entry>
-    <entry>
-      <key>ScoreCustomizing</key>
-    </entry>
-    <entry>
-      <key>ScoreDecisionPhase</key>
-    </entry>
-    <entry>
-      <key>ScoreUsers</key>
-    </entry>
-    <entry>
-      <key>ScoreBranch</key>
-    </entry>
-    <entry>
-      <key>ScorePosition</key>
-    </entry>
-    <entry>
-      <key>ScoreBudget</key>
-    </entry>
-    <entry>
-      <key>ScoreDepartment</key>
-    </entry>
-    <entry>
-      <key>ScoreCloud</key>
-    </entry>
-    <entry>
-      <key>ScoreBased</key>
-    </entry>
-    <entry>
-      <key>Score</key>
-    </entry>
-    <entry>
-      <key>Scoretype</key>
-    </entry>
-    <entry>
-      <key>archive</key>
-    </entry>
-    <entry>
-      <key>setUnread</key>
-    </entry>
-    <entry>
-      <key>Rating</key>
-    </entry>
-    <entry>
-      <key>setRead</key>
-    </entry>
-    <entry>
-      <key>Possible Values</key>
-    </entry>
-    <entry>
-      <key>251 to 1,000</key>
-    </entry>
-    <entry>
-      <key>Selection</key>
-    </entry>
-    <entry>
-      <key>Files</key>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_SINGLE}</key>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" has to be used at least %1.</key>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_MULTIPLE}</key>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" can't be used more than %1.</key>
-    </entry>
-    <entry>
-      <key>Recipient</key>
-    </entry>
-    <entry>
-      <key>Write email</key>
-    </entry>
-    <entry>
-      <key>Show tasks where I am editor</key>
-    </entry>
-    <entry>
-      <key>Entrydate must not be in the future</key>
-    </entry>
-    <entry>
-      <key>Delivery specification</key>
-    </entry>
-    <entry>
-      <key>Priority</key>
-    </entry>
-    <entry>
-      <key>Postcode</key>
-    </entry>
-    <entry>
-      <key>Main document</key>
-    </entry>
-    <entry>
-      <key>Delete</key>
-    </entry>
-    <entry>
-      <key>Street</key>
-    </entry>
-    <entry>
-      <key>Start</key>
-    </entry>
-    <entry>
-      <key>End</key>
-    </entry>
-    <entry>
-      <key>Condition</key>
-    </entry>
-    <entry>
-      <key>File</key>
-    </entry>
-    <entry>
-      <key> User</key>
-    </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
-    <entry>
-      <key>Condition Type</key>
-    </entry>
-    <entry>
-      <key>Access type</key>
-    </entry>
-    <entry>
-      <key>Permission  Overview</key>
-    </entry>
-    <entry>
-      <key>PermissionId</key>
-    </entry>
-    <entry>
-      <key>Entity</key>
-    </entry>
-    <entry>
-      <key>Sales Project</key>
-    </entry>
-    <entry>
-      <key>Field</key>
-    </entry>
-    <entry>
-      <key>Permission Detail</key>
-    </entry>
-    <entry>
-      <key>Entities</key>
-    </entry>
-    <entry>
-      <key>Read</key>
-    </entry>
-    <entry>
-      <key>Permission Set ID</key>
-    </entry>
-    <entry>
-      <key>Create</key>
-    </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Permission Overview</key>
-    </entry>
-    <entry>
-      <key>Action</key>
-    </entry>
-    <entry>
-      <key>View</key>
-    </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Salutations</key>
-    </entry>
-    <entry>
-      <key>Paymentterm</key>
-    </entry>
-    <entry>
-      <key>New step</key>
-    </entry>
-    <entry>
-      <key>Runtime</key>
-    </entry>
-    <entry>
-      <key>Fix costs</key>
-    </entry>
-    <entry>
-      <key>Total costs</key>
-    </entry>
-    <entry>
-      <key>Per participant</key>
-    </entry>
-    <entry>
-      <key>Predecessor</key>
-    </entry>
-    <entry>
-      <key>Group name</key>
-    </entry>
-    <entry>
-      <key>Price Condition</key>
-    </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>beschränken</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
-    <entry>
-      <key>Possible Value</key>
-    </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
-    <entry>
-      <key>Could not determine the current Classification type (usage).</key>
-    </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
-    <entry>
-      <key>Campaign planning</key>
-    </entry>
-    <entry>
-      <key>New campaign</key>
-    </entry>
-    <entry>
-      <key>3. Classification</key>
-    </entry>
-    <entry>
-      <key>1. Classification</key>
-    </entry>
-    <entry>
-      <key>2. Classification</key>
-    </entry>
-    <entry>
-      <key>Choose Footer</key>
-    </entry>
-    <entry>
-      <key>Choose Header</key>
-    </entry>
-    <entry>
-      <key>#0</key>
-    </entry>
-    <entry>
-      <key>Email Template</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key>
-    </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
-    <entry>
-      <key>New Support ticket</key>
-    </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
-    <entry>
-      <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
-    </entry>
-    <entry>
-      <key>Kein Weitergeben von privaten Aufgaben möglich!</key>
-    </entry>
-    <entry>
-      <key>Search for new Entries</key>
-    </entry>
-    <entry>
-      <key>Additional link</key>
-    </entry>
-    <entry>
-      <key>Salesproject member</key>
-    </entry>
-    <entry>
-      <key>Maximal count has to be a whole number</key>
-    </entry>
-    <entry>
-      <key>Minimal count must be a positive whole number</key>
-    </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
-    <entry>
-      <key>Maximal count must be one or higher</key>
-    </entry>
-    <entry>
-      <key>Campaign name</key>
-    </entry>
-    <entry>
-      <key>Step name</key>
-    </entry>
-    <entry>
-      <key>Assignment</key>
-    </entry>
-    <entry>
-      <key>Complaint</key>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
-    <entry>
-      <key>Restrictions</key>
-    </entry>
-    <entry>
-      <key>Advertising bans</key>
-    </entry>
-    <entry>
-      <key>Advertising ban</key>
-    </entry>
-    <entry>
-      <key>Delete appointment</key>
-    </entry>
-    <entry>
-      <key>Do you really want to delete this recurring appointment?</key>
-    </entry>
-    <entry>
-      <key>Start date</key>
-    </entry>
-    <entry>
-      <key>New letter</key>
-    </entry>
-    <entry>
-      <key>No calls</key>
-    </entry>
-    <entry>
-      <key>No mails</key>
-    </entry>
-    <entry>
-      <key>Delete recurring appointment</key>
-    </entry>
-    <entry>
-      <key>No fax</key>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-    </entry>
-    <entry>
-      <key>No letters</key>
-    </entry>
-    <entry>
-      <key>ended (abandoned)</key>
-    </entry>
-    <entry>
-      <key>customer checks</key>
-    </entry>
-    <entry>
-      <key>assigned</key>
-    </entry>
-    <entry>
-      <key>ended (done)</key>
-    </entry>
-    <entry>
-      <key>Long string value</key>
-    </entry>
-    <entry>
-      <key>still incorrect</key>
-    </entry>
-    <entry>
-      <key>unassigned</key>
-    </entry>
-    <entry>
-      <key>UNSEEN</key>
-    </entry>
-    <entry>
-      <key>ARCHIVE</key>
-    </entry>
-    <entry>
-      <key>TODELETE</key>
-    </entry>
-    <entry>
-      <key>CONFIRMED</key>
-    </entry>
-    <entry>
-      <key>SEEN</key>
-    </entry>
-    <entry>
-      <key>Link</key>
-    </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-    </entry>
-    <entry>
-      <key>Permissions</key>
-    </entry>
-    <entry>
-      <key>Permission</key>
-    </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-    </entry>
-    <entry>
-      <key>Maximal</key>
-    </entry>
-    <entry>
-      <key>Minimal</key>
-    </entry>
-    <entry>
-      <key>Object selection</key>
-    </entry>
-    <entry>
-      <key>Bulk mail</key>
-    </entry>
-    <entry>
-      <key>Recipients</key>
-    </entry>
-    <entry>
-      <key>Boss of</key>
-    </entry>
-    <entry>
-      <key>Data table</key>
-    </entry>
-    <entry>
-      <key>Make offer (WV)</key>
-    </entry>
-    <entry>
-      <key>Delivery term</key>
-    </entry>
-    <entry>
-      <key>No risk</key>
-    </entry>
-    <entry>
-      <key>Urlaubsprüfung durch</key>
-    </entry>
-    <entry>
-      <key>Acquisition</key>
-    </entry>
-    <entry>
-      <key>A</key>
-    </entry>
-    <entry>
-      <key>B</key>
-    </entry>
-    <entry>
-      <key>C</key>
-    </entry>
-    <entry>
-      <key>D</key>
-    </entry>
-    <entry>
-      <key>Motor cycle</key>
-    </entry>
-    <entry>
-      <key>Beer</key>
-    </entry>
-    <entry>
-      <key>Presentation</key>
-    </entry>
-    <entry>
-      <key>Print media</key>
-    </entry>
-    <entry>
-      <key>good</key>
-    </entry>
-    <entry>
-      <key>Tourism</key>
-    </entry>
-    <entry>
-      <key>Existing contact</key>
-    </entry>
-    <entry>
-      <key>Personal estimation</key>
-    </entry>
-    <entry>
-      <key>ToDo</key>
-    </entry>
-    <entry>
-      <key>medium</key>
-    </entry>
-    <entry>
-      <key>Away travel</key>
-    </entry>
-    <entry>
-      <key>Project planning open</key>
-    </entry>
-    <entry>
-      <key>1 medium</key>
-    </entry>
-    <entry>
-      <key>Component</key>
-    </entry>
-    <entry>
-      <key>Delivery block</key>
-    </entry>
-    <entry>
-      <key>Product type</key>
-    </entry>
-    <entry>
-      <key>Distribution</key>
-    </entry>
-    <entry>
-      <key>Call back (WV)</key>
-    </entry>
-    <entry>
-      <key>Spare part</key>
-    </entry>
-    <entry>
-      <key>Send information</key>
-    </entry>
-    <entry>
-      <key>EVENT</key>
-    </entry>
-    <entry>
-      <key>Decision-maker changed</key>
-    </entry>
-    <entry>
-      <key>Known because</key>
-    </entry>
-    <entry>
-      <key>Visit frequency</key>
-    </entry>
-    <entry>
-      <key>Payment problem customer</key>
-    </entry>
-    <entry>
-      <key>Employee account</key>
-    </entry>
-    <entry>
-      <key>Dumping price competition</key>
-    </entry>
-    <entry>
-      <key>Device/Machine</key>
-    </entry>
-    <entry>
-      <key>Tool changer</key>
-    </entry>
-    <entry>
-      <key>Declaration of acceptance</key>
-    </entry>
-    <entry>
-      <key>Product A1</key>
-    </entry>
-    <entry>
-      <key>Product A2</key>
-    </entry>
-    <entry>
-      <key>Technical specifications</key>
-    </entry>
-    <entry>
-      <key>Product B2</key>
-    </entry>
-    <entry>
-      <key>Product B1</key>
-    </entry>
-    <entry>
-      <key>Cigars</key>
-    </entry>
-    <entry>
-      <key>Occupation</key>
-    </entry>
-    <entry>
-      <key>Partial calculation</key>
-    </entry>
-    <entry>
-      <key>IT/Service</key>
-    </entry>
-    <entry>
-      <key>Frame contract (WV)</key>
-    </entry>
-    <entry>
-      <key>2 big</key>
-    </entry>
-    <entry>
-      <key>Data protection agreement</key>
-    </entry>
-    <entry>
-      <key>ORG</key>
-    </entry>
-    <entry>
-      <key>PERS</key>
-    </entry>
-    <entry>
-      <key>Racing bike</key>
-    </entry>
-    <entry>
-      <key>Others</key>
-    </entry>
-    <entry>
-      <key>Interested</key>
-    </entry>
-    <entry>
-      <key>Project shift customer</key>
-    </entry>
-    <entry>
-      <key>Regulation</key>
-    </entry>
-    <entry>
-      <key>Strength</key>
-    </entry>
-    <entry>
-      <key>Interests</key>
-    </entry>
-    <entry>
-      <key>DOCUMENT</key>
-    </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-    </entry>
-    <entry>
-      <key>Subordinate campaign of</key>
-    </entry>
-    <entry>
-      <key>Treat</key>
-    </entry>
-    <entry>
-      <key>Product interest</key>
-    </entry>
-    <entry>
-      <key>Cons</key>
-    </entry>
-    <entry>
-      <key>Transport damage</key>
-    </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-    </entry>
-    <entry>
-      <key>Sport</key>
-    </entry>
-    <entry>
-      <key>Technology</key>
-    </entry>
-    <entry>
-      <key>Assistance</key>
-    </entry>
-    <entry>
-      <key>Trade fair</key>
-    </entry>
-    <entry>
-      <key>Creditworthiness</key>
-    </entry>
-    <entry>
-      <key>Superordinate campaign of</key>
-    </entry>
-    <entry>
-      <key>Pricing policy</key>
-    </entry>
-    <entry>
-      <key>Prospective customer</key>
-    </entry>
-    <entry>
-      <key>Send documents (WV)</key>
-    </entry>
-    <entry>
-      <key>Revolution speed (rpm)</key>
-    </entry>
-    <entry>
-      <key>Atmosphere</key>
-    </entry>
-    <entry>
-      <key>Follow up (WV)</key>
-    </entry>
-    <entry>
-      <key>Mechanical engineering</key>
-    </entry>
-    <entry>
-      <key>Wine</key>
-    </entry>
-    <entry>
-      <key>bad</key>
-    </entry>
-    <entry>
-      <key>Sailing</key>
-    </entry>
-    <entry>
-      <key>Commodity group B (WV)</key>
-    </entry>
-    <entry>
-      <key>personal</key>
-    </entry>
-    <entry>
-      <key>flexible</key>
-    </entry>
-    <entry>
-      <key>Handcraft</key>
-    </entry>
-    <entry>
-      <key>Goodwill</key>
-    </entry>
-    <entry>
-      <key>Website</key>
-    </entry>
-    <entry>
-      <key>Full calculation</key>
-    </entry>
-    <entry>
-      <key>Birthday list</key>
-    </entry>
-    <entry>
-      <key>Holiday</key>
-    </entry>
-    <entry>
-      <key>Quality problem customer</key>
-    </entry>
-    <entry>
-      <key>ToDos</key>
-    </entry>
-    <entry>
-      <key>Golf</key>
-    </entry>
-    <entry>
-      <key>Loyalty</key>
-    </entry>
-    <entry>
-      <key>Type of damage</key>
-    </entry>
-    <entry>
-      <key>Contacting</key>
-    </entry>
-    <entry>
-      <key>Conveyor</key>
-    </entry>
-    <entry>
-      <key>Agency</key>
-    </entry>
-    <entry>
-      <key>Technical requirement</key>
-    </entry>
-    <entry>
-      <key>Faulty delivery</key>
-    </entry>
-    <entry>
-      <key>Interested person</key>
-    </entry>
-    <entry>
-      <key>First contact</key>
-    </entry>
-    <entry>
-      <key>Wear part</key>
-    </entry>
-    <entry>
-      <key>Commodity group B</key>
-    </entry>
-    <entry>
-      <key>Commodity group A</key>
-    </entry>
-    <entry>
-      <key>Commodity group A (WV)</key>
-    </entry>
-    <entry>
-      <key>Recommendation</key>
-    </entry>
-    <entry>
-      <key>Project planned?</key>
-    </entry>
-    <entry>
-      <key>Reference customer</key>
-    </entry>
-    <entry>
-      <key>Reports to</key>
-    </entry>
-    <entry>
-      <key>Pricelist</key>
-    </entry>
-    <entry>
-      <key>Send brochure (WV)</key>
-    </entry>
-    <entry>
-      <key>loves sociability</key>
-    </entry>
-    <entry>
-      <key>0 low</key>
-    </entry>
-    <entry>
-      <key>Departments</key>
-    </entry>
-    <entry>
-      <key>Additional data</key>
-    </entry>
-    <entry>
-      <key>Origin</key>
-    </entry>
-    <entry>
-      <key>Weight (kg)</key>
-    </entry>
-    <entry>
-      <key>Consisted customer</key>
-    </entry>
-    <entry>
-      <key>Incomplete delivery</key>
-    </entry>
-    <entry>
-      <key>Weakness</key>
-    </entry>
-    <entry>
-      <key>Project type</key>
-    </entry>
-    <entry>
-      <key>30</key>
-    </entry>
-    <entry>
-      <key>Annual holidays</key>
-    </entry>
-    <entry>
-      <key>Call</key>
-    </entry>
-    <entry>
-      <key>own company</key>
-    </entry>
-    <entry>
-      <key>Soccer</key>
-    </entry>
-    <entry>
-      <key>Consultant</key>
-    </entry>
-    <entry>
-      <key>Financial service</key>
-    </entry>
-    <entry>
-      <key>Target group</key>
-    </entry>
-    <entry>
-      <key>Building industry</key>
-    </entry>
-    <entry>
-      <key>Next contact?</key>
-    </entry>
-    <entry>
-      <key>General</key>
-    </entry>
-    <entry>
-      <key>Campaign response</key>
-    </entry>
-    <entry>
-      <key>60</key>
-    </entry>
-    <entry>
-      <key>Risk</key>
-    </entry>
-    <entry>
-      <key>NPO</key>
-    </entry>
-    <entry>
-      <key>Writes for</key>
-    </entry>
-    <entry>
-      <key>90</key>
-    </entry>
-    <entry>
-      <key>Custody agreement</key>
-    </entry>
-    <entry>
-      <key>Economy</key>
-    </entry>
-    <entry>
-      <key>Other (WV)</key>
-    </entry>
-    <entry>
-      <key>Pros</key>
-    </entry>
-    <entry>
-      <key>Quality complaint</key>
-    </entry>
-    <entry>
-      <key>Next steps</key>
-    </entry>
-    <entry>
-      <key>Urlaubsgenehmigung durch</key>
-    </entry>
-    <entry>
-      <key>Assessment</key>
-    </entry>
-    <entry>
-      <key>Signature</key>
-    </entry>
-    <entry>
-      <key>Footer</key>
-    </entry>
-    <entry>
-      <key>Header</key>
-    </entry>
-    <entry>
-      <key>Open admin view</key>
-    </entry>
-    <entry>
-      <key>All selected participants already are in the campaign</key>
-    </entry>
-    <entry>
-      <key>Not enough slots for %0/%1 participant(s)</key>
-    </entry>
-    <entry>
-      <key>%0/%1 participant(s) will be added to the selected campaign step</key>
-    </entry>
-    <entry>
-      <key>No valid Selection</key>
-    </entry>
-    <entry>
-      <key>Sender address</key>
-    </entry>
-    <entry>
-      <key>Send</key>
-    </entry>
-    <entry>
-      <key>Pending</key>
-    </entry>
-    <entry>
-      <key>Failed</key>
-    </entry>
-    <entry>
-      <key>UID</key>
-    </entry>
-    <entry>
-      <key>ticket number</key>
-    </entry>
-    <entry>
-      <key>AB_KEYWORD_ENTRYID (UID)</key>
-    </entry>
-    <entry>
-      <key>DATE_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Icon</key>
-    </entry>
-    <entry>
-      <key>in progress</key>
-    </entry>
-    <entry>
-      <key>PARENT_CONTEXT</key>
-    </entry>
-    <entry>
-      <key>OFFER_ID</key>
-    </entry>
-    <entry>
-      <key>SMS</key>
-    </entry>
-    <entry>
-      <key>CAMPAIGNID (UID)</key>
-    </entry>
-    <entry>
-      <key>PARENT_ID</key>
-    </entry>
-    <entry>
-      <key>Interfaces</key>
-    </entry>
-    <entry>
-      <key>Feature</key>
-    </entry>
-    <entry>
-      <key>ORGANISATIONID (UID)</key>
-    </entry>
-    <entry>
-      <key>SALESORDER_ID</key>
-    </entry>
-    <entry>
-      <key>Ticket</key>
-    </entry>
-    <entry>
-      <key>Delivery problems</key>
-    </entry>
-    <entry>
-      <key>Tickets</key>
-    </entry>
-    <entry>
-      <key>PERSON_ID</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_REQUESTOR}</key>
-    </entry>
-    <entry>
-      <key>Billable</key>
-    </entry>
-    <entry>
-      <key>TASKID (UID)</key>
-    </entry>
-    <entry>
-      <key>Fax</key>
-    </entry>
-    <entry>
-      <key>DATE_EDIT</key>
-    </entry>
-    <entry>
-      <key>OFFERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Connection Type</key>
-    </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
-    <entry>
-      <key>Phases</key>
-    </entry>
-    <entry>
-      <key>Questions</key>
-    </entry>
-    <entry>
-      <key>User error</key>
-    </entry>
-    <entry>
-      <key>ACTIVITYID (UID)</key>
-    </entry>
-    <entry>
-      <key>Issue</key>
-    </entry>
-    <entry>
-      <key>CONTACTID</key>
-    </entry>
-    <entry>
-      <key>Maintenance</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_STATUS}</key>
-    </entry>
-    <entry>
-      <key>DATE_NEW</key>
-    </entry>
-    <entry>
-      <key>SALESPROJECTID (UID)</key>
-    </entry>
-    <entry>
-      <key>ORGANISATION_ID</key>
-    </entry>
-    <entry>
-      <key>CONTRACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a file from a blob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>SqlUtils.getSqlInStatement: if pAsPrepared is true, pPreparedDbType has to be filld with the correct db type</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a text-file from a clob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>USER_NEW</key>
-    </entry>
-    <entry>
-      <key>USER_EDIT</key>
-    </entry>
-    <entry>
-      <key>CONTACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_EDITOR}</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>Modul group</key>
-    </entry>
-    <entry>
-      <key>PRODUCTID (UID)</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"</key>
-    </entry>
-    <entry>
-      <key>Total time</key>
-    </entry>
-    <entry>
-      <key>SALESORDERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Cause</key>
-    </entry>
-    <entry>
-      <key>Assembly</key>
-    </entry>
-    <entry>
-      <key>Dokument template usage</key>
-    </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
-    <entry>
-      <key>USER_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Linked Appointments</key>
-    </entry>
-    <entry>
-      <key>Location</key>
-    </entry>
-    <entry>
-      <key>Not sent</key>
-    </entry>
-    <entry>
-      <key>Is being sent</key>
-    </entry>
-    <entry>
-      <key>Preview</key>
-    </entry>
-    <entry>
-      <key>Content</key>
-    </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
-    <entry>
-      <key>Bulk mail \"%0\" was sent!</key>
-    </entry>
-    <entry>
-      <key>Descriptions</key>
-    </entry>
-    <entry>
-      <key>User Administration</key>
-    </entry>
-    <entry>
-      <key>Support Ticket</key>
-    </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
-    <entry>
-      <key>Remarks</key>
-    </entry>
-    <entry>
-      <key>Xing</key>
-    </entry>
-    <entry>
-      <key>Organisation</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
-    <entry>
-      <key>LinkedIn</key>
-    </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Rented car</key>
-    </entry>
-    <entry>
-      <key>Update</key>
-    </entry>
-    <entry>
-      <key>The contact has an advertising ban for emails!</key>
-    </entry>
-    <entry>
-      <key>Blog</key>
-    </entry>
-    <entry>
-      <key>Until</key>
-    </entry>
-    <entry>
-      <key>From</key>
-    </entry>
-    <entry>
-      <key>Park fees</key>
-    </entry>
-    <entry>
-      <key>Abscences</key>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-    </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
-    <entry>
-      <key>Transport cost</key>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>Month</key>
-    </entry>
-    <entry>
-      <key>Working material</key>
-    </entry>
-    <entry>
-      <key>Hospitality</key>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-    </entry>
-    <entry>
-      <key>Update campaign step</key>
-    </entry>
-    <entry>
-      <key>No contacts selected</key>
-    </entry>
-    <entry>
-      <key>Show my campaigns</key>
-    </entry>
-    <entry>
-      <key>My campaigns</key>
-    </entry>
-    <entry>
-      <key>Add to Bulkmail</key>
-    </entry>
-    <entry>
-<<<<<<< HEAD
-      <key>DSGVO Information</key>
-    </entry>
-    <entry>
-      <key>Data Privacy</key>
-    </entry>
-    <entry>
-      <key>No data has been anonymized.</key>
-    </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
-    <entry>
-      <key>Anonymization</key>
-    </entry>
-    <entry>
-      <key>The following data has been anonymised: %0</key>
-    </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-    </entry>
-    <entry>
-      <key>Data Privacies</key>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
-    <entry>
-      <key>Names</key>
-    </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
-    <entry>
-      <key>Adressdaten</key>
-    </entry>
-    <entry>
-      <key>DSGVO anonymisation</key>
-    </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
-    <entry>
-      <key>Address data</key>
-    </entry>
-    <entry>
-      <key>contract of sale</key>
-    </entry>
-    <entry>
-      <key>DataPrivacy Use</key>
-    </entry>
-    <entry>
-      <key>Source</key>
-    </entry>
-    <entry>
-      <key>consent</key>
-    </entry>
-    <entry>
-      <key>Information Report</key>
-    </entry>
-    <entry>
-      <key>Attribute data</key>
-    </entry>
-    <entry>
-      <key>other personal data</key>
-    </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-    </entry>
-    <entry>
-      <key>Disclosure Report</key>
-    </entry>
-    <entry>
-      <key>Update data privacy information</key>
-    </entry>
-    <entry>
-      <key>DataPrivacy Right</key>
-    </entry>
-    <entry>
-      <key>balancing of interests</key>
-    </entry>
-    <entry>
-      <key>Personal data</key>
-    </entry>
-    <entry>
-      <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
-    </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
-    <entry>
-      <key>Recipient, Country</key>
-    </entry>
-    <entry>
-      <key>We save your data until </key>
-    </entry>
-    <entry>
-      <key>Guarantees</key>
-    </entry>
-    <entry>
-      <key>On time</key>
-    </entry>
-    <entry>
-      <key>Nur eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
-    <entry>
-      <key>For this report</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a select clause!</key>
-    </entry>
-    <entry>
-      <key>Inland</key>
-    </entry>
-    <entry>
-      <key>The data is transmitted to the following recipients:</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must be instanciated with 'new'</key>
-    </entry>
-    <entry>
-      <key>Extension letter date</key>
-    </entry>
-    <entry>
-      <key>Balancing of interests</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a from clause!</key>
-    </entry>
-    <entry>
-      <key>None</key>
-    </entry>
-    <entry>
-      <key>Date of request</key>
-    </entry>
-    <entry>
-      <key>Export CSV</key>
-    </entry>
-    <entry>
-      <key>Not all data privacy fields for all private data is filled. Cannot create report.</key>
-    </entry>
-    <entry>
-      <key>Birthday</key>
-    </entry>
-    <entry>
-      <key>Extend - request count</key>
-    </entry>
-    <entry>
-      <key>Transmission</key>
-    </entry>
-    <entry>
-      <key>You don't have permission for this view.</key>
-    </entry>
-    <entry>
-      <key>Extend - complexity</key>
-    </entry>
-    <entry>
-      <key>Advertising consent</key>
-    </entry>
-    <entry>
-      <key>We hereby comply with your request within the statutory period of one month.</key>
-=======
-      <key>%0 recipients will be added to the bulk mail.</key>
->>>>>>> origin/master
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed. Process took %2 s.</key>
-    </entry>
-    <entry>
-<<<<<<< HEAD
-      <key>Foreign country</key>
-    </entry>
-    <entry>
-      <key>phase information</key>
-    </entry>
-    <entry>
-      <key>the high complexity of your application</key>
-    </entry>
-    <entry>
-      <key>As stated in our letter of %0, we have made use of the possibility to extend the deadline to three months due to %1.</key>
-    </entry>
-    <entry>
-      <key>Deadline</key>
-    </entry>
-    <entry>
-      <key>Newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>We received data from </key>
-    </entry>
-    <entry>
-      <key>the number of your applications</key>
-    </entry>
-    <entry>
-      <key>Your changes may have an impact on the data privacy information (DSGVO).\n Please update these.</key>
-    </entry>
-    <entry>
-      <key>External Datasource</key>
-    </entry>
-    <entry>
-      <key>Guarantee</key>
-=======
-      <key>%0 new recipients will be added to the bulk mail.</key>
-    </entry>
-    <entry>
-      <key>Remove recipients with advertising ban</key>
-    </entry>
-    <entry>
-      <key>Serial letter</key>
->>>>>>> origin/master
-    </entry>
-  </keyValueMap>
-  <font name="Dialog" style="0" size="11" />
-  <sqlModels>
-    <languageSql>
-      <name>Data_alias</name>
-      <alias>Data_alias</alias>
-      <statements>
-        <element>select AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY
-union
-select AB_LANGUAGE.NAME_LATIN from AB_LANGUAGE
-union
-select AB_COUNTRYINFO.NAME_LATIN from AB_COUNTRYINFO
-union
-select AB_OBJECTRELATIONTYPE.RELATION_TITLE from AB_OBJECTRELATIONTYPE
-union
-select TITLE from CLASSIFICATIONSCORE
-union
-select SCORETYPE from CLASSIFICATIONTYPE
-union
-select distinct CLASSIFICATIONGROUP from CLASSIFICATIONTYPE
-union
-select AB_ATTRIBUTE.ATTRIBUTE_NAME from AB_ATTRIBUTE</element>
-      </statements>
-    </languageSql>
-  </sqlModels>
-</language>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod.orig b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod.orig
deleted file mode 100644
index 50cb8cf7b5..0000000000
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod.orig
+++ /dev/null
@@ -1,6083 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<language xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/language/1.2.0">
-  <name>_____LANGUAGE_de</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <language>de</language>
-  <country></country>
-  <variant></variant>
-  <keyValueMap>
-    <entry>
-      <key>No mails</key>
-      <value>Keine E-Mails</value>
-    </entry>
-    <entry>
-      <key>Steps</key>
-      <value>Stufen</value>
-    </entry>
-    <entry>
-      <key>Assignment</key>
-      <value>Zuordnung</value>
-    </entry>
-    <entry>
-      <key>Project management</key>
-      <value>Projektmanagement</value>
-    </entry>
-    <entry>
-      <key>ARCHIVE</key>
-      <value>Archiviert</value>
-    </entry>
-    <entry>
-      <key>Maximal</key>
-    </entry>
-    <entry>
-      <key>Sender address</key>
-      <value>Senderadresse</value>
-    </entry>
-    <entry>
-      <key>Failed</key>
-      <value>Fehlgeschlagen</value>
-    </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-      <value>Phase</value>
-    </entry>
-    <entry>
-      <key>No calls</key>
-      <value>Keine Anrufe</value>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-      <value>Keine SMS</value>
-    </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-      <value>Dieser Kontakt hat keine möglichen Verknüpfungen.</value>
-    </entry>
-    <entry>
-      <key>Is being sent</key>
-      <value>Wird versendet</value>
-    </entry>
-    <entry>
-      <key>User Administration</key>
-      <value>Benutzerverwaltung</value>
-    </entry>
-    <entry>
-      <key>Restrictions</key>
-      <value>Einschränkungen</value>
-    </entry>
-    <entry>
-      <key>Notifications</key>
-      <value>Benachrichtigungen</value>
-    </entry>
-    <entry>
-      <key>Do you really want to delete this recurring appointment?</key>
-      <value>Wollen Sie wirklich die Serie löschen?</value>
-    </entry>
-    <entry>
-      <key>Serial letter</key>
-      <value>Serienbrief</value>
-    </entry>
-    <entry>
-      <key>Remove recipients with advertising ban</key>
-      <value>Empfänger mit Werbesperre entfernen</value>
-    </entry>
-    <entry>
-      <key>Open admin view</key>
-      <value>Admin-Ansicht öffnen</value>
-    </entry>
-    <entry>
-      <key>Long string value</key>
-      <value>Langer String-Wert</value>
-    </entry>
-    <entry>
-      <key>Object selection</key>
-      <value>Objektauswahl</value>
-    </entry>
-    <entry>
-      <key>Send</key>
-      <value>Senden</value>
-    </entry>
-    <entry>
-      <key>CONFIRMED</key>
-      <value>Gelesen</value>
-    </entry>
-    <entry>
-      <key>Advertising bans</key>
-      <value>Werbesperren</value>
-    </entry>
-    <entry>
-      <key>Add to Campaign</key>
-      <value>Zu Kampagne hinzufügen</value>
-    </entry>
-    <entry>
-      <key>Bulk mail</key>
-      <value>Serienmail</value>
-    </entry>
-    <entry>
-      <key>Bulk mail \"%0\" was sent!</key>
-      <value>Serienmail \"%0\" wurde versendet!</value>
-    </entry>
-    <entry>
-      <key>No fax</key>
-      <value>Kein Fax</value>
-    </entry>
-    <entry>
-      <key>No letters</key>
-      <value>Keine Briefe</value>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>Company</key>
-      <value>Firma</value>
-    </entry>
-    <entry>
-      <key>Complaint</key>
-      <value>Reklamation</value>
-    </entry>
-    <entry>
-      <key>SEEN</key>
-      <value>Neu</value>
-    </entry>
-    <entry>
-      <key>UNSEEN</key>
-      <value>Neu</value>
-    </entry>
-    <entry>
-      <key>Advertising ban</key>
-      <value>Werbesperre</value>
-    </entry>
-    <entry>
-      <key>Permissions</key>
-      <value>Berechtigungen</value>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key>
-      <value>Das Feld %0 hat ein falsches Format. Das Datenbankfeld muss wie "tablename.columnname" ("ORGANISATION.NAME") oder als Array mit Column-alias formatiert sein: ["ORGANISATION", "NAME", "myorgAlias"]</value>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" can't be used more than %1.</key>
-      <value>Eigenschaft \"%0\" darf maximal %1 verwendet werden.</value>
-    </entry>
-    <entry>
-      <key>Picture</key>
-      <value>Bild</value>
-    </entry>
-    <entry>
-      <key>New letter</key>
-      <value>Brief schreiben</value>
-    </entry>
-    <entry>
-      <key>Delivery specification</key>
-      <value>Lieferbedingung</value>
-    </entry>
-    <entry>
-      <key>Office staff</key>
-      <value>Innendienst</value>
-    </entry>
-    <entry>
-      <key>Recipient</key>
-      <value>Empfänger</value>
-    </entry>
-    <entry>
-      <key>Overdue tasks</key>
-      <value>Überfällige Aufgaben</value>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" has to be used at least %1.</key>
-      <value>Eigenschaft \"%0\" muss mindestens %1 verwendet werden.</value>
-    </entry>
-    <entry>
-      <key>Delete appointment</key>
-      <value>Termin löschen</value>
-    </entry>
-    <entry>
-      <key>Show tasks where I am editor</key>
-      <value>Zeigt Aufgaben an wo ich Bearbeiter bin</value>
-    </entry>
-    <entry>
-      <key>Confirm password</key>
-      <value>Passwort prüfen</value>
-    </entry>
-    <entry>
-      <key>Delete recurring appointment</key>
-      <value>Serie löschen</value>
-    </entry>
-    <entry>
-      <key>Human Resources</key>
-      <value>Personal</value>
-    </entry>
-    <entry>
-      <key>Single</key>
-      <value>Einzel</value>
-    </entry>
-    <entry>
-      <key>ended (abandoned)</key>
-      <value>abgeschlossen (aufgegeben)</value>
-    </entry>
-    <entry>
-      <key>Permission</key>
-      <value>Berechtigung</value>
-    </entry>
-    <entry>
-      <key>Entrydate (Day)</key>
-      <value>Eingangsdatum (Tag)</value>
-    </entry>
-    <entry>
-      <key>still incorrect</key>
-      <value>weiterhin fehlerhaft</value>
-    </entry>
-    <entry>
-      <key>Priority</key>
-      <value>Priorität</value>
-    </entry>
-    <entry>
-      <key>Salesproject phases</key>
-      <value>Vertriebsprojektphasen</value>
-    </entry>
-    <entry>
-      <key>%0 new recipients will be added to the bulk mail.</key>
-      <value>Der Serienmail weden %0 neue Empfänger hinzugefügt.</value>
-    </entry>
-    <entry>
-      <key>Write email</key>
-      <value>E-Mail schreiben</value>
-    </entry>
-    <entry>
-      <key>${ATTRIBUTE_VOID}</key>
-      <value>Tag</value>
-    </entry>
-    <entry>
-      <key>Campaign Period</key>
-      <value>Kampagnen Laufzeit</value>
-    </entry>
-    <entry>
-      <key>Turnover</key>
-      <value>Umsatz</value>
-    </entry>
-    <entry>
-      <key>Discount %</key>
-      <value>Rabatt %</value>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_MULTIPLE}</key>
-      <value>mal</value>
-    </entry>
-    <entry>
-      <key>Email must be unique!</key>
-      <value>Die E-Mail-Adresse muss eindeutig sein!</value>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_SINGLE}</key>
-      <value>mal</value>
-    </entry>
-    <entry>
-      <key>E-Mail</key>
-      <value>E-Mail</value>
-    </entry>
-    <entry>
-      <key>Maximal Count</key>
-      <value>Maximale Anzahl</value>
-    </entry>
-    <entry>
-      <key>Entrydate (Month)</key>
-      <value>Eingangsdatum (Monat)</value>
-    </entry>
-    <entry>
-      <key>Usage</key>
-      <value>Verwendung</value>
-    </entry>
-    <entry>
-      <key>Campaign status</key>
-      <value>Kampagnenstatus</value>
-    </entry>
-    <entry>
-      <key>Show all activities</key>
-      <value>Alle Aktivitäten anzeigen</value>
-    </entry>
-    <entry>
-      <key>Add the selection to a campaign</key>
-      <value>Fügt die Auswahl zur Kampagne hinzu</value>
-    </entry>
-    <entry>
-      <key>${ADDRESS_STATE}</key>
-      <value>Staat</value>
-    </entry>
-    <entry>
-      <key>New tasks</key>
-      <value>Neue Aufgaben</value>
-    </entry>
-    <entry>
-      <key>New module</key>
-      <value>Neuanlage</value>
-    </entry>
-    <entry>
-      <key>Show all contracts</key>
-      <value>Alle Verträge anzeigen</value>
-    </entry>
-    <entry>
-      <key>Max participants</key>
-      <value>Maximale Teilnehmer</value>
-    </entry>
-    <entry>
-      <key>This combination of person and organisation does already exist and can not be created once more.</key>
-      <value>Diese Kombination aus Person und Organisation existiert bereits und kann daher nicht noch ein mal angelegt werden.</value>
-    </entry>
-    <entry>
-      <key>Communication data</key>
-      <value>Kommunikationsdaten</value>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_NEGOTIATION}</key>
-      <value>Negotiation</value>
-    </entry>
-    <entry>
-      <key>Filename</key>
-      <value>Dateiname</value>
-    </entry>
-    <entry>
-      <key>Male</key>
-      <value>Männlich</value>
-    </entry>
-    <entry>
-      <key>Activity</key>
-      <value>Aktivität</value>
-    </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-      <value>Teilnehmer/innen werden zur ausgewählten Kampagnenstufe hinzugefügt</value>
-    </entry>
-    <entry>
-      <key>Name</key>
-      <value>Name</value>
-    </entry>
-    <entry>
-      <key>Austria</key>
-      <value>Österreich</value>
-    </entry>
-    <entry>
-      <key>Set campaign step</key>
-      <value>Kampagnenstufe setzen</value>
-    </entry>
-    <entry>
-      <key>New time tracking</key>
-      <value>Neuer Zeiteintrag</value>
-    </entry>
-    <entry>
-      <key>Customercode</key>
-      <value>Kundennummer</value>
-    </entry>
-    <entry>
-      <key>The person is already associated with another employee!</key>
-      <value>Die Person ist bereits mit einem anderen Mitarbeiter verknüpft!</value>
-    </entry>
-    <entry>
-      <key>Time expenses</key>
-      <value>Aufwand</value>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_OFFER}</key>
-      <value>Offer</value>
-    </entry>
-    <entry>
-      <key>Status</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>Campaigns</key>
-      <value>Kampagnen</value>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_MEMBER}</key>
-      <value>Projektteam</value>
-    </entry>
-    <entry>
-      <key>${QUANTITY_LOWER_THAN_1}</key>
-      <value>Die Menge muss mindestens 1 sein.</value>
-    </entry>
-    <entry>
-      <key>date of birth must not be in the future</key>
-      <value>Geburtsdatum darf nicht in der Zukunft liegen</value>
-    </entry>
-    <entry>
-      <key>Days inactive</key>
-      <value>Tage inaktiv</value>
-    </entry>
-    <entry>
-      <key>Active</key>
-      <value>Aktiv</value>
-    </entry>
-    <entry>
-      <key>Medium</key>
-      <value>Medium</value>
-    </entry>
-    <entry>
-      <key>Internet</key>
-      <value>Internet</value>
-    </entry>
-    <entry>
-      <key>Germany</key>
-      <value>Deutschland</value>
-    </entry>
-    <entry>
-      <key>Online-Meeting</key>
-      <value>Online-Meeting</value>
-    </entry>
-    <entry>
-      <key>Set password</key>
-      <value>Passwort setzen</value>
-    </entry>
-    <entry>
-      <key>Choose address</key>
-      <value>Adresse auswählen</value>
-    </entry>
-    <entry>
-      <key>Social Media</key>
-      <value>Social Media</value>
-    </entry>
-    <entry>
-      <key>Visit</key>
-      <value>Besuch</value>
-    </entry>
-    <entry>
-      <key>Information</key>
-      <value>Information</value>
-    </entry>
-    <entry>
-      <key>Language</key>
-      <value>Sprache</value>
-    </entry>
-    <entry>
-      <key>Phone</key>
-      <value>Telefon</value>
-    </entry>
-    <entry>
-      <key>360 Degree</key>
-      <value>360 Grad</value>
-    </entry>
-    <entry>
-      <key>Activities</key>
-      <value>Aktivitäten</value>
-    </entry>
-    <entry>
-      <key>Female</key>
-      <value>Weiblich</value>
-    </entry>
-    <entry>
-      <key>Contactmanagement</key>
-      <value>Kontaktmanagement</value>
-    </entry>
-    <entry>
-      <key>Office address</key>
-      <value>Firmenadresse</value>
-    </entry>
-    <entry>
-      <key>Additional link</key>
-      <value>Zusätzliche Verknüpfung</value>
-    </entry>
-    <entry>
-      <key>Contact</key>
-      <value>Kontakt</value>
-    </entry>
-    <entry>
-      <key>Home address</key>
-      <value>Privatadresse</value>
-    </entry>
-    <entry>
-      <key>Type</key>
-      <value>Typ</value>
-    </entry>
-    <entry>
-      <key>Contacts</key>
-      <value>Kontakte</value>
-    </entry>
-    <entry>
-      <key>Norway</key>
-      <value>Norwegen</value>
-    </entry>
-    <entry>
-      <key>Address</key>
-      <value>Adresse</value>
-    </entry>
-    <entry>
-      <key>Addresses</key>
-      <value>Adressen</value>
-    </entry>
-    <entry>
-      <key>Contact type</key>
-      <value>Kontaktart</value>
-    </entry>
-    <entry>
-      <key>Footer</key>
-      <value>Fußtext</value>
-    </entry>
-    <entry>
-      <key>${COMM_ADDRESS}</key>
-      <value>Adresse</value>
-    </entry>
-    <entry>
-      <key>Gender</key>
-      <value>Geschlecht</value>
-    </entry>
-    <entry>
-      <key>Show all companies</key>
-      <value>Alle Firmen anzeigen</value>
-    </entry>
-    <entry>
-      <key>Date of birth</key>
-      <value>Geburtsdatum</value>
-    </entry>
-    <entry>
-      <key>Lastname</key>
-      <value>Nachname</value>
-    </entry>
-    <entry>
-      <key>Salutation</key>
-      <value>Anrede</value>
-    </entry>
-    <entry>
-      <key>setRead</key>
-      <value>Gelesen setzen</value>
-    </entry>
-    <entry>
-      <key>Middlename</key>
-      <value>Zwischenname</value>
-    </entry>
-    <entry>
-      <key>Title</key>
-      <value>Titel</value>
-    </entry>
-    <entry>
-      <key>Addresstype</key>
-      <value>Adresstyp</value>
-    </entry>
-    <entry>
-      <key>Add participants to Campaign</key>
-      <value>Kampagnenteilnehmer/innen hinzufügen</value>
-    </entry>
-    <entry>
-      <key>Firstname</key>
-      <value>Vorname</value>
-    </entry>
-    <entry>
-      <key>Show all contacts</key>
-      <value>Alle Kontaktpersonen anzeigen</value>
-    </entry>
-    <entry>
-      <key>Description</key>
-      <value>Beschreibung</value>
-    </entry>
-    <entry>
-      <key>Direction</key>
-      <value>Richtung</value>
-    </entry>
-    <entry>
-      <key>Entrydate</key>
-      <value>Eingangsdatum</value>
-    </entry>
-    <entry>
-      <key>Subject</key>
-      <value>Betreff</value>
-    </entry>
-    <entry>
-      <key>Post office box</key>
-      <value>Postfach</value>
-    </entry>
-    <entry>
-      <key>Delivery address</key>
-      <value>Lieferadresse</value>
-    </entry>
-    <entry>
-      <key>Participants</key>
-      <value>Teilnehmer/innen</value>
-    </entry>
-    <entry>
-      <key>House number</key>
-      <value>Hausnummer</value>
-    </entry>
-    <entry>
-      <key>Country</key>
-      <value>Land</value>
-    </entry>
-    <entry>
-      <key>Communication</key>
-      <value>Kommunikation</value>
-    </entry>
-    <entry>
-      <key>Postcode</key>
-      <value>Postleitzahl</value>
-    </entry>
-    <entry>
-      <key>City</key>
-      <value>Ort</value>
-    </entry>
-    <entry>
-      <key>State</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>Region</key>
-      <value>Gebiet</value>
-    </entry>
-    <entry>
-      <key>District</key>
-      <value>Kreis</value>
-    </entry>
-    <entry>
-      <key>Companies</key>
-      <value>Firmen</value>
-    </entry>
-    <entry>
-      <key>Switzerland</key>
-      <value>Schweiz</value>
-    </entry>
-    <entry>
-      <key>Confirmed</key>
-      <value>Bestätigt</value>
-    </entry>
-    <entry>
-      <key>Descriptions</key>
-      <value>Beschreibungen</value>
-    </entry>
-    <entry>
-      <key>Free</key>
-      <value>Frei</value>
-    </entry>
-    <entry>
-      <key>Tentative</key>
-      <value>Vorläufig</value>
-    </entry>
-    <entry>
-      <key>Ignore series</key>
-      <value>Monatliche Serie nicht genauer spezifiziert. Ignoriere Serie.</value>
-    </entry>
-    <entry>
-      <key>Attachments</key>
-      <value>Anhänge</value>
-    </entry>
-    <entry>
-      <key>Internal (2)</key>
-    </entry>
-    <entry>
-      <key>Touchpoints</key>
-      <value>Kontaktpunkte</value>
-    </entry>
-    <entry>
-      <key>archive</key>
-      <value>Archivieren</value>
-    </entry>
-    <entry>
-      <key>ended (done)</key>
-      <value>abgeschlossen (erledigt)</value>
-    </entry>
-    <entry>
-      <key>Document Template</key>
-      <value>Dokumentvorlage</value>
-    </entry>
-    <entry>
-      <key>Company Addresses</key>
-      <value>Firmenadressen</value>
-    </entry>
-    <entry>
-      <key>yearly series not specified</key>
-      <value>Jährliche Serie nicht genauer spezifiziert. Ignoriere Serie.</value>
-    </entry>
-    <entry>
-      <key>OutOfOffice</key>
-      <value>Außer Haus</value>
-    </entry>
-    <entry>
-      <key>Cancelled</key>
-      <value>Abgesagt</value>
-    </entry>
-    <entry>
-      <key>Ignore daily series</key>
-      <value>Tägliche Serie nicht genauer spezifiziert. Ignoriere Serie.</value>
-    </entry>
-    <entry>
-      <key>yyyyMMdd</key>
-      <value>yyyyMMdd</value>
-    </entry>
-    <entry>
-      <key>standard address</key>
-      <value>Standard-Adresse</value>
-    </entry>
-    <entry>
-      <key>Create receipt</key>
-      <value>Beleg erstellen</value>
-    </entry>
-    <entry>
-      <key>PP</key>
-      <value>EK</value>
-    </entry>
-    <entry>
-      <key>Liter</key>
-    </entry>
-    <entry>
-      <key>Key account</key>
-      <value>Großkunde</value>
-    </entry>
-    <entry>
-      <key>Cover letter</key>
-      <value>Anschreiben</value>
-    </entry>
-    <entry>
-      <key>VAT</key>
-      <value>UmsSt.</value>
-    </entry>
-    <entry>
-      <key>The expiry date must be after the start date!</key>
-      <value>Das Ende-Datum muss nach dem Beginn-Datum liegen!</value>
-    </entry>
-    <entry>
-      <key>Product</key>
-      <value>Produkt</value>
-    </entry>
-    <entry>
-      <key>Developer</key>
-      <value>Hersteller</value>
-    </entry>
-    <entry>
-      <key>Valid until</key>
-      <value>gültig bis</value>
-    </entry>
-    <entry>
-      <key>Department</key>
-      <value>Abteilung</value>
-    </entry>
-    <entry>
-      <key>Price list</key>
-      <value>Preisliste</value>
-    </entry>
-    <entry>
-      <key>Currency</key>
-      <value>Währung</value>
-    </entry>
-    <entry>
-      <key>Payment method</key>
-      <value>Zahlungsweise</value>
-    </entry>
-    <entry>
-      <key>Price list / Company</key>
-      <value>Preisliste / Firma</value>
-    </entry>
-    <entry>
-      <key>Curr. sales price</key>
-      <value>akt. VK-Preis</value>
-    </entry>
-    <entry>
-      <key>Contract</key>
-      <value>Vertrag</value>
-    </entry>
-    <entry>
-      <key>Stock</key>
-      <value>Lagerbestand</value>
-    </entry>
-    <entry>
-      <key>PP/SP</key>
-      <value>EK/VK</value>
-    </entry>
-    <entry>
-      <key>Next due date</key>
-      <value>nächste Fälligkeit</value>
-    </entry>
-    <entry>
-      <key>Discount</key>
-      <value>Rabatt</value>
-    </entry>
-    <entry>
-      <key>The next due date must be after the start of the contract and before the expiry of the contract!</key>
-      <value>Nächste Fälligkeit muss nach Vertragsbeginn und vor Vertragsende liegen!</value>
-    </entry>
-    <entry>
-      <key>Sales</key>
-      <value>Vertrieb</value>
-    </entry>
-    <entry>
-      <key>Contract number</key>
-      <value>Vertragsnummer</value>
-    </entry>
-    <entry>
-      <key>Min. stock</key>
-      <value>Min.-Bestand</value>
-    </entry>
-    <entry>
-      <key>SP</key>
-      <value>VK</value>
-    </entry>
-    <entry>
-      <key>Commodity group 3</key>
-      <value>Warengruppe 3</value>
-    </entry>
-    <entry>
-      <key>Commodity group 2</key>
-      <value>Warengruppe 2</value>
-    </entry>
-    <entry>
-      <key>setUnread</key>
-      <value>Ungelesen setzen</value>
-    </entry>
-    <entry>
-      <key>Campaign Step</key>
-      <value>Kampagnen Stufe</value>
-    </entry>
-    <entry>
-      <key>Commodity group 1</key>
-      <value>Warengruppe 1</value>
-    </entry>
-    <entry>
-      <key>Contract start date</key>
-      <value>Vertragsbeginn</value>
-    </entry>
-    <entry>
-      <key>Remaining Runtime</key>
-      <value>Restlaufzeit</value>
-    </entry>
-    <entry>
-      <key>Spare parts</key>
-      <value>Ersatzteile</value>
-    </entry>
-    <entry>
-      <key>Employee</key>
-      <value>Mitarbeiter</value>
-    </entry>
-    <entry>
-      <key>Unit</key>
-      <value>Einheit</value>
-    </entry>
-    <entry>
-      <key>Contract expiry date</key>
-      <value>Vertragsende</value>
-    </entry>
-    <entry>
-      <key>Yes</key>
-      <value>Ja</value>
-    </entry>
-    <entry>
-      <key>Type of contract</key>
-      <value>Vertragsart</value>
-    </entry>
-    <entry>
-      <key>No</key>
-      <value>Nein</value>
-    </entry>
-    <entry>
-      <key>Service</key>
-      <value>Service</value>
-    </entry>
-    <entry>
-      <key>Advertising material</key>
-      <value>Werbemittel</value>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-      <value>%0 Mails erfolgreich versendet, %1 Mails fehlgeschlagen</value>
-    </entry>
-    <entry>
-      <key>Valid from</key>
-      <value>gültig ab</value>
-    </entry>
-    <entry>
-      <key>Product name</key>
-      <value>Produktname</value>
-    </entry>
-    <entry>
-      <key>Campaign</key>
-      <value>Kampagne</value>
-    </entry>
-    <entry>
-      <key>Product group</key>
-      <value>Produktgruppe</value>
-    </entry>
-    <entry>
-      <key>${CONTRACT_STATUS}</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>From no. of units</key>
-      <value>ab Stückzahl</value>
-    </entry>
-    <entry>
-      <key>Maindocuments</key>
-      <value>Hauptdokumente</value>
-    </entry>
-    <entry>
-      <key>Price</key>
-      <value>Preis</value>
-    </entry>
-    <entry>
-      <key>Conditions</key>
-      <value>Konditionen</value>
-    </entry>
-    <entry>
-      <key>Standard</key>
-    </entry>
-    <entry>
-      <key>I / O</key>
-      <value>E / A</value>
-    </entry>
-    <entry>
-      <key>Date</key>
-      <value>Datum</value>
-    </entry>
-    <entry>
-      <key>IN</key>
-      <value>EIN</value>
-    </entry>
-    <entry>
-      <key>OUT</key>
-      <value>AUS</value>
-    </entry>
-    <entry>
-      <key>Warehouse</key>
-      <value>Lager</value>
-    </entry>
-    <entry>
-      <key>Reference</key>
-      <value>Referenz</value>
-    </entry>
-    <entry>
-      <key>The contract number already exists!</key>
-      <value>Die Vertragsnummer existiert bereits!</value>
-    </entry>
-    <entry>
-      <key>The product number already exists!</key>
-      <value>Die Produktnummer existiert bereits!</value>
-    </entry>
-    <entry>
-      <key>Quantity</key>
-      <value>Menge</value>
-    </entry>
-    <entry>
-      <key>Salesproject</key>
-      <value>Vertriebsprojekt</value>
-    </entry>
-    <entry>
-      <key>Rollout</key>
-      <value>Roll Out</value>
-    </entry>
-    <entry>
-      <key>Phase</key>
-      <value>Phase</value>
-    </entry>
-    <entry>
-      <key>Product number</key>
-      <value>Produktnummer</value>
-    </entry>
-    <entry>
-      <key>Project number</key>
-      <value>Projektnummer</value>
-    </entry>
-    <entry>
-      <key>Project title</key>
-      <value>Projekttitel</value>
-    </entry>
-    <entry>
-      <key>Project start</key>
-      <value>Projektstart</value>
-    </entry>
-    <entry>
-      <key>Volume</key>
-      <value>Volumen</value>
-    </entry>
-    <entry>
-      <key>Partial order</key>
-      <value>Teilauftrag</value>
-    </entry>
-    <entry>
-      <key>Open</key>
-      <value>Offen</value>
-    </entry>
-    <entry>
-      <key>Lost</key>
-      <value>Verloren</value>
-    </entry>
-    <entry>
-      <key>Order</key>
-      <value>Auftrag</value>
-    </entry>
-    <entry>
-      <key>Postponed</key>
-      <value>Vertagt</value>
-    </entry>
-    <entry>
-      <key>Aborted</key>
-      <value>Abgebrochen</value>
-    </entry>
-    <entry>
-      <key>Total net</key>
-      <value>Betrag netto</value>
-    </entry>
-    <entry>
-      <key>Offer</key>
-      <value>Angebot</value>
-    </entry>
-    <entry>
-      <key>Offer number</key>
-      <value>Angebotsnummer</value>
-    </entry>
-    <entry>
-      <key>Show my activities</key>
-      <value>Meine Aktivitäten anzeigen</value>
-    </entry>
-    <entry>
-      <key>Probability</key>
-      <value>Wahrscheinlichkeit</value>
-    </entry>
-    <entry>
-      <key>Total VAT</key>
-      <value>Betrag MWST</value>
-    </entry>
-    <entry>
-      <key>The offer number already exists!</key>
-      <value>Die Angebotsnummer existiert bereits!</value>
-    </entry>
-    <entry>
-      <key>0 %</key>
-    </entry>
-    <entry>
-      <key>Location</key>
-      <value>Ort</value>
-    </entry>
-    <entry>
-      <key>75 %</key>
-    </entry>
-    <entry>
-      <key>100 %</key>
-    </entry>
-    <entry>
-      <key>25 %</key>
-    </entry>
-    <entry>
-      <key>50 %</key>
-    </entry>
-    <entry>
-      <key>Header</key>
-      <value>Kopftext</value>
-    </entry>
-    <entry>
-      <key>Competitors</key>
-      <value>Mitbewerber</value>
-    </entry>
-    <entry>
-      <key>Won</key>
-      <value>Gewonnen</value>
-    </entry>
-    <entry>
-      <key>Checked</key>
-      <value>Geprüft</value>
-    </entry>
-    <entry>
-      <key>Sent</key>
-      <value>Versendet</value>
-    </entry>
-    <entry>
-      <key>Offeritems</key>
-      <value>Angebotsposten</value>
-    </entry>
-    <entry>
-      <key>Header text</key>
-      <value>Kopftext</value>
-    </entry>
-    <entry>
-      <key>Commodity group</key>
-      <value>Warengruppe</value>
-    </entry>
-    <entry>
-      <key>Footer text</key>
-      <value>Fußtext</value>
-    </entry>
-    <entry>
-      <key>Designation</key>
-      <value>Bezeichnung</value>
-    </entry>
-    <entry>
-      <key>Position</key>
-      <value>Position</value>
-    </entry>
-    <entry>
-      <key>Receipt</key>
-      <value>Beleg</value>
-    </entry>
-    <entry>
-      <key>Show all receipts</key>
-      <value>Alle Belege anzeigen</value>
-    </entry>
-    <entry>
-      <key>Optional</key>
-      <value>Optional</value>
-    </entry>
-    <entry>
-      <key>Article</key>
-      <value>Artikel</value>
-    </entry>
-    <entry>
-      <key>Show open salesprojects</key>
-      <value>Offene Vertriebsprojekte anzeigen</value>
-    </entry>
-    <entry>
-      <key>Receipt number</key>
-      <value>Belegnummer</value>
-    </entry>
-    <entry>
-      <key>Offeritem</key>
-      <value>Angebotsposten</value>
-    </entry>
-    <entry>
-      <key>Sum</key>
-      <value>Summe</value>
-    </entry>
-    <entry>
-      <key>Option4</key>
-    </entry>
-    <entry>
-      <key>Offers</key>
-      <value>Angebote</value>
-    </entry>
-    <entry>
-      <key>Option3</key>
-    </entry>
-    <entry>
-      <key>Option2</key>
-    </entry>
-    <entry>
-      <key>Option1</key>
-    </entry>
-    <entry>
-      <key>Countries</key>
-      <value>Länder</value>
-    </entry>
-    <entry>
-      <key>Options</key>
-    </entry>
-    <entry>
-      <key>Total gross</key>
-      <value>Betrag brutto</value>
-    </entry>
-    <entry>
-      <key>Minimal Count</key>
-      <value>Minimale Anzahl</value>
-    </entry>
-    <entry>
-      <key>Identical price list found!</key>
-      <value>Identische Preisliste gefunden!</value>
-    </entry>
-    <entry>
-      <key>Imminent appointments for today</key>
-      <value>Bevorstehende Termine für heute</value>
-    </entry>
-    <entry>
-      <key>Parts list</key>
-      <value>Stückliste</value>
-    </entry>
-    <entry>
-      <key>Parent</key>
-    </entry>
-    <entry>
-      <key>${EURO_SIGN}</key>
-      <value>€</value>
-    </entry>
-    <entry>
-      <key>Planned</key>
-      <value>Geplant
-</value>
-    </entry>
-    <entry>
-      <key>Info</key>
-      <value>Info
-</value>
-    </entry>
-    <entry>
-      <key>${VOLUME_MONEY}</key>
-      <value>Wert
-</value>
-    </entry>
-    <entry>
-      <key>Milestones</key>
-      <value>Meilensteine
-</value>
-    </entry>
-    <entry>
-      <key>Excreted</key>
-      <value>Ausgeschieden
-</value>
-    </entry>
-    <entry>
-      <key>Reason</key>
-      <value>Begründung</value>
-    </entry>
-    <entry>
-      <key>Document</key>
-      <value>Dokument</value>
-    </entry>
-    <entry>
-      <key>Remark</key>
-      <value>Anmerkung</value>
-    </entry>
-    <entry>
-      <key>Competition</key>
-      <value>Mitbewerber</value>
-    </entry>
-    <entry>
-      <key>Forecast</key>
-      <value>Forecast</value>
-    </entry>
-    <entry>
-      <key>Show all products</key>
-      <value>Alle Produkte anzeigen</value>
-    </entry>
-    <entry>
-      <key>Role</key>
-      <value>Rolle</value>
-    </entry>
-    <entry>
-      <key>End date</key>
-      <value>Enddatum</value>
-    </entry>
-    <entry>
-      <key>Documents</key>
-      <value>Dokumente</value>
-    </entry>
-    <entry>
-      <key>New offer version</key>
-      <value>Neue Angebotsversion</value>
-    </entry>
-    <entry>
-      <key>Copy offer</key>
-      <value>Angebot kopieren</value>
-    </entry>
-    <entry>
-      <key>Vers. no.</key>
-      <value>Vers.-Nr.</value>
-    </entry>
-    <entry>
-      <key>Curr. purchase price</key>
-      <value>akt. EK-Preis</value>
-    </entry>
-    <entry>
-      <key>Show all offers</key>
-      <value>Alle Angebote anzeigen</value>
-    </entry>
-    <entry>
-      <key>Preview</key>
-      <value>Vorschau</value>
-    </entry>
-    <entry>
-      <key>Filetype</key>
-      <value>Dateityp</value>
-    </entry>
-    <entry>
-      <key>child of</key>
-      <value>Kind von</value>
-    </entry>
-    <entry>
-      <key>Products</key>
-      <value>Produkte</value>
-    </entry>
-    <entry>
-      <key>Filesize</key>
-      <value>Dateigrösse</value>
-    </entry>
-    <entry>
-      <key>TODELETE</key>
-      <value>Für Löschung vorgesehen</value>
-    </entry>
-    <entry>
-      <key>Contracts</key>
-      <value>Verträge</value>
-    </entry>
-    <entry>
-      <key>Classification</key>
-      <value>Klassifizierung</value>
-    </entry>
-    <entry>
-      <key>High price strategy</key>
-      <value>Hochpreisstrategie</value>
-    </entry>
-    <entry>
-      <key>Show all sent receipts</key>
-      <value>Alle versendeten Belege anzeigen</value>
-    </entry>
-    <entry>
-      <key>Low price strategy</key>
-      <value>Niedrigpreisstrategie</value>
-    </entry>
-    <entry>
-      <key>Sent offers</key>
-      <value>Versendete Angebote</value>
-    </entry>
-    <entry>
-      <key>responsible</key>
-      <value>verantwortlich</value>
-    </entry>
-    <entry>
-      <key>Main document</key>
-      <value>Hauptdokument</value>
-    </entry>
-    <entry>
-      <key>False</key>
-      <value>Nein</value>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of a user</key>
-      <value>Alle Facebook Beiträge eines Benutzers anzeigen</value>
-    </entry>
-    <entry>
-      <key>My Activities</key>
-      <value>Meine Aktivitäten</value>
-    </entry>
-    <entry>
-      <key>Everyone</key>
-      <value>Jeder</value>
-    </entry>
-    <entry>
-      <key>Combobox Value</key>
-      <value>Combobox-Wert</value>
-    </entry>
-    <entry>
-      <key>Salesprojects</key>
-      <value>Vertriebsprojekte</value>
-    </entry>
-    <entry>
-      <key>Open salesprojects</key>
-      <value>Offene Vertriebsprojekte</value>
-    </entry>
-    <entry>
-      <key>Other</key>
-    </entry>
-    <entry>
-      <key>Show all sent offers</key>
-      <value>Alle versendeten Angebote anzeigen</value>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of ADITO</key>
-      <value>Alle Facebook Beiträge von ADITO anzeigen</value>
-    </entry>
-    <entry>
-      <key>Individual</key>
-    </entry>
-    <entry>
-      <key>Receipts</key>
-      <value>Belege</value>
-    </entry>
-    <entry>
-      <key>Show all salesprojects</key>
-      <value>Alle Vertriebsprojekte anzeigen</value>
-    </entry>
-    <entry>
-      <key>Abomodel</key>
-      <value>Abomodell</value>
-    </entry>
-    <entry>
-      <key>Show all tweets of ADITO</key>
-      <value>Alle tweets von ADITO anzeigen</value>
-    </entry>
-    <entry>
-      <key>Show all tweets of a user</key>
-      <value>Alle tweets eines Benutzers anzeigen</value>
-    </entry>
-    <entry>
-      <key>Please update the ${FORECAST_ENGLISH}.</key>
-      <value>Bitte den Forecast überprüfen.</value>
-    </entry>
-    <entry>
-      <key>Industry</key>
-      <value>Branche</value>
-    </entry>
-    <entry>
-      <key>Value</key>
-      <value>Wert</value>
-    </entry>
-    <entry>
-      <key>no standard email office</key>
-      <value>keine Standard-E-Mail Büro vorhanden !</value>
-    </entry>
-    <entry>
-      <key>no valid format</key>
-    </entry>
-    <entry>
-      <key>Deliveryspecification</key>
-      <value>Lieferbedingung</value>
-    </entry>
-    <entry>
-      <key>Plus Salestax</key>
-      <value>zzgl.Summe UmSt</value>
-    </entry>
-    <entry>
-      <key>Pos.</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-3</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-2</key>
-    </entry>
-    <entry>
-      <key>Field staff</key>
-      <value>Aussendienst</value>
-    </entry>
-    <entry>
-      <key>0.00</key>
-    </entry>
-    <entry>
-      <key>Conditions of payment</key>
-      <value>Zahlungsbedingung</value>
-    </entry>
-    <entry>
-      <key>Relationship</key>
-      <value>Beziehung</value>
-    </entry>
-    <entry>
-      <key>Text Modular</key>
-      <value>Textbaustein</value>
-    </entry>
-    <entry>
-      <key>${BINARY_LIB_TOO_MANY_BINARIES}</key>
-      <value>Für dieses Binärfeld ist nur ein Datensatz erlaubt.</value>
-    </entry>
-    <entry>
-      <key>Put Reciever Into To</key>
-      <value>Bitte einen Adressat in 'to' eintragen!</value>
-    </entry>
-    <entry>
-      <key>customer checks</key>
-      <value>Kunde prüft</value>
-    </entry>
-    <entry>
-      <key>History</key>
-      <value>Verlauf</value>
-    </entry>
-    <entry>
-      <key>Total</key>
-      <value>Gesamt</value>
-    </entry>
-    <entry>
-      <key>Articlenumber</key>
-      <value>Artikelnummer</value>
-    </entry>
-    <entry>
-      <key>Native Name</key>
-      <value>Geburtsname</value>
-    </entry>
-    <entry>
-      <key>#,##0</key>
-    </entry>
-    <entry>
-      <key>Unitprice</key>
-      <value>Einzelpreis</value>
-    </entry>
-    <entry>
-      <key>Number</key>
-      <value>Nummer</value>
-    </entry>
-    <entry>
-      <key>Tasks</key>
-      <value>Aufgaben</value>
-    </entry>
-    <entry>
-      <key>New offer</key>
-      <value>Angebot erstellen</value>
-    </entry>
-    <entry>
-      <key>dd.MM.yyyy</key>
-      <value>dd.MM.yyyy</value>
-    </entry>
-    <entry>
-      <key>Articledescription</key>
-      <value>Artikelbezeichnung</value>
-    </entry>
-    <entry>
-      <key>Edit defaults</key>
-      <value>Standards anpassen</value>
-    </entry>
-    <entry>
-      <key>no valid mail-address format</key>
-    </entry>
-    <entry>
-      <key>Amount</key>
-      <value>Menge</value>
-    </entry>
-    <entry>
-      <key>#,##0.00</key>
-    </entry>
-    <entry>
-      <key>Latin Name</key>
-      <value>Lateinischer Name</value>
-    </entry>
-    <entry>
-      <key>Organisation name</key>
-      <value>Name der Organisation</value>
-    </entry>
-    <entry>
-      <key>Connection</key>
-      <value>Verknüpfung</value>
-    </entry>
-    <entry>
-      <key>standard email</key>
-      <value>Standard-Email</value>
-    </entry>
-    <entry>
-      <key>Creator</key>
-      <value>Ersteller</value>
-    </entry>
-    <entry>
-      <key>Timetracking</key>
-      <value>Zeiterfassung</value>
-    </entry>
-    <entry>
-      <key>Further informations</key>
-      <value>Weitere Informationen</value>
-    </entry>
-    <entry>
-      <key>Social</key>
-      <value>Sozial</value>
-    </entry>
-    <entry>
-      <key>Facebook Feed</key>
-      <value>Facebook Feed</value>
-    </entry>
-    <entry>
-      <key>Group1</key>
-    </entry>
-    <entry>
-      <key>Group2</key>
-    </entry>
-    <entry>
-      <key>Details</key>
-      <value>Details</value>
-    </entry>
-    <entry>
-      <key>Prices</key>
-      <value>Preise</value>
-    </entry>
-    <entry>
-      <key>Twitter</key>
-      <value>Twitter</value>
-    </entry>
-    <entry>
-      <key>Connections</key>
-      <value>Verknüpfungen</value>
-    </entry>
-    <entry>
-      <key>Object</key>
-      <value>Objekt</value>
-    </entry>
-    <entry>
-      <key>Attributes</key>
-      <value>Eigenschaften</value>
-    </entry>
-    <entry>
-      <key>Facebook</key>
-      <value>Facebook</value>
-    </entry>
-    <entry>
-      <key>Creation date</key>
-      <value>Erstellungsdatum</value>
-    </entry>
-    <entry>
-      <key>Year</key>
-      <value>Jahr</value>
-    </entry>
-    <entry>
-      <key>New receipt version</key>
-      <value>Neue Quittungsversion</value>
-    </entry>
-    <entry>
-      <key>Orderitems</key>
-      <value>Belegposten</value>
-    </entry>
-    <entry>
-      <key>Sent receipts</key>
-      <value>Versendete Belege</value>
-    </entry>
-    <entry>
-      <key>Entrydate must not be in the future</key>
-      <value>Eingangsdatum darf nicht in der Zukunft liegen</value>
-    </entry>
-    <entry>
-      <key>Copy receipt</key>
-      <value>Beleg kopieren</value>
-    </entry>
-    <entry>
-      <key>Orderitem</key>
-    </entry>
-    <entry>
-      <key>The order number already exists!</key>
-    </entry>
-    <entry>
-      <key>New activity</key>
-      <value>Neue Aktivität</value>
-    </entry>
-    <entry>
-      <key>July</key>
-      <value>Juli</value>
-    </entry>
-    <entry>
-      <key>ADITO Facebook Feed</key>
-    </entry>
-    <entry>
-      <key>ADITO Twitter Feed</key>
-    </entry>
-    <entry>
-      <key>June</key>
-      <value>Juni</value>
-    </entry>
-    <entry>
-      <key>October</key>
-      <value>Oktober</value>
-    </entry>
-    <entry>
-      <key>Take price</key>
-      <value>Preis übernehmen</value>
-    </entry>
-    <entry>
-      <key>Customer Base Sheet</key>
-      <value>Kundenstammblatt</value>
-    </entry>
-    <entry>
-      <key>Twitter Feed</key>
-      <value>Twitter Feed</value>
-    </entry>
-    <entry>
-      <key>November</key>
-      <value>November</value>
-    </entry>
-    <entry>
-      <key>December</key>
-      <value>Dezember</value>
-    </entry>
-    <entry>
-      <key>May</key>
-      <value>Mai</value>
-    </entry>
-    <entry>
-      <key>April</key>
-      <value>April</value>
-    </entry>
-    <entry>
-      <key>January</key>
-      <value>Januar</value>
-    </entry>
-    <entry>
-      <key>March</key>
-      <value>März</value>
-    </entry>
-    <entry>
-      <key>September</key>
-      <value>September</value>
-    </entry>
-    <entry>
-      <key>August</key>
-      <value>August</value>
-    </entry>
-    <entry>
-      <key>Category</key>
-      <value>Kategorie</value>
-    </entry>
-    <entry>
-      <key>February</key>
-      <value>Februar</value>
-    </entry>
-    <entry>
-      <key>{$TASK_STATUS}</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>Task</key>
-      <value>Aufgabe</value>
-    </entry>
-    <entry>
-      <key>subject</key>
-      <value>Betreff</value>
-    </entry>
-    <entry>
-      <key>{$TASK_REQUESTOR}</key>
-      <value>Anforderer</value>
-    </entry>
-    <entry>
-      <key>task number</key>
-      <value>Aufgabennummer</value>
-    </entry>
-    <entry>
-      <key>description</key>
-      <value>Beschreibung</value>
-    </entry>
-    <entry>
-      <key>priority</key>
-      <value>Priorität</value>
-    </entry>
-    <entry>
-      <key>{$TASK_EDITOR}</key>
-      <value>Bearbeiter</value>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_HIGH}</key>
-      <value>hoch</value>
-    </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
-    <entry>
-      <key>Senden per E-Mail</key>
-    </entry>
-    <entry>
-      <key>Betreff</key>
-    </entry>
-    <entry>
-      <key>title</key>
-      <value>Titel</value>
-    </entry>
-    <entry>
-      <key>von</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_LOW}</key>
-      <value>niedrig</value>
-    </entry>
-    <entry>
-      <key>Nur Eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NORMAL}</key>
-      <value>normal</value>
-    </entry>
-    <entry>
-      <key>Beschreibung</key>
-    </entry>
-    <entry>
-      <key>Unit price</key>
-      <value>Einzelpreis</value>
-    </entry>
-    <entry>
-      <key>type</key>
-      <value>Typ</value>
-    </entry>
-    <entry>
-      <key>Benutzer</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NONE}</key>
-      <value>keine</value>
-    </entry>
-    <entry>
-      <key>Directly responsible:</key>
-      <value>Ihr zuständiger Betreuer:</value>
-    </entry>
-    <entry>
-      <key>Appointment</key>
-      <value>Termin</value>
-    </entry>
-    <entry>
-      <key>Vorschau</key>
-    </entry>
-    <entry>
-      <key>Angebot</key>
-    </entry>
-    <entry>
-      <key>Salesdashboard</key>
-      <value>Vertriebsdashboard</value>
-    </entry>
-    <entry>
-      <key>details</key>
-      <value>details</value>
-    </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
-    <entry>
-      <key>Key figures</key>
-    </entry>
-    <entry>
-      <key>Person</key>
-    </entry>
-    <entry>
-      <key>Detail</key>
-      <value>Detail</value>
-    </entry>
-    <entry>
-      <key>Relations</key>
-      <value>Beziehungen</value>
-    </entry>
-    <entry>
-      <key>${FORECAST_ENGLISH}</key>
-      <value>Forecast</value>
-    </entry>
-    <entry>
-      <key>Title (original language)</key>
-      <value>Titel (ursprüngliche Sprache)</value>
-    </entry>
-    <entry>
-      <key>My Dashboard</key>
-      <value>My Dashboard</value>
-    </entry>
-    <entry>
-      <key>Key</key>
-    </entry>
-    <entry>
-      <key>Attribute</key>
-      <value>Eigenschaft</value>
-    </entry>
-    <entry>
-      <key>Container</key>
-    </entry>
-    <entry>
-      <key>Administration</key>
-      <value>Administration</value>
-    </entry>
-    <entry>
-      <key>Keyword</key>
-      <value>Schlüsselwort</value>
-    </entry>
-    <entry>
-      <key>Sorting</key>
-      <value>Sortierung</value>
-    </entry>
-    <entry>
-      <key>jdito</key>
-    </entry>
-    <entry>
-      <key>Context id</key>
-    </entry>
-    <entry>
-      <key>Context name</key>
-    </entry>
-    <entry>
-      <key>Cambodia</key>
-      <value>Kambodscha</value>
-    </entry>
-    <entry>
-      <key>Resigned</key>
-      <value>gekündigt</value>
-    </entry>
-    <entry>
-      <key>Customer</key>
-      <value>Kunde</value>
-    </entry>
-    <entry>
-      <key>Outgoing</key>
-      <value>ausgehend</value>
-    </entry>
-    <entry>
-      <key>Paraguay</key>
-      <value>Paraguay</value>
-    </entry>
-    <entry>
-      <key>New attribute</key>
-      <value>Neues Attribut</value>
-    </entry>
-    <entry>
-      <key>Solomon Islands</key>
-      <value>Salomon-Inseln</value>
-    </entry>
-    <entry>
-      <key>Montserrat</key>
-      <value>Montserrat</value>
-    </entry>
-    <entry>
-      <key>Guadeloupe</key>
-      <value>Guadeloupe</value>
-    </entry>
-    <entry>
-      <key>Product_technic</key>
-      <value>Produkt_Technik</value>
-    </entry>
-    <entry>
-      <key>Moldova (Republic of)</key>
-      <value>Republik Moldau</value>
-    </entry>
-    <entry>
-      <key>Seychelles</key>
-      <value>Seychellen</value>
-    </entry>
-    <entry>
-      <key>Canadian dollar</key>
-      <value>Kanadischer Dollar</value>
-    </entry>
-    <entry>
-      <key>Bahrain</key>
-      <value>Bahrain</value>
-    </entry>
-    <entry>
-      <key>Comoros</key>
-      <value>Komoren</value>
-    </entry>
-    <entry>
-      <key>Faroe Islands</key>
-      <value>Färöer Inseln</value>
-    </entry>
-    <entry>
-      <key>Finland</key>
-      <value>Finnland</value>
-    </entry>
-    <entry>
-      <key>Project_duration</key>
-      <value>Projekt_Dauer</value>
-    </entry>
-    <entry>
-      <key>Company_internationality</key>
-      <value>Unternehmen_Internationalität</value>
-    </entry>
-    <entry>
-      <key>Eritrea</key>
-      <value>Eritrea</value>
-    </entry>
-    <entry>
-      <key>Puerto Rico</key>
-      <value>Puerto Rico</value>
-    </entry>
-    <entry>
-      <key>Viet Nam</key>
-      <value>Vietnam</value>
-    </entry>
-    <entry>
-      <key>Libya</key>
-      <value>Libyen</value>
-    </entry>
-    <entry>
-      <key>French</key>
-      <value>Französisch</value>
-    </entry>
-    <entry>
-      <key>Cocos (Keeling) Islands</key>
-      <value>Kokosinseln (Keelinginseln)</value>
-    </entry>
-    <entry>
-      <key>Saint Helena, Ascension and Tristan da Cunha</key>
-      <value>St. Helena, Himmelfahrt und Tristan da Cunha</value>
-    </entry>
-    <entry>
-      <key>Liechtenstein</key>
-      <value>Liechtenstein</value>
-    </entry>
-    <entry>
-      <key>Product_functionality</key>
-      <value>Produkt_Funktionalität</value>
-    </entry>
-    <entry>
-      <key>New appointment</key>
-      <value>Neuer Termin</value>
-    </entry>
-    <entry>
-      <key>Bulgaria</key>
-      <value>Bulgarien</value>
-    </entry>
-    <entry>
-      <key>Jordan</key>
-      <value>Jordan</value>
-    </entry>
-    <entry>
-      <key>Côte d'Ivoire</key>
-      <value>Elfenbeinküste</value>
-    </entry>
-    <entry>
-      <key>United Arab Emirates</key>
-      <value>Vereinigte Arabische Emirate</value>
-    </entry>
-    <entry>
-      <key>Kenya</key>
-      <value>Kenia</value>
-    </entry>
-    <entry>
-      <key>None, individual count</key>
-      <value>keiner, Einzelberechnung</value>
-    </entry>
-    <entry>
-      <key>French Polynesia</key>
-      <value>Französisch Polynesien</value>
-    </entry>
-    <entry>
-      <key>Djibouti</key>
-      <value>Dschibuti</value>
-    </entry>
-    <entry>
-      <key>Cuba</key>
-      <value>Kuba</value>
-    </entry>
-    <entry>
-      <key>Saint Lucia</key>
-      <value>St. Lucia</value>
-    </entry>
-    <entry>
-      <key>Mayotte</key>
-      <value>Mayotte</value>
-    </entry>
-    <entry>
-      <key>Israel</key>
-      <value>Israel</value>
-    </entry>
-    <entry>
-      <key>San Marino</key>
-      <value>San Marino</value>
-    </entry>
-    <entry>
-      <key>Tajikistan</key>
-      <value>Tadschikistan</value>
-    </entry>
-    <entry>
-      <key>Warehouse 2</key>
-      <value>Lager 2</value>
-    </entry>
-    <entry>
-      <key>Warehouse 1</key>
-      <value>Lager 1</value>
-    </entry>
-    <entry>
-      <key>Gibraltar</key>
-      <value>Gibraltar</value>
-    </entry>
-    <entry>
-      <key>Warehouse 3</key>
-      <value>Lager 3</value>
-    </entry>
-    <entry>
-      <key>Cyprus</key>
-      <value>Zypern</value>
-    </entry>
-    <entry>
-      <key>Semiannually</key>
-      <value>halbjährlich</value>
-    </entry>
-    <entry>
-      <key>Northern Mariana Islands</key>
-      <value>Nördliche Marianneninseln</value>
-    </entry>
-    <entry>
-      <key>Malaysia</key>
-      <value>Malaysia</value>
-    </entry>
-    <entry>
-      <key>Letter</key>
-      <value>Brief</value>
-    </entry>
-    <entry>
-      <key>Armenia</key>
-      <value>Armenien</value>
-    </entry>
-    <entry>
-      <key>Brazil</key>
-      <value>Brasilien</value>
-    </entry>
-    <entry>
-      <key>Turks and Caicos Islands</key>
-      <value>Turks- und Caicosinseln</value>
-    </entry>
-    <entry>
-      <key>Cabo Verde</key>
-      <value>Cabo Verde</value>
-    </entry>
-    <entry>
-      <key>Ecuador</key>
-      <value>Ecuador</value>
-    </entry>
-    <entry>
-      <key>Iran (Islamic Republic of)</key>
-      <value>Iran (Islamische Republik)</value>
-    </entry>
-    <entry>
-      <key>Decision maker</key>
-      <value>Entscheider</value>
-    </entry>
-    <entry>
-      <key>Lao People's Democratic Republic</key>
-      <value>Demokratische Volksrepublik Laos</value>
-    </entry>
-    <entry>
-      <key>Maintenance contract</key>
-      <value>Wartungsvertrag</value>
-    </entry>
-    <entry>
-      <key>United States Minor Outlying Islands</key>
-      <value>Kleinere abgelegene Inseln der Vereinigten Staaten</value>
-    </entry>
-    <entry>
-      <key>Italy</key>
-      <value>Italien</value>
-    </entry>
-    <entry>
-      <key>${ORGTYPE_OTHER}</key>
-      <value>Sonstiges</value>
-    </entry>
-    <entry>
-      <key>Haiti</key>
-      <value>Haiti</value>
-    </entry>
-    <entry>
-      <key>Afghanistan</key>
-      <value>Afghanistan</value>
-    </entry>
-    <entry>
-      <key>Russian Federation</key>
-      <value>Russische Föderation</value>
-    </entry>
-    <entry>
-      <key>waiting</key>
-      <value>warten auf Rückmeldung</value>
-    </entry>
-    <entry>
-      <key>American Samoa</key>
-      <value>Amerikanischen Samoa-Inseln</value>
-    </entry>
-    <entry>
-      <key>Korea (Democratic People's Republic of)</key>
-      <value>Korea, Demokratische Volksrepublik)</value>
-    </entry>
-    <entry>
-      <key>United States dollar</key>
-      <value>US-Dollar</value>
-    </entry>
-    <entry>
-      <key>Superordinate Attribute</key>
-      <value>Übergeordnete Eigenschaft</value>
-    </entry>
-    <entry>
-      <key>Kyrgyzstan</key>
-      <value>Kirgisistan</value>
-    </entry>
-    <entry>
-      <key>Togo</key>
-      <value>Togo</value>
-    </entry>
-    <entry>
-      <key>Other_existing Customer</key>
-      <value>Sonstiges_Bestandskunde</value>
-    </entry>
-    <entry>
-      <key>Uzbekistan</key>
-      <value>Usbekistan</value>
-    </entry>
-    <entry>
-      <key>Dominica</key>
-      <value>Dominica</value>
-    </entry>
-    <entry>
-      <key>Benin</key>
-      <value>Benin</value>
-    </entry>
-    <entry>
-      <key>Virgin Islands (British)</key>
-      <value>Virgin Inseln, Britisch)</value>
-    </entry>
-    <entry>
-      <key>Sudan</key>
-      <value>Sudan</value>
-    </entry>
-    <entry>
-      <key>Portugal</key>
-      <value>Portugal</value>
-    </entry>
-    <entry>
-      <key>Grenada</key>
-      <value>Grenada</value>
-    </entry>
-    <entry>
-      <key>Latvia</key>
-      <value>Lettland</value>
-    </entry>
-    <entry>
-      <key>Mongolia</key>
-      <value>Mongolei</value>
-    </entry>
-    <entry>
-      <key>Morocco</key>
-      <value>Marokko</value>
-    </entry>
-    <entry>
-      <key>Guatemala</key>
-      <value>Guatemala</value>
-    </entry>
-    <entry>
-      <key>Pieces</key>
-      <value>Stück</value>
-    </entry>
-    <entry>
-      <key>Heard Island and McDonald Islands</key>
-      <value>Heard Island und McDonald Islands</value>
-    </entry>
-    <entry>
-      <key>Incoming</key>
-      <value>eingehend</value>
-    </entry>
-    <entry>
-      <key>Ghana</key>
-      <value>Ghana</value>
-    </entry>
-    <entry>
-      <key>Holy See</key>
-      <value>Heiliger Stuhl</value>
-    </entry>
-    <entry>
-      <key>India</key>
-      <value>Indien</value>
-    </entry>
-    <entry>
-      <key>Canada</key>
-      <value>Kanada</value>
-    </entry>
-    <entry>
-      <key>Attachment</key>
-      <value>Anhang</value>
-    </entry>
-    <entry>
-      <key>Maldives</key>
-      <value>Malediven</value>
-    </entry>
-    <entry>
-      <key>Service contract</key>
-      <value>Dienstleistungsvertrag</value>
-    </entry>
-    <entry>
-      <key>Taiwan</key>
-      <value>Taiwan</value>
-    </entry>
-    <entry>
-      <key>Central African Republic</key>
-      <value>Zentralafrikanische Republik</value>
-    </entry>
-    <entry>
-      <key>Fiji</key>
-      <value>Fidschi</value>
-    </entry>
-    <entry>
-      <key>Guinea</key>
-      <value>Guinea</value>
-    </entry>
-    <entry>
-      <key>Somalia</key>
-      <value>Somalia</value>
-    </entry>
-    <entry>
-      <key>Sao Tome and Principe</key>
-      <value>Sao Tome und Principe</value>
-    </entry>
-    <entry>
-      <key>United Kingdom of Great Britain and Northern Ireland</key>
-      <value>Vereinigtes Königreich Großbritannien und Nordirland</value>
-    </entry>
-    <entry>
-      <key>Equatorial Guinea</key>
-      <value>Äquatorialguinea</value>
-    </entry>
-    <entry>
-      <key>Kiribati</key>
-      <value>Kiribati</value>
-    </entry>
-    <entry>
-      <key>Costa Rica</key>
-      <value>Costa Rica</value>
-    </entry>
-    <entry>
-      <key>Supplier</key>
-      <value>Lieferant</value>
-    </entry>
-    <entry>
-      <key>Nigeria</key>
-      <value>Nigeria</value>
-    </entry>
-    <entry>
-      <key>Syrian Arab Republic</key>
-      <value>Syrische Arabische Republik</value>
-    </entry>
-    <entry>
-      <key>Timor-Leste</key>
-      <value>Timor-Leste</value>
-    </entry>
-    <entry>
-      <key>Product_mobile use</key>
-      <value>Produkt_Mobiler Einsatz</value>
-    </entry>
-    <entry>
-      <key>Samoa</key>
-      <value>Samoa</value>
-    </entry>
-    <entry>
-      <key>Spain</key>
-      <value>Spanien</value>
-    </entry>
-    <entry>
-      <key>Palau</key>
-      <value>Palau</value>
-    </entry>
-    <entry>
-      <key>Prospect</key>
-      <value>Interessent</value>
-    </entry>
-    <entry>
-      <key>Estonia</key>
-      <value>Estland</value>
-    </entry>
-    <entry>
-      <key>Not signed yet</key>
-      <value>noch nicht unterschrieben</value>
-    </entry>
-    <entry>
-      <key>Niue</key>
-      <value>Niue</value>
-    </entry>
-    <entry>
-      <key>Mozambique</key>
-      <value>Mosambik</value>
-    </entry>
-    <entry>
-      <key>El Salvador</key>
-      <value>El Salvador</value>
-    </entry>
-    <entry>
-      <key>Guam</key>
-      <value>Guam</value>
-    </entry>
-    <entry>
-      <key>Lesotho</key>
-      <value>Lesotho</value>
-    </entry>
-    <entry>
-      <key>Tonga</key>
-      <value>Tonga</value>
-    </entry>
-    <entry>
-      <key>Western Sahara</key>
-      <value>Westsahara</value>
-    </entry>
-    <entry>
-      <key>new</key>
-      <value>neu</value>
-    </entry>
-    <entry>
-      <key>Adviser</key>
-      <value>Berater</value>
-    </entry>
-    <entry>
-      <key>Company_size</key>
-      <value>Unternehmen_Größe</value>
-    </entry>
-    <entry>
-      <key>Republic of Kosovo</key>
-      <value>Republik Kosovo</value>
-    </entry>
-    <entry>
-      <key>South Sudan</key>
-      <value>Südsudan</value>
-    </entry>
-    <entry>
-      <key>Mauritius</key>
-      <value>Mauritius</value>
-    </entry>
-    <entry>
-      <key>Bouvet Island</key>
-      <value>Bouvet Island</value>
-    </entry>
-    <entry>
-      <key>Bolivia (Plurinational State of)</key>
-      <value>Bolivien (plurinationaler Staat)</value>
-    </entry>
-    <entry>
-      <key>Norfolk Island</key>
-      <value>Norfolkinsel</value>
-    </entry>
-    <entry>
-      <key>Sint Maarten (Dutch part)</key>
-      <value>Sint Maarten (niederländischer Teil)</value>
-    </entry>
-    <entry>
-      <key>Micronesia (Federated States of)</key>
-      <value>Mikronesien (Föderierte Staaten von)</value>
-    </entry>
-    <entry>
-      <key>Product_industry knowhow</key>
-      <value>Produkt_Branchen KnowHow</value>
-    </entry>
-    <entry>
-      <key>Progress</key>
-      <value>Fortschritt</value>
-    </entry>
-    <entry>
-      <key>United States of America</key>
-      <value>Vereinigte Staaten von Amerika</value>
-    </entry>
-    <entry>
-      <key>In review</key>
-      <value>zur Prüfung</value>
-    </entry>
-    <entry>
-      <key>Address purchase</key>
-      <value>Adresserwerb</value>
-    </entry>
-    <entry>
-      <key>Malta</key>
-      <value>Malta</value>
-    </entry>
-    <entry>
-      <key>Project_volume</key>
-      <value>Projekt_Volumen</value>
-    </entry>
-    <entry>
-      <key>Ireland</key>
-      <value>Irland</value>
-    </entry>
-    <entry>
-      <key>Inactive</key>
-      <value>Inaktiv</value>
-    </entry>
-    <entry>
-      <key>unassigned</key>
-      <value>nicht zugewiesen</value>
-    </entry>
-    <entry>
-      <key>France</key>
-      <value>Frankreich</value>
-    </entry>
-    <entry>
-      <key>Lithuania</key>
-      <value>Litauen</value>
-    </entry>
-    <entry>
-      <key>Korea (Republic of)</key>
-      <value>Korea (Republik)</value>
-    </entry>
-    <entry>
-      <key>${PRICELIST_SERVICE}</key>
-      <value>Service</value>
-    </entry>
-    <entry>
-      <key>English</key>
-      <value>Englisch</value>
-    </entry>
-    <entry>
-      <key>Nicaragua</key>
-      <value>Nicaragua</value>
-    </entry>
-    <entry>
-      <key>Macao</key>
-      <value>Macao</value>
-    </entry>
-    <entry>
-      <key>Mexico</key>
-      <value>Mexiko</value>
-    </entry>
-    <entry>
-      <key>Uganda</key>
-      <value>Uganda</value>
-    </entry>
-    <entry>
-      <key>Suriname</key>
-      <value>Suriname</value>
-    </entry>
-    <entry>
-      <key>Greenland</key>
-      <value>Grönland</value>
-    </entry>
-    <entry>
-      <key>Papua New Guinea</key>
-      <value>Papua Neu-Guinea</value>
-    </entry>
-    <entry>
-      <key>Kazakhstan</key>
-      <value>Kasachstan</value>
-    </entry>
-    <entry>
-      <key>Ã…land Islands</key>
-      <value>Ã…landinseln</value>
-    </entry>
-    <entry>
-      <key>Bahamas</key>
-      <value>Bahamas</value>
-    </entry>
-    <entry>
-      <key>Mali</key>
-      <value>Mali</value>
-    </entry>
-    <entry>
-      <key>Marshall Islands</key>
-      <value>Marshallinseln</value>
-    </entry>
-    <entry>
-      <key>Panama</key>
-      <value>Panama</value>
-    </entry>
-    <entry>
-      <key>Bonaire, Sint Eustatius and Saba</key>
-      <value>Bonaire, Sint Eustatius und Saba</value>
-    </entry>
-    <entry>
-      <key>Tanzania, United Republic of</key>
-      <value>Tansania, Vereinigte Republik</value>
-    </entry>
-    <entry>
-      <key>Argentina</key>
-      <value>Argentinien</value>
-    </entry>
-    <entry>
-      <key>Belize</key>
-      <value>Belize</value>
-    </entry>
-    <entry>
-      <key>Zambia</key>
-      <value>Sambia</value>
-    </entry>
-    <entry>
-      <key>Congo</key>
-      <value>Kongo</value>
-    </entry>
-    <entry>
-      <key>Guinea-Bissau</key>
-      <value>Guinea-Bissau</value>
-    </entry>
-    <entry>
-      <key>Namibia</key>
-      <value>Namibia</value>
-    </entry>
-    <entry>
-      <key>External sales manager</key>
-      <value>Externer Verkaufsleiter</value>
-    </entry>
-    <entry>
-      <key>Georgia</key>
-      <value>Georgia</value>
-    </entry>
-    <entry>
-      <key>Saint Kitts and Nevis</key>
-      <value>St. Kitts und Nevis</value>
-    </entry>
-    <entry>
-      <key>Yemen</key>
-      <value>Jemen</value>
-    </entry>
-    <entry>
-      <key>The minimal count can't be larger than the maximal count!</key>
-      <value>Die minimale Anzahl darf nicht größer als die maximale Anzahl sein!</value>
-    </entry>
-    <entry>
-      <key>Aruba</key>
-      <value>Aruba</value>
-    </entry>
-    <entry>
-      <key>Madagascar</key>
-      <value>Madagaskar</value>
-    </entry>
-    <entry>
-      <key>Valid, unlimited</key>
-      <value>gültig, unbefristet</value>
-    </entry>
-    <entry>
-      <key>Svalbard and Jan Mayen</key>
-      <value>Svalbard und Jan Mayen</value>
-    </entry>
-    <entry>
-      <key>South Georgia and the South Sandwich Islands</key>
-      <value>Süd-Georgien und die südlichen Sandwich-Inseln</value>
-    </entry>
-    <entry>
-      <key>Sweden</key>
-      <value>Schweden</value>
-    </entry>
-    <entry>
-      <key>Malawi</key>
-      <value>Malawi</value>
-    </entry>
-    <entry>
-      <key>Andorra</key>
-      <value>Andorra</value>
-    </entry>
-    <entry>
-      <key>Poland</key>
-      <value>Polen</value>
-    </entry>
-    <entry>
-      <key>Tunisia</key>
-      <value>Tunesien</value>
-    </entry>
-    <entry>
-      <key>Tuvalu</key>
-      <value>Tuvalu</value>
-    </entry>
-    <entry>
-      <key>Lebanon</key>
-      <value>Libanon</value>
-    </entry>
-    <entry>
-      <key>Azerbaijan</key>
-      <value>Aserbaidschan</value>
-    </entry>
-    <entry>
-      <key>Czech Republic</key>
-      <value>Tschechische Republik</value>
-    </entry>
-    <entry>
-      <key>Not sent</key>
-      <value>Nicht versendet</value>
-    </entry>
-    <entry>
-      <key>Mauritania</key>
-      <value>Mauretanien</value>
-    </entry>
-    <entry>
-      <key>Guernsey</key>
-      <value>Guernsey</value>
-    </entry>
-    <entry>
-      <key>Kgs</key>
-      <value>Kg</value>
-    </entry>
-    <entry>
-      <key>Australia</key>
-      <value>Australien</value>
-    </entry>
-    <entry>
-      <key>Myanmar</key>
-      <value>Myanmar</value>
-    </entry>
-    <entry>
-      <key>Cameroon</key>
-      <value>Kamerun</value>
-    </entry>
-    <entry>
-      <key>Iceland</key>
-      <value>Island</value>
-    </entry>
-    <entry>
-      <key>Oman</key>
-      <value>Oman</value>
-    </entry>
-    <entry>
-      <key>Gabon</key>
-      <value>Gabun</value>
-    </entry>
-    <entry>
-      <key>Luxembourg</key>
-      <value>Luxemburg</value>
-    </entry>
-    <entry>
-      <key>Algeria</key>
-      <value>Algerien</value>
-    </entry>
-    <entry>
-      <key>Jersey</key>
-      <value>Jersey</value>
-    </entry>
-    <entry>
-      <key>Overview</key>
-      <value>Übersicht</value>
-    </entry>
-    <entry>
-      <key>Slovenia</key>
-      <value>Slowenien</value>
-    </entry>
-    <entry>
-      <key>Antigua and Barbuda</key>
-      <value>Antigua und Barbuda</value>
-    </entry>
-    <entry>
-      <key>Annually</key>
-      <value>jährlich</value>
-    </entry>
-    <entry>
-      <key>Participated</key>
-      <value>Teilgenommen</value>
-    </entry>
-    <entry>
-      <key>Colombia</key>
-      <value>Kolumbien</value>
-    </entry>
-    <entry>
-      <key>Project_reference</key>
-      <value>Projekt_Referenz</value>
-    </entry>
-    <entry>
-      <key>Minimal</key>
-    </entry>
-    <entry>
-      <key>Vanuatu</key>
-      <value>Vanuatu</value>
-    </entry>
-    <entry>
-      <key>Valid, limited</key>
-      <value>gültig, befristet</value>
-    </entry>
-    <entry>
-      <key>Honduras</key>
-      <value>Honduras</value>
-    </entry>
-    <entry>
-      <key>Antarctica</key>
-      <value>Antarktis</value>
-    </entry>
-    <entry>
-      <key>Nauru</key>
-      <value>Nauru</value>
-    </entry>
-    <entry>
-      <key>Burundi</key>
-      <value>Burundi</value>
-    </entry>
-    <entry>
-      <key>Project manager</key>
-      <value>Projektmanager</value>
-    </entry>
-    <entry>
-      <key>Singapore</key>
-      <value>Singapur</value>
-    </entry>
-    <entry>
-      <key>French Guiana</key>
-      <value>Französisch-Guayana</value>
-    </entry>
-    <entry>
-      <key>Hours</key>
-      <value>Stunden</value>
-    </entry>
-    <entry>
-      <key>Special price list</key>
-      <value>Sonderpreisliste</value>
-    </entry>
-    <entry>
-      <key>Christmas Island</key>
-      <value>Weihnachtsinsel</value>
-    </entry>
-    <entry>
-      <key>Project</key>
-      <value>Projekt</value>
-    </entry>
-    <entry>
-      <key>Netherlands</key>
-      <value>Niederlande</value>
-    </entry>
-    <entry>
-      <key>Product_flexibility</key>
-      <value>Produkt_Flexibilität</value>
-    </entry>
-    <entry>
-      <key>China</key>
-      <value>China</value>
-    </entry>
-    <entry>
-      <key>Martinique</key>
-      <value>Martinique</value>
-    </entry>
-    <entry>
-      <key>Own website</key>
-      <value>Eigene Website</value>
-    </entry>
-    <entry>
-      <key>Saint Pierre and Miquelon</key>
-      <value>Saint Pierre und Miquelon</value>
-    </entry>
-    <entry>
-      <key>Bhutan</key>
-      <value>Bhutan</value>
-    </entry>
-    <entry>
-      <key>Romania</key>
-      <value>Rumänien</value>
-    </entry>
-    <entry>
-      <key>Falkland Islands (Malvinas)</key>
-      <value>Falklandinseln (Malvinas)</value>
-    </entry>
-    <entry>
-      <key>Philippines</key>
-      <value>Philippinen</value>
-    </entry>
-    <entry>
-      <key>Pitcairn</key>
-      <value>Pitcairn</value>
-    </entry>
-    <entry>
-      <key>Zimbabwe</key>
-      <value>Zimbabwe</value>
-    </entry>
-    <entry>
-      <key>British Indian Ocean Territory</key>
-      <value>Britisches Territorium des Indischen Ozeans</value>
-    </entry>
-    <entry>
-      <key>Montenegro</key>
-      <value>Montenegro</value>
-    </entry>
-    <entry>
-      <key>Quarterly</key>
-      <value>vierteljährlich</value>
-    </entry>
-    <entry>
-      <key>Indonesia</key>
-      <value>Indonesien</value>
-    </entry>
-    <entry>
-      <key>Module</key>
-      <value>Modul</value>
-    </entry>
-    <entry>
-      <key>Angola</key>
-      <value>Angola</value>
-    </entry>
-    <entry>
-      <key>Internal</key>
-      <value>Intern</value>
-    </entry>
-    <entry>
-      <key>Roles</key>
-      <value>Rollen</value>
-    </entry>
-    <entry>
-      <key>Brunei Darussalam</key>
-      <value>Brunei Darussalam</value>
-    </entry>
-    <entry>
-      <key>New Caledonia</key>
-      <value>Neu-Kaledonien</value>
-    </entry>
-    <entry>
-      <key>Cayman Islands</key>
-      <value>Cayman Inseln</value>
-    </entry>
-    <entry>
-      <key>Congo (Democratic Republic of the)</key>
-      <value>Kongo (Demokratische Republik)</value>
-    </entry>
-    <entry>
-      <key>Resource</key>
-      <value>Ressource</value>
-    </entry>
-    <entry>
-      <key>Greece</key>
-      <value>Griechenland</value>
-    </entry>
-    <entry>
-      <key>Guyana</key>
-      <value>Guyana</value>
-    </entry>
-    <entry>
-      <key>Project assistant</key>
-      <value>Projektassistent</value>
-    </entry>
-    <entry>
-      <key>Iraq</key>
-      <value>Irak</value>
-    </entry>
-    <entry>
-      <key>Chile</key>
-      <value>Chile</value>
-    </entry>
-    <entry>
-      <key>Nepal</key>
-      <value>Nepal</value>
-    </entry>
-    <entry>
-      <key>${PRICELIST_DEFAULT}</key>
-      <value>Standard</value>
-    </entry>
-    <entry>
-      <key>Customer recommendation</key>
-      <value>Kundenempfehlung</value>
-    </entry>
-    <entry>
-      <key>Other_unknown</key>
-      <value>Sonstiges_Unbekannt</value>
-    </entry>
-    <entry>
-      <key>Isle of Man</key>
-      <value>Isle of Man</value>
-    </entry>
-    <entry>
-      <key>Ukraine</key>
-      <value>Ukraine</value>
-    </entry>
-    <entry>
-      <key>Curaçao</key>
-      <value>Curacao</value>
-    </entry>
-    <entry>
-      <key>Anguilla</key>
-      <value>Anguilla</value>
-    </entry>
-    <entry>
-      <key>Euro</key>
-      <value>Euro</value>
-    </entry>
-    <entry>
-      <key>Product_GUI</key>
-      <value>Produkt_GUI</value>
-    </entry>
-    <entry>
-      <key>${GENDER_OTHER}</key>
-      <value>Divers</value>
-    </entry>
-    <entry>
-      <key>Touchpoint</key>
-      <value>Kontaktpunkt</value>
-    </entry>
-    <entry>
-      <key>Turkey</key>
-      <value>Türkei</value>
-    </entry>
-    <entry>
-      <key>Belgium</key>
-      <value>Belgien</value>
-    </entry>
-    <entry>
-      <key>South Africa</key>
-      <value>Südafrika</value>
-    </entry>
-    <entry>
-      <key>Trinidad and Tobago</key>
-      <value>Trinidad und Tobago</value>
-    </entry>
-    <entry>
-      <key>Bermuda</key>
-      <value>Bermuda</value>
-    </entry>
-    <entry>
-      <key>Jamaica</key>
-      <value>Jamaika</value>
-    </entry>
-    <entry>
-      <key>Peru</key>
-      <value>Peru</value>
-    </entry>
-    <entry>
-      <key>Turkmenistan</key>
-      <value>Turkmenistan</value>
-    </entry>
-    <entry>
-      <key>Venezuela (Bolivarian Republic of)</key>
-      <value>Venezuela (Bolivarische Republik)</value>
-    </entry>
-    <entry>
-      <key>Tokelau</key>
-      <value>Tokelau</value>
-    </entry>
-    <entry>
-      <key>Hong Kong</key>
-      <value>Hongkong</value>
-    </entry>
-    <entry>
-      <key>Password</key>
-      <value>Passwort</value>
-    </entry>
-    <entry>
-      <key>Chad</key>
-      <value>Tschad</value>
-    </entry>
-    <entry>
-      <key>German</key>
-      <value>Deutsch</value>
-    </entry>
-    <entry>
-      <key>Thailand</key>
-      <value>Thailand</value>
-    </entry>
-    <entry>
-      <key>in process</key>
-      <value>in Bearbeitung</value>
-    </entry>
-    <entry>
-      <key>Saint Martin (French part)</key>
-      <value>Saint Martin (französischer Teil)</value>
-    </entry>
-    <entry>
-      <key>Kuwait</key>
-      <value>Kuwait</value>
-    </entry>
-    <entry>
-      <key>Palestine, State of</key>
-      <value>Palästina, Bundesstaat</value>
-    </entry>
-    <entry>
-      <key>Croatia</key>
-      <value>Kroatien</value>
-    </entry>
-    <entry>
-      <key>Cook Islands</key>
-      <value>Cookinseln</value>
-    </entry>
-    <entry>
-      <key>Fair</key>
-      <value>Messe</value>
-    </entry>
-    <entry>
-      <key>Sri Lanka</key>
-      <value>Sri Lanka</value>
-    </entry>
-    <entry>
-      <key>Uruguay</key>
-      <value>Uruguay</value>
-    </entry>
-    <entry>
-      <key>Liberia</key>
-      <value>Liberia</value>
-    </entry>
-    <entry>
-      <key>Burkina Faso</key>
-      <value>Burkina Faso</value>
-    </entry>
-    <entry>
-      <key>Swiss franc</key>
-      <value>Schweizerfranken</value>
-    </entry>
-    <entry>
-      <key>Swaziland</key>
-      <value>Swasiland</value>
-    </entry>
-    <entry>
-      <key>ended</key>
-      <value>abgeschlossen</value>
-    </entry>
-    <entry>
-      <key>Saint Barthélemy</key>
-      <value>Saint Barthélemy</value>
-    </entry>
-    <entry>
-      <key>Wallis and Futuna</key>
-      <value>Wallis und Futuna</value>
-    </entry>
-    <entry>
-      <key>Company_industry knowhow</key>
-      <value>Unternehmen_Branchen KnowHow</value>
-    </entry>
-    <entry>
-      <key>Monaco</key>
-      <value>Monaco</value>
-    </entry>
-    <entry>
-      <key>Spanish</key>
-      <value>Spanisch</value>
-    </entry>
-    <entry>
-      <key>Hungary</key>
-      <value>Ungarn</value>
-    </entry>
-    <entry>
-      <key>Réunion</key>
-      <value>Réunion</value>
-    </entry>
-    <entry>
-      <key>Belarus</key>
-      <value>Weißrussland</value>
-    </entry>
-    <entry>
-      <key>Albania</key>
-      <value>Albanien</value>
-    </entry>
-    <entry>
-      <key>Internal sales manager</key>
-      <value>Interner Vertrieb</value>
-    </entry>
-    <entry>
-      <key>Virgin Islands (U.S.)</key>
-      <value>Jungferninseln (US)</value>
-    </entry>
-    <entry>
-      <key>New Zealand</key>
-      <value>Neuseeland</value>
-    </entry>
-    <entry>
-      <key>Senegal</key>
-      <value>Senegal</value>
-    </entry>
-    <entry>
-      <key>Ethiopia</key>
-      <value>Äthiopien</value>
-    </entry>
-    <entry>
-      <key>Macedonia (the former Yugoslav Republic of)</key>
-      <value>Mazedonien (ehemalige jugoslawische Republik)</value>
-    </entry>
-    <entry>
-      <key>Egypt</key>
-      <value>Ägypten</value>
-    </entry>
-    <entry>
-      <key>Sierra Leone</key>
-      <value>Sierra Leone</value>
-    </entry>
-    <entry>
-      <key>Saudi Arabia</key>
-      <value>Saudi Arabien</value>
-    </entry>
-    <entry>
-      <key>Pakistan</key>
-      <value>Pakistan</value>
-    </entry>
-    <entry>
-      <key>Gambia</key>
-      <value>Gambia</value>
-    </entry>
-    <entry>
-      <key>Qatar</key>
-      <value>Katar</value>
-    </entry>
-    <entry>
-      <key>Slovakia</key>
-      <value>Slowakei</value>
-    </entry>
-    <entry>
-      <key>Serbia</key>
-      <value>Serbien</value>
-    </entry>
-    <entry>
-      <key>Bosnia and Herzegovina</key>
-      <value>Bosnien und Herzegowina</value>
-    </entry>
-    <entry>
-      <key>Framework contract</key>
-      <value>Rahmenvertrag</value>
-    </entry>
-    <entry>
-      <key>Niger</key>
-      <value>Niger</value>
-    </entry>
-    <entry>
-      <key>Rwanda</key>
-      <value>Ruanda</value>
-    </entry>
-    <entry>
-      <key>French Southern Territories</key>
-      <value>Südfranzösische Territorien</value>
-    </entry>
-    <entry>
-      <key>Bangladesh</key>
-      <value>Bangladesch</value>
-    </entry>
-    <entry>
-      <key>Barbados</key>
-      <value>Barbados</value>
-    </entry>
-    <entry>
-      <key>Botswana</key>
-      <value>Botswana</value>
-    </entry>
-    <entry>
-      <key>Saint Vincent and the Grenadines</key>
-      <value>St. Vincent und die Grenadinen</value>
-    </entry>
-    <entry>
-      <key>Denmark</key>
-      <value>Dänemark</value>
-    </entry>
-    <entry>
-      <key>Dominican Republic</key>
-      <value>Dominikanische Republik</value>
-    </entry>
-    <entry>
-      <key>MAL</key>
-    </entry>
-    <entry>
-      <key>SQO</key>
-    </entry>
-    <entry>
-      <key>NQC</key>
-    </entry>
-    <entry>
-      <key>MQL</key>
-    </entry>
-    <entry>
-      <key>SAL</key>
-    </entry>
-    <entry>
-      <key>Checkbox</key>
-      <value>Checkbox</value>
-    </entry>
-    <entry>
-      <key>Numeric value</key>
-      <value>Zahlenwert</value>
-    </entry>
-    <entry>
-      <key>decline</key>
-      <value>Ablehnen</value>
-    </entry>
-    <entry>
-      <key>Text</key>
-    </entry>
-    <entry>
-      <key>Group</key>
-      <value>Gruppe</value>
-    </entry>
-    <entry>
-      <key>Combobox</key>
-      <value>Combobox</value>
-    </entry>
-    <entry>
-      <key>tentative</key>
-      <value>Vorläufig</value>
-    </entry>
-    <entry>
-      <key>${NUMBER}</key>
-      <value>Zahl</value>
-    </entry>
-    <entry>
-      <key>Name \"%0\" already used for container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>CHAR_VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute</key>
-      <value>Schlüsselwort-Eigenschaft</value>
-    </entry>
-    <entry>
-      <key>in</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute Values</key>
-      <value>Schlüsselwort-Eigenschaft-Werte</value>
-    </entry>
-    <entry>
-      <key>Boolean value</key>
-    </entry>
-    <entry>
-      <key>accept</key>
-      <value>akzeptieren</value>
-    </entry>
-    <entry>
-      <key>The ZIP code does not match the format of the country.</key>
-      <value>Die Postleitzahl hat nicht das Format des ausgewählten Landes.</value>
-    </entry>
-    <entry>
-      <key>String value</key>
-      <value>String-Wert</value>
-    </entry>
-    <entry>
-      <key>The code number is not a valid number.</key>
-      <value>The code number is not a valid number.</value>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0</key>
-      <value>Der DB-Typ wird in der Funktion %0 nicht unterstützt.</value>
-    </entry>
-    <entry>
-      <key>${PRODUCT_LIB_NO_PRODUCT_ID} function: %0</key>
-      <value>Es wird der Funktion %0 keine Produktid übergeben.</value>
-    </entry>
-    <entry>
-      <key>Object type</key>
-      <value>Typ</value>
-    </entry>
-    <entry>
-      <key>Print Offer</key>
-      <value>Angebot drucken</value>
-    </entry>
-    <entry>
-      <key>relations</key>
-    </entry>
-    <entry>
-      <key>Time</key>
-      <value>Zeit</value>
-    </entry>
-    <entry>
-      <key>New task</key>
-      <value>Neue Aufgabe</value>
-    </entry>
-    <entry>
-      <key>My tasks</key>
-      <value>Meine Aufgaben</value>
-    </entry>
-    <entry>
-      <key>the specified key has to be unique for that container but does already exist</key>
-    </entry>
-    <entry>
-      <key>Add participant to Campaign</key>
-      <value>Kampagnenteilnehmer/in hinzufügen</value>
-    </entry>
-    <entry>
-      <key>Relationtype</key>
-      <value>Beziehungsart</value>
-    </entry>
-    <entry>
-      <key>Tree</key>
-      <value>Baum</value>
-    </entry>
-    <entry>
-      <key>100%</key>
-    </entry>
-    <entry>
-      <key>Mobil</key>
-    </entry>
-    <entry>
-      <key>25%</key>
-    </entry>
-    <entry>
-      <key>50%</key>
-    </entry>
-    <entry>
-      <key>75%</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>competitor</key>
-      <value>Mitbewerber</value>
-    </entry>
-    <entry>
-      <key>0%</key>
-    </entry>
-    <entry>
-      <key>acquainted with</key>
-      <value>Bekannt mit</value>
-    </entry>
-    <entry>
-      <key>collaboration with</key>
-      <value>Zusammenarbeit mit</value>
-    </entry>
-    <entry>
-      <key>parent company</key>
-      <value>Konzernmutter</value>
-    </entry>
-    <entry>
-      <key>society</key>
-      <value>Verband</value>
-    </entry>
-    <entry>
-      <key>ankle of</key>
-      <value>Enkel/in von</value>
-    </entry>
-    <entry>
-      <key>solicits</key>
-      <value>Bewirbt</value>
-    </entry>
-    <entry>
-      <key>supervisor of</key>
-      <value>Vorgesetzter von</value>
-    </entry>
-    <entry>
-      <key>reports to</key>
-      <value>Berichtet an</value>
-    </entry>
-    <entry>
-      <key>subsidiary</key>
-      <value>Tochtergesellschaft</value>
-    </entry>
-    <entry>
-      <key>supported by</key>
-      <value>Wird unterstützt von</value>
-    </entry>
-    <entry>
-      <key>member</key>
-      <value>Mitglied</value>
-    </entry>
-    <entry>
-      <key>promotion target of</key>
-      <value>Werbezielgruppe von</value>
-    </entry>
-    <entry>
-      <key>supports</key>
-      <value>Unterstützt</value>
-    </entry>
-    <entry>
-      <key>parent of</key>
-      <value>Elternteil von</value>
-    </entry>
-    <entry>
-      <key>grandparents of</key>
-      <value>Großeltern von</value>
-    </entry>
-    <entry>
-      <key>Memo</key>
-      <value>Memo</value>
-    </entry>
-    <entry>
-      <key>Function</key>
-      <value>Funktion</value>
-    </entry>
-    <entry>
-      <key>Username already exists!</key>
-      <value>Der Benutzername existiert bereits!</value>
-    </entry>
-    <entry>
-      <key>Relational</key>
-    </entry>
-    <entry>
-      <key>Only numbers are allowed.</key>
-      <value>Es sind nur Zahlen erlaubt.</value>
-    </entry>
-    <entry>
-      <key>MQC</key>
-    </entry>
-    <entry>
-      <key>Japan</key>
-      <value>Japan</value>
-    </entry>
-    <entry>
-      <key>7 days net</key>
-      <value>7 Tage netto</value>
-    </entry>
-    <entry>
-      <key>carriage free</key>
-      <value>frei Haus</value>
-    </entry>
-    <entry>
-      <key>8 days 2% discount, 30 days net</key>
-      <value>8 Tage 2% Skonto, 30 Tage netto</value>
-    </entry>
-    <entry>
-      <key>CIF</key>
-    </entry>
-    <entry>
-      <key>ex works</key>
-      <value>ab Werk</value>
-    </entry>
-    <entry>
-      <key>Payment term</key>
-      <value>Zahlungskondition</value>
-    </entry>
-    <entry>
-      <key>30 days net</key>
-      <value>30 Tage netto</value>
-    </entry>
-    <entry>
-      <key>Contactrole</key>
-      <value>Funktion</value>
-    </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
-    <entry>
-      <key>Verschieben auf Datum?</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
-    <entry>
-      <key>Gebucht</key>
-    </entry>
-    <entry>
-      <key>Other Contactroles</key>
-      <value>Weitere Funktionen</value>
-    </entry>
-    <entry>
-      <key>Bitte Datumseingabe prüfen!</key>
-    </entry>
-    <entry>
-      <key>In Bearbeitung</key>
-    </entry>
-    <entry>
-      <key>OK</key>
-    </entry>
-    <entry>
-      <key>Nicht begonnen</key>
-    </entry>
-    <entry>
-      <key>Bitte Filterbedingungen setzen</key>
-    </entry>
-    <entry>
-      <key>Bestätigt</key>
-    </entry>
-    <entry>
-      <key>True</key>
-      <value>Ja</value>
-    </entry>
-    <entry>
-      <key>Vorläufig</key>
-    </entry>
-    <entry>
-      <key>keine</key>
-    </entry>
-    <entry>
-      <key>Eine private Aufgabe kann nicht jemand anderem zugewiesen werden.</key>
-    </entry>
-    <entry>
-      <key>Aufgaben von</key>
-    </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
-    <entry>
-      <key>erledigt / zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>hoch</key>
-    </entry>
-    <entry>
-      <key>Zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>Erledigt</key>
-    </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
-    <entry>
-      <key>Außer Haus</key>
-    </entry>
-    <entry>
-      <key>Abbrechen</key>
-    </entry>
-    <entry>
-      <key>Benutzer auswählen</key>
-    </entry>
-    <entry>
-      <key>delegiert</key>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
-    </entry>
-    <entry>
-      <key>Username</key>
-      <value>Benutzername</value>
-    </entry>
-    <entry>
-      <key>normal</key>
-    </entry>
-    <entry>
-      <key>Termine von</key>
-    </entry>
-    <entry>
-      <key>nur Verschiebung in die Zukunft erlaubt!</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
-    <entry>
-      <key>Product content</key>
-      <value>Produktinhalt</value>
-    </entry>
-    <entry>
-      <key>Know How</key>
-      <value>Know How</value>
-    </entry>
-    <entry>
-      <key>Personal appearance</key>
-      <value>Persönliches Auftreten</value>
-    </entry>
-    <entry>
-      <key>Market situation</key>
-      <value>Marktsituation</value>
-    </entry>
-    <entry>
-      <key>Liquidity</key>
-      <value>Liquidität</value>
-    </entry>
-    <entry>
-      <key>Price policy</key>
-      <value>Preispolitik</value>
-    </entry>
-    <entry>
-      <key>VAT in %</key>
-      <value>UmsSt. in %</value>
-    </entry>
-    <entry>
-      <key>Time in minutes</key>
-      <value>Zeit in Minuten</value>
-    </entry>
-    <entry>
-      <key>Sales manager</key>
-      <value>Vertriebsleiter</value>
-    </entry>
-    <entry>
-      <key>Recipients</key>
-      <value>Empfänger</value>
-    </entry>
-    <entry>
-      <key>IT</key>
-      <value>IT</value>
-    </entry>
-    <entry>
-      <key>Administrator</key>
-    </entry>
-    <entry>
-      <key>Managing director</key>
-      <value>Geschäftsführer</value>
-    </entry>
-    <entry>
-      <key>Production manager</key>
-      <value>Produktionsleiter</value>
-    </entry>
-    <entry>
-      <key>Production</key>
-      <value>Produktion</value>
-    </entry>
-    <entry>
-      <key>CEO</key>
-    </entry>
-    <entry>
-      <key>Purchasing manager</key>
-      <value>Einkaufsleiter</value>
-    </entry>
-    <entry>
-      <key>Marketing manager</key>
-      <value>Marketingleiter</value>
-    </entry>
-    <entry>
-      <key>IT manager</key>
-      <value>IT-Leiter</value>
-    </entry>
-    <entry>
-      <key>Marketing</key>
-      <value>Marketing</value>
-    </entry>
-    <entry>
-      <key>CSO</key>
-    </entry>
-    <entry>
-      <key>Executive board</key>
-      <value>Vorstand</value>
-    </entry>
-    <entry>
-      <key>Supervisory board</key>
-      <value>Aufsichtsrat</value>
-    </entry>
-    <entry>
-      <key>Management</key>
-      <value>Geschäftsleitung</value>
-    </entry>
-    <entry>
-      <key>Manufacturer</key>
-      <value>Hersteller</value>
-    </entry>
-    <entry>
-      <key>Competitor</key>
-      <value>Wettbewerber</value>
-    </entry>
-    <entry>
-      <key>Partner</key>
-      <value>Partner</value>
-    </entry>
-    <entry>
-      <key>Protected</key>
-      <value>Geschützt</value>
-    </entry>
-    <entry>
-      <key>false</key>
-    </entry>
-    <entry>
-      <key>true</key>
-    </entry>
-    <entry>
-      <key>${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3</key>
-      <value>%0 muss zwischen %2 und %3 sein.</value>
-    </entry>
-    <entry>
-      <key>Email</key>
-      <value>E-Mail</value>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_TYPE}</key>
-      <value>Art</value>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_OBJECT}</key>
-      <value>Objekt</value>
-    </entry>
-    <entry>
-      <key>Password and confirmation must be the same!</key>
-      <value>Die Passwörter stimmen nicht überein!</value>
-    </entry>
-    <entry>
-      <key>Begin</key>
-      <value>Beginn</value>
-    </entry>
-    <entry>
-      <key>Maturity</key>
-      <value>Fällig</value>
-    </entry>
-    <entry>
-      <key>This private person doeas already exist and can not be created once more.</key>
-      <value>Diese Privatperson existiert bereits und kann daher nicht noch ein mal angelegt werden.</value>
-    </entry>
-    <entry>
-      <key>Project Management</key>
-      <value>Projektmanagement</value>
-    </entry>
-    <entry>
-      <key>Support</key>
-      <value>Support</value>
-    </entry>
-    <entry>
-      <key>{$ADDRESS_IDENTIFIER}</key>
-      <value>Bezeichnung</value>
-    </entry>
-    <entry>
-      <key>Count</key>
-    </entry>
-    <entry>
-      <key>Chart</key>
-    </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
-    <entry>
-      <key>Pending</key>
-      <value>Ausstehend</value>
-    </entry>
-    <entry>
-      <key>Hierarchy</key>
-      <value>Hierarchie</value>
-    </entry>
-    <entry>
-      <key>Object relation</key>
-      <value>Beziehungen</value>
-    </entry>
-    <entry>
-      <key>Relation type 1</key>
-      <value>Beziehungsart 1</value>
-    </entry>
-    <entry>
-      <key>Relation type 2</key>
-      <value>Beziehungsart 2</value>
-    </entry>
-    <entry>
-      <key>Relation type</key>
-      <value>Beziehungstyp</value>
-    </entry>
-    <entry>
-      <key>Context 1</key>
-      <value>Context 1</value>
-    </entry>
-    <entry>
-      <key>Context 2</key>
-      <value>Context 2</value>
-    </entry>
-    <entry>
-      <key>Delete all usage</key>
-      <value>Lösche jede Verwendung</value>
-    </entry>
-    <entry>
-      <key>Deleted all usages of \"%0\".</key>
-      <value>Jede Verwendung von \"%0\" wurde gelöscht.</value>
-    </entry>
-    <entry>
-      <key>Successful</key>
-    </entry>
-    <entry>
-      <key>Enable relation type 2</key>
-      <value>Beziehungsart 2 aktiv</value>
-    </entry>
-    <entry>
-      <key>Salesproject Analyses</key>
-    </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
-    <entry>
-      <key>Days count</key>
-      <value>Anzahl Tage</value>
-    </entry>
-    <entry>
-      <key>Clear forecast and set state to '%0'?</key>
-      <value>Forecast löschen und status auf '%0' setzen?</value>
-    </entry>
-    <entry>
-      <key>Would you really like to clear the forecast and set the state to '%0'?</key>
-      <value>Möchten Sie wirklich den Forecast löschen und den status auf '%0' setzen?</value>
-    </entry>
-    <entry>
-      <key>This cannot be undone!</key>
-      <value>Das kann nicht rückgängig gemacht werden!</value>
-    </entry>
-    <entry>
-      <key>[%0]the tableName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 has to be a string or array but it is %2</key>
-    </entry>
-    <entry>
-      <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key>
-    </entry>
-    <entry>
-      <key>[%0]the columnName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 is an object but seems not to be a valid array or array-like</key>
-    </entry>
-    <entry>
-      <key>Responsible</key>
-      <value>Verantwortlich</value>
-    </entry>
-    <entry>
-      <key>Analyses</key>
-    </entry>
-    <entry>
-      <key>Variable costs</key>
-      <value>Variable Kosten</value>
-    </entry>
-    <entry>
-      <key>To-Do</key>
-    </entry>
-    <entry>
-      <key>Calendar</key>
-      <value>Kalender</value>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNDEFINED_VALUE} field: %0</key>
-      <value>Der Wert für das Feld %0 ist undefined.</value>
-    </entry>
-    <entry>
-      <key>Approved</key>
-      <value>Freigegeben</value>
-    </entry>
-    <entry>
-      <key>Completed</key>
-      <value>Abgeschlossen</value>
-    </entry>
-    <entry>
-      <key>In planning</key>
-      <value>In Planung</value>
-    </entry>
-    <entry>
-      <key>Auswertung</key>
-    </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
-    <entry>
-      <key>Added</key>
-      <value>Hinzugefügt</value>
-    </entry>
-    <entry>
-      <key>Current participants</key>
-      <value>Aktuelle Teilnehmer</value>
-    </entry>
-    <entry>
-      <key>Kampagnenzeitraum</key>
-    </entry>
-    <entry>
-      <key>Hauptverantw.</key>
-    </entry>
-    <entry>
-      <key>New campaign step</key>
-      <value>Neue Kampagnenstufe</value>
-    </entry>
-    <entry>
-      <key>Cost</key>
-      <value>Kosten</value>
-    </entry>
-    <entry>
-      <key>file '%0' cannot be read</key>
-    </entry>
-    <entry>
-      <key>Importer</key>
-    </entry>
-    <entry>
-      <key>Participant</key>
-      <value>Teilnehmer</value>
-    </entry>
-    <entry>
-      <key>Printing costs</key>
-      <value>Druckkosten</value>
-    </entry>
-    <entry>
-      <key>Shipping costs</key>
-      <value>Porto</value>
-    </entry>
-    <entry>
-      <key>yyyy-MM-dd HH:mm:ss</key>
-    </entry>
-    <entry>
-      <key>file '%0' does not exist or you have got no permission on this file</key>
-    </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
-    <entry>
-      <key>Salesproject member</key>
-      <value>Projektteam</value>
-    </entry>
-    <entry>
-      <key>Layout costs</key>
-      <value>Layout</value>
-    </entry>
-    <entry>
-      <key>Serial</key>
-      <value>Serie </value>
-    </entry>
-    <entry>
-      <key>${WEBSERVICE_ERROR} url:%0 status:%1</key>
-      <value>Webservice nicht erreichbar. URL: %0 %1</value>
-    </entry>
-    <entry>
-      <key>Step</key>
-      <value>Stufe</value>
-    </entry>
-    <entry>
-      <key>Fix cost</key>
-      <value>Fixkosten</value>
-    </entry>
-    <entry>
-      <key>per</key>
-      <value>pro</value>
-    </entry>
-    <entry>
-      <key>Content</key>
-      <value>Inhalt</value>
-    </entry>
-    <entry>
-      <key>The max participants count has to be equal or greater than the count of the current participants!</key>
-      <value>Die maximale Teilnehmerzahl muss gleich oder größer der aktuellen Teilnehmerzahl sein!</value>
-    </entry>
-    <entry>
-      <key>Id value</key>
-    </entry>
-    <entry>
-      <key>Order executed</key>
-    </entry>
-    <entry>
-      <key>Liquibase</key>
-    </entry>
-    <entry>
-      <key>Number value</key>
-    </entry>
-    <entry>
-      <key>Author</key>
-    </entry>
-    <entry>
-      <key>Position Id</key>
-    </entry>
-    <entry>
-      <key>ISO3</key>
-    </entry>
-    <entry>
-      <key>ISO2</key>
-    </entry>
-    <entry>
-      <key>Communication Id</key>
-    </entry>
-    <entry>
-      <key>Attribute Id</key>
-    </entry>
-    <entry>
-      <key>Modification user</key>
-    </entry>
-    <entry>
-      <key>Headline</key>
-      <value>Kopfanrede</value>
-    </entry>
-    <entry>
-      <key>Salesorder Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject milestone Id</key>
-    </entry>
-    <entry>
-      <key>Appointment Id</key>
-    </entry>
-    <entry>
-      <key>Locked</key>
-    </entry>
-    <entry>
-      <key>Timetracking Id</key>
-    </entry>
-    <entry>
-      <key>Exec type</key>
-    </entry>
-    <entry>
-      <key>Date value</key>
-    </entry>
-    <entry>
-      <key>NUMBER VALUE</key>
-    </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
-    <entry>
-      <key>ID</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Minimal count</key>
-    </entry>
-    <entry>
-      <key>Id</key>
-    </entry>
-    <entry>
-      <key>Start date</key>
-      <value>Startdatum</value>
-    </entry>
-    <entry>
-      <key>Object 1 row Id</key>
-    </entry>
-    <entry>
-      <key>Side</key>
-    </entry>
-    <entry>
-      <key>Salesproject Id</key>
-    </entry>
-    <entry>
-      <key>Product Id</key>
-    </entry>
-    <entry>
-      <key>Sort</key>
-    </entry>
-    <entry>
-      <key>Relation Title</key>
-    </entry>
-    <entry>
-      <key>%0 \"%1\"</key>
-    </entry>
-    <entry>
-      <key>Maximal count</key>
-    </entry>
-    <entry>
-      <key>Data executed</key>
-    </entry>
-    <entry>
-      <key>Indexsearch</key>
-    </entry>
-    <entry>
-      <key>Appointment link Id</key>
-    </entry>
-    <entry>
-      <key>Relation Type</key>
-    </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
-    <entry>
-      <key>Item sort</key>
-    </entry>
-    <entry>
-      <key>%0 modified.</key>
-      <value>%0 geändert.</value>
-    </entry>
-    <entry>
-      <key>Contract Id</key>
-    </entry>
-    <entry>
-      <key>Int value</key>
-    </entry>
-    <entry>
-      <key>Object 2 row Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename</key>
-    </entry>
-    <entry>
-      <key>Contact Id</key>
-    </entry>
-    <entry>
-      <key>Sales area</key>
-    </entry>
-    <entry>
-      <key>Parent Id</key>
-    </entry>
-    <entry>
-      <key>Task link Id</key>
-    </entry>
-    <entry>
-      <key>BOOL VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute Id</key>
-    </entry>
-    <entry>
-      <key>Log type</key>
-    </entry>
-    <entry>
-      <key>Object row Id</key>
-    </entry>
-    <entry>
-      <key>Labels</key>
-    </entry>
-    <entry>
-      <key>%0 deleted.</key>
-      <value>%0 gelöscht.</value>
-    </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
-    <entry>
-      <key>Activity Id</key>
-    </entry>
-    <entry>
-      <key>Person Id</key>
-    </entry>
-    <entry>
-      <key>Offer item Id</key>
-    </entry>
-    <entry>
-      <key>Offer Id</key>
-    </entry>
-    <entry>
-      <key>Name native</key>
-    </entry>
-    <entry>
-      <key>Flag</key>
-    </entry>
-    <entry>
-      <key>Address Id</key>
-    </entry>
-    <entry>
-      <key>Name latin</key>
-    </entry>
-    <entry>
-      <key>Destination Id</key>
-    </entry>
-    <entry>
-      <key>Sex</key>
-    </entry>
-    <entry>
-      <key>Product price Id</key>
-    </entry>
-    <entry>
-      <key>%0 added.</key>
-      <value>%0 eingefügt.</value>
-    </entry>
-    <entry>
-      <key>Object Relation Type</key>
-    </entry>
-    <entry>
-      <key>Entry date</key>
-    </entry>
-    <entry>
-      <key>Object relation type 2</key>
-    </entry>
-    <entry>
-      <key>Object relation type 1</key>
-    </entry>
-    <entry>
-      <key>Modification date</key>
-    </entry>
-    <entry>
-      <key>Object Type</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to \"%2\"</key>
-      <value>%0 von \"%1\" auf \"%2\"</value>
-    </entry>
-    <entry>
-      <key>MD5 Sum</key>
-    </entry>
-    <entry>
-      <key>Letter salutation</key>
-      <value>Briefanrede</value>
-    </entry>
-    <entry>
-      <key>Lock granted</key>
-    </entry>
-    <entry>
-      <key>Required fields</key>
-    </entry>
-    <entry>
-      <key>Address addition</key>
-    </entry>
-    <entry>
-      <key>the \"%0\" table is configured to get logged but this is the logging-stoarge itself and cannot be monitored</key>
-    </entry>
-    <entry>
-      <key>Attribute usage Id</key>
-    </entry>
-    <entry>
-      <key>LogHistory</key>
-    </entry>
-    <entry>
-      <key>Locked by</key>
-    </entry>
-    <entry>
-      <key>Desciption</key>
-    </entry>
-    <entry>
-      <key>Salutation Id</key>
-    </entry>
-    <entry>
-      <key>Comments</key>
-    </entry>
-    <entry>
-      <key>Task Id</key>
-    </entry>
-    <entry>
-      <key>Valid to</key>
-      <value>Gültig bis</value>
-    </entry>
-    <entry>
-      <key>ZIP regex</key>
-    </entry>
-    <entry>
-      <key>Keyword entry Id</key>
-    </entry>
-    <entry>
-      <key>Stop costs</key>
-    </entry>
-    <entry>
-      <key>Contexts</key>
-    </entry>
-    <entry>
-      <key>Assigned to</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to %2 \"%3\"</key>
-      <value>%0 von \"%1\" auf %2 \"%3\"</value>
-    </entry>
-    <entry>
-      <key>Date start</key>
-    </entry>
-    <entry>
-      <key>Deployment Id</key>
-    </entry>
-    <entry>
-      <key>Address format</key>
-    </entry>
-    <entry>
-      <key>Activity link Id</key>
-    </entry>
-    <entry>
-      <key>Date end</key>
-    </entry>
-    <entry>
-      <key>Creation user</key>
-    </entry>
-    <entry>
-      <key>Object Id</key>
-    </entry>
-    <entry>
-      <key>Is active</key>
-    </entry>
-    <entry>
-      <key>Product relationship</key>
-    </entry>
-    <entry>
-      <key>Salesorder item Id</key>
-    </entry>
-    <entry>
-      <key>Char value</key>
-    </entry>
-    <entry>
-      <key>Attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Tag</key>
-    </entry>
-    <entry>
-      <key>Title suffix</key>
-    </entry>
-    <entry>
-      <key>Step costs</key>
-    </entry>
-    <entry>
-      <key>Min. Stock</key>
-    </entry>
-    <entry>
-      <key>User</key>
-      <value>Benutzer</value>
-    </entry>
-    <entry>
-      <key>Stock Id</key>
-    </entry>
-    <entry>
-      <key>Tablename</key>
-    </entry>
-    <entry>
-      <key>CHAR VALUE</key>
-    </entry>
-    <entry>
-      <key>Total costs</key>
-      <value>Gesamtkosten</value>
-    </entry>
-    <entry>
-      <key>Parent context</key>
-    </entry>
-    <entry>
-      <key>Linked Appointments</key>
-      <value>Verknüpfte Termine</value>
-    </entry>
-    <entry>
-      <key>Organisation Id</key>
-    </entry>
-    <entry>
-      <key>Tablename Id</key>
-    </entry>
-    <entry>
-      <key>Termin</key>
-    </entry>
-    <entry>
-      <key>rebuild Index</key>
-    </entry>
-    <entry>
-      <key>Charts</key>
-    </entry>
-    <entry>
-      <key>Keywords</key>
-    </entry>
-    <entry>
-      <key>Days running</key>
-      <value>Tage laufend</value>
-    </entry>
-    <entry>
-      <key>Logs</key>
-    </entry>
-    <entry>
-      <key>Mail</key>
-    </entry>
-    <entry>
-      <key>Phonecall</key>
-    </entry>
-    <entry>
-      <key>Chart 2</key>
-    </entry>
-    <entry>
-      <key>Log</key>
-    </entry>
-    <entry>
-      <key>Offer Header Text</key>
-      <value>Angebot Kopftext</value>
-    </entry>
-    <entry>
-      <key>Employees</key>
-      <value>Personal</value>
-    </entry>
-    <entry>
-      <key>Todo</key>
-    </entry>
-    <entry>
-      <key>Days remaining</key>
-      <value>Tage verbleibend</value>
-    </entry>
-    <entry>
-      <key>Offer Footer Text</key>
-      <value>Angebot Fußtext</value>
-    </entry>
-    <entry>
-      <key>Date new</key>
-    </entry>
-    <entry>
-      <key>Date edit</key>
-    </entry>
-    <entry>
-      <key>Keyword Attributes</key>
-    </entry>
-    <entry>
-      <key>Student/Internship</key>
-      <value>Student/Praktikant</value>
-    </entry>
-    <entry>
-      <key>Food</key>
-      <value>Lebensmittel</value>
-    </entry>
-    <entry>
-      <key>200 to 349T</key>
-      <value>200 bis 349T</value>
-    </entry>
-    <entry>
-      <key>Within 6 months</key>
-      <value>Innerhalb 6 Monaten</value>
-    </entry>
-    <entry>
-      <key>No project planned</key>
-      <value>Kein Projekt geplant</value>
-    </entry>
-    <entry>
-      <key>Logistics</key>
-      <value>Logistik</value>
-    </entry>
-    <entry>
-      <key>Skilled workers</key>
-      <value>Fachkräfte</value>
-    </entry>
-    <entry>
-      <key>Purchasing</key>
-      <value>Einkauf</value>
-    </entry>
-    <entry>
-      <key>Rate</key>
-      <value>Bewerten</value>
-    </entry>
-    <entry>
-      <key>Choice</key>
-      <value>Auswahl</value>
-    </entry>
-    <entry>
-      <key>points</key>
-      <value>Punkte</value>
-    </entry>
-    <entry>
-      <key>Education</key>
-      <value>Bildung</value>
-    </entry>
-    <entry>
-      <key>Public</key>
-      <value>Öffentlich</value>
-    </entry>
-    <entry>
-      <key>Building and construction suppliers</key>
-      <value>Bau- und Bauzulieferer</value>
-    </entry>
-    <entry>
-      <key>0 to 49</key>
-      <value>0 bis 49</value>
-    </entry>
-    <entry>
-      <key>0 to 49T</key>
-      <value>0 bis 49T</value>
-    </entry>
-    <entry>
-      <key>CRM Manager</key>
-      <value>Leiter CRM</value>
-    </entry>
-    <entry>
-      <key>50 to 99T</key>
-      <value>50 bis 99T</value>
-    </entry>
-    <entry>
-      <key>Search</key>
-      <value>Suchen</value>
-    </entry>
-    <entry>
-      <key>Link</key>
-      <value>Verknüpfung</value>
-    </entry>
-    <entry>
-      <key>Counsellor</key>
-      <value>Berater</value>
-    </entry>
-    <entry>
-      <key>50 to 100</key>
-      <value>50 bis 100</value>
-    </entry>
-    <entry>
-      <key>OnPremise</key>
-      <value>OnPremise</value>
-    </entry>
-    <entry>
-      <key>Head of IT</key>
-      <value>Leiter IT</value>
-    </entry>
-    <entry>
-      <key>Electric</key>
-      <value>Elektro</value>
-    </entry>
-    <entry>
-      <key>from 1,000</key>
-      <value>ab 1.000</value>
-    </entry>
-    <entry>
-      <key>Publishing house</key>
-      <value>Verlag</value>
-    </entry>
-    <entry>
-      <key>100 to 199T</key>
-      <value>100 bis 199T</value>
-    </entry>
-    <entry>
-      <key>101 to 250</key>
-      <value>101 bis 250</value>
-    </entry>
-    <entry>
-      <key>Overarching</key>
-      <value>Übergreifend</value>
-    </entry>
-    <entry>
-      <key>Energy</key>
-      <value>Energie</value>
-    </entry>
-    <entry>
-      <key>Machinery and equipment</key>
-      <value>Maschinen und Anlagen</value>
-    </entry>
-    <entry>
-      <key>Trade</key>
-      <value>Handel</value>
-    </entry>
-    <entry>
-      <key>Consultation</key>
-      <value>Beratung</value>
-    </entry>
-    <entry>
-      <key>Cloud</key>
-      <value>Cloud</value>
-    </entry>
-    <entry>
-      <key>No date yet</key>
-      <value>Noch kein Termin</value>
-    </entry>
-    <entry>
-      <key>Classifications</key>
-      <value>Klassifizierungen</value>
-    </entry>
-    <entry>
-      <key>Service Manager</key>
-      <value>Leiter Service</value>
-    </entry>
-    <entry>
-      <key>Lifesience</key>
-      <value>Lifesience</value>
-    </entry>
-    <entry>
-      <key>Automotive</key>
-      <value>Automotive</value>
-    </entry>
-    <entry>
-      <key>Lottery</key>
-      <value>Lotterie</value>
-    </entry>
-    <entry>
-      <key>from 350T</key>
-      <value>ab 350T</value>
-    </entry>
-    <entry>
-      <key>Management/Sales Manager</key>
-      <value>GF/Leiter Vertrieb</value>
-    </entry>
-    <entry>
-      <key>Environment</key>
-      <value>Umwelt</value>
-    </entry>
-    <entry>
-      <key>Within 12 months</key>
-      <value>Innerhalb 12 Monaten</value>
-    </entry>
-    <entry>
-      <key>Finance</key>
-      <value>Finanz</value>
-    </entry>
-    <entry>
-      <key>ScoreProjectStart</key>
-      <value>Projektstart</value>
-    </entry>
-    <entry>
-      <key>ScoreStandard</key>
-      <value>Standard</value>
-    </entry>
-    <entry>
-      <key>ScoreCustomizing</key>
-      <value>Eigenentwicklung</value>
-    </entry>
-    <entry>
-      <key>ScoreDecisionPhase</key>
-      <value>Entscheidungsphase</value>
-    </entry>
-    <entry>
-      <key>ScoreUsers</key>
-      <value>Anzahl Anwender</value>
-    </entry>
-    <entry>
-      <key>ScoreBranch</key>
-      <value>Branche</value>
-    </entry>
-    <entry>
-      <key>ScorePosition</key>
-      <value>Position</value>
-    </entry>
-    <entry>
-      <key>ScoreBudget</key>
-      <value>Projektbudget</value>
-    </entry>
-    <entry>
-      <key>ScoreDepartment</key>
-      <value>Einsatzbereich</value>
-    </entry>
-    <entry>
-      <key>ScoreCloud</key>
-      <value>Betriebsmodel</value>
-    </entry>
-    <entry>
-      <key>ScoreBased</key>
-      <value>Unternehmenssitz</value>
-    </entry>
-    <entry>
-      <key>Score</key>
-    </entry>
-    <entry>
-      <key>Scoretype</key>
-      <value>Bewertungstyp</value>
-    </entry>
-    <entry>
-      <key>${HIGHER_THAN_MAX} max: %0</key>
-      <value>Der eingegebene Wert ist über dem Maximalwert %0.</value>
-    </entry>
-    <entry>
-      <key>Rating</key>
-      <value>Bewertung</value>
-    </entry>
-    <entry>
-      <key>Possible Values</key>
-      <value>Mögliche Werte</value>
-    </entry>
-    <entry>
-      <key>assigned</key>
-      <value>zugewiesen</value>
-    </entry>
-    <entry>
-      <key>251 to 1,000</key>
-    </entry>
-    <entry>
-      <key>Selection</key>
-      <value>Auswahl</value>
-    </entry>
-    <entry>
-      <key>Files</key>
-      <value>Dateien</value>
-    </entry>
-    <entry>
-      <key>postcode</key>
-    </entry>
-    <entry>
-      <key>Delete</key>
-    </entry>
-    <entry>
-      <key>Street</key>
-      <value>Straße</value>
-    </entry>
-    <entry>
-      <key>Start</key>
-    </entry>
-    <entry>
-      <key>End</key>
-      <value>Ende</value>
-    </entry>
-    <entry>
-      <key>Condition</key>
-    </entry>
-    <entry>
-      <key>File</key>
-    </entry>
-    <entry>
-      <key> User</key>
-    </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
-    <entry>
-      <key>Condition Type</key>
-    </entry>
-    <entry>
-      <key>Access type</key>
-    </entry>
-    <entry>
-      <key>Permission  Overview</key>
-    </entry>
-    <entry>
-      <key>PermissionId</key>
-    </entry>
-    <entry>
-      <key>Entity</key>
-    </entry>
-    <entry>
-      <key>Sales Project</key>
-      <value>Vertriebsprojekt</value>
-    </entry>
-    <entry>
-      <key>Field</key>
-    </entry>
-    <entry>
-      <key>Permission Detail</key>
-    </entry>
-    <entry>
-      <key>Entities</key>
-    </entry>
-    <entry>
-      <key>Read</key>
-    </entry>
-    <entry>
-      <key>Permission Set ID</key>
-    </entry>
-    <entry>
-      <key>Create</key>
-    </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Permission Overview</key>
-    </entry>
-    <entry>
-      <key>Action</key>
-    </entry>
-    <entry>
-      <key>View</key>
-    </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Salutations</key>
-    </entry>
-    <entry>
-      <key>Paymentterm</key>
-    </entry>
-    <entry>
-      <key>New step</key>
-      <value>Neue Stufe</value>
-    </entry>
-    <entry>
-      <key>Runtime</key>
-      <value>Laufzeit</value>
-    </entry>
-    <entry>
-      <key>Fix costs</key>
-      <value>Fixkosten</value>
-    </entry>
-    <entry>
-      <key>Per participant</key>
-      <value>Pro Teilnehmer</value>
-    </entry>
-    <entry>
-      <key>Predecessor</key>
-      <value>Vorgänger</value>
-    </entry>
-    <entry>
-      <key>Group name</key>
-      <value>Gruppenname</value>
-    </entry>
-    <entry>
-      <key>Price Condition</key>
-      <value>Preis Konditionen</value>
-    </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>beschränken</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
-    <entry>
-      <key>Possible Value</key>
-      <value>Möglicher Wert</value>
-    </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
-    <entry>
-      <key>Could not determine the current Classification type (usage).</key>
-    </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
-    <entry>
-      <key>Campaign planning</key>
-      <value>Kampagnenplanung</value>
-    </entry>
-    <entry>
-      <key>New campaign</key>
-      <value>Neue Kampagne</value>
-    </entry>
-    <entry>
-      <key>3. Classification</key>
-      <value>3. Klassifizierung</value>
-    </entry>
-    <entry>
-      <key>1. Classification</key>
-      <value>1. Klassifizierung</value>
-    </entry>
-    <entry>
-      <key>2. Classification</key>
-      <value>2. Klassifizierung</value>
-    </entry>
-    <entry>
-      <key>Choose Footer</key>
-      <value>Fußtext auswählen</value>
-    </entry>
-    <entry>
-      <key>Choose Header</key>
-      <value>Kopftext  auswählen</value>
-    </entry>
-    <entry>
-      <key>#0</key>
-    </entry>
-    <entry>
-      <key>Email Template</key>
-    </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
-    <entry>
-      <key>New Support ticket</key>
-      <value>Neues Supportticket</value>
-    </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-      <value>Neues Bugticket</value>
-    </entry>
-    <entry>
-      <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
-    </entry>
-    <entry>
-      <key>Kein Weitergeben von privaten Aufgaben möglich!</key>
-    </entry>
-    <entry>
-      <key>Search for new Entries</key>
-      <value>Nach neuen Einträgen suchen</value>
-    </entry>
-    <entry>
-      <key>Maximal count has to be a whole number</key>
-      <value>Maximale Anzahl muss eine ganze Zahl sein</value>
-    </entry>
-    <entry>
-      <key>Minimal count must be a positive whole number</key>
-      <value>Minimale Anzahl muss eine positive, ganze Zahl sein</value>
-    </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
-    <entry>
-      <key>Maximal count must be one or higher</key>
-      <value>Maximale Anzahl muss eins oder höher sein</value>
-    </entry>
-    <entry>
-      <key>Campaign name</key>
-      <value>Kampagnen Name</value>
-    </entry>
-    <entry>
-      <key>Step name</key>
-      <value>Stufen Name</value>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
-    <entry>
-      <key>own company</key>
-      <value>eigene Firma</value>
-    </entry>
-    <entry>
-      <key>Interested</key>
-      <value>Interessent</value>
-    </entry>
-    <entry>
-      <key>Consultant</key>
-      <value>Berater</value>
-    </entry>
-    <entry>
-      <key>Acquisition</key>
-      <value>Akquise</value>
-    </entry>
-    <entry>
-      <key>Project planned?</key>
-      <value>Projekt geplant?</value>
-    </entry>
-    <entry>
-      <key>Project planning open</key>
-      <value>Planung Projekt offen</value>
-    </entry>
-    <entry>
-      <key>Next contact?</key>
-      <value>Nächster Kontakt?</value>
-    </entry>
-    <entry>
-      <key>First contact</key>
-      <value>Erstkontakt</value>
-    </entry>
-    <entry>
-      <key>Product interest</key>
-      <value>Produktinteresse</value>
-    </entry>
-    <entry>
-      <key>Commodity group A</key>
-      <value>Warengruppe A</value>
-    </entry>
-    <entry>
-      <key>Product A1</key>
-      <value>Produkt A1</value>
-    </entry>
-    <entry>
-      <key>Product A2</key>
-      <value>Produkt A2</value>
-    </entry>
-    <entry>
-      <key>Commodity group B</key>
-      <value>Warengruppe B</value>
-    </entry>
-    <entry>
-      <key>Product B1</key>
-      <value>Produkt B1</value>
-    </entry>
-    <entry>
-      <key>Product B2</key>
-      <value>Produkt B2</value>
-    </entry>
-    <entry>
-      <key>General</key>
-      <value>Allgemein</value>
-    </entry>
-    <entry>
-      <key>ToDo</key>
-      <value>ToDo</value>
-    </entry>
-    <entry>
-      <key>Send information</key>
-      <value>Informationen senden</value>
-    </entry>
-    <entry>
-      <key>Distribution</key>
-      <value>Vertrieb</value>
-    </entry>
-    <entry>
-      <key>Presentation</key>
-      <value>Präsentation</value>
-    </entry>
-    <entry>
-      <key>Technical requirement</key>
-      <value>Fachanforderung</value>
-    </entry>
-    <entry>
-      <key>Pros</key>
-      <value>Vorteile</value>
-    </entry>
-    <entry>
-      <key>flexible</key>
-      <value>flexibel</value>
-    </entry>
-    <entry>
-      <key>Technology</key>
-      <value>Technologie</value>
-    </entry>
-    <entry>
-      <key>Cons</key>
-      <value>Defizite</value>
-    </entry>
-    <entry>
-      <key>Next steps</key>
-      <value>Nächste Schritte</value>
-    </entry>
-    <entry>
-      <key>ToDos</key>
-      <value>ToDos</value>
-    </entry>
-    <entry>
-      <key>Follow up (WV)</key>
-      <value>Nachfassen (WV)</value>
-    </entry>
-    <entry>
-      <key>Other (WV)</key>
-      <value>Sonstiges (WV)</value>
-    </entry>
-    <entry>
-      <key>Personal estimation</key>
-      <value>Pers. Einschätzung</value>
-    </entry>
-    <entry>
-      <key>Assessment</key>
-      <value>Beurteilung</value>
-    </entry>
-    <entry>
-      <key>30</key>
-      <value>30</value>
-    </entry>
-    <entry>
-      <key>60</key>
-      <value>60</value>
-    </entry>
-    <entry>
-      <key>90</key>
-      <value>90</value>
-    </entry>
-    <entry>
-      <key>Commodity group A (WV)</key>
-      <value>Warengruppe A (WV)</value>
-    </entry>
-    <entry>
-      <key>Commodity group B (WV)</key>
-      <value>Warengruppe B (WV)</value>
-    </entry>
-    <entry>
-      <key>Origin</key>
-      <value>Herkunft</value>
-    </entry>
-    <entry>
-      <key>personal</key>
-      <value>persönlich</value>
-    </entry>
-    <entry>
-      <key>Reference customer</key>
-      <value>Referenz-Kunde</value>
-    </entry>
-    <entry>
-      <key>Website</key>
-      <value>Website</value>
-    </entry>
-    <entry>
-      <key>Trade fair</key>
-      <value>Messe</value>
-    </entry>
-    <entry>
-      <key>Call</key>
-      <value>Anruf</value>
-    </entry>
-    <entry>
-      <key>Frame contract (WV)</key>
-      <value>Rahmenvertrag (WV)</value>
-    </entry>
-    <entry>
-      <key>Custody agreement</key>
-      <value>Verwahrungsvereinbarung</value>
-    </entry>
-    <entry>
-      <key>Data protection agreement</key>
-      <value>Datenschutzvereinbarung</value>
-    </entry>
-    <entry>
-      <key>Declaration of acceptance</key>
-      <value>Abnahmeerklärung</value>
-    </entry>
-    <entry>
-      <key>Known because</key>
-      <value>Bekannt durch</value>
-    </entry>
-    <entry>
-      <key>Existing contact</key>
-      <value>Bestehender Kontakt</value>
-    </entry>
-    <entry>
-      <key>Recommendation</key>
-      <value>Empfehlung</value>
-    </entry>
-    <entry>
-      <key>Print media</key>
-      <value>Printmedien</value>
-    </entry>
-    <entry>
-      <key>Call back (WV)</key>
-      <value>Rückruf (WV)</value>
-    </entry>
-    <entry>
-      <key>Send documents (WV)</key>
-      <value>Unterlagen senden (WV)</value>
-    </entry>
-    <entry>
-      <key>Make offer (WV)</key>
-      <value>Angebot erstellen (WV)</value>
-    </entry>
-    <entry>
-      <key>Send brochure (WV)</key>
-      <value>Broschüre zukommen lassen (WV)</value>
-    </entry>
-    <entry>
-      <key>Departments</key>
-      <value>Abteilungen</value>
-    </entry>
-    <entry>
-      <key>IT/Service</key>
-      <value>IT/Service</value>
-    </entry>
-    <entry>
-      <key>Pricing policy</key>
-      <value>Preispolitik</value>
-    </entry>
-    <entry>
-      <key>Strength</key>
-      <value>Stärke</value>
-    </entry>
-    <entry>
-      <key>Weakness</key>
-      <value>Schwäche</value>
-    </entry>
-    <entry>
-      <key>Interests</key>
-      <value>Interessen</value>
-    </entry>
-    <entry>
-      <key>Goodwill</key>
-      <value>Kulanz</value>
-    </entry>
-    <entry>
-      <key>Type of damage</key>
-      <value>Schadensart</value>
-    </entry>
-    <entry>
-      <key>Regulation</key>
-      <value>Regulierung</value>
-    </entry>
-    <entry>
-      <key>Technical specifications</key>
-      <value>Technische Merkmale</value>
-    </entry>
-    <entry>
-      <key>B</key>
-      <value>B</value>
-    </entry>
-    <entry>
-      <key>0 low</key>
-      <value>gering</value>
-    </entry>
-    <entry>
-      <key>good</key>
-      <value>gut</value>
-    </entry>
-    <entry>
-      <key>Atmosphere</key>
-      <value>Stimmung</value>
-    </entry>
-    <entry>
-      <key>Risk</key>
-      <value>Risiko</value>
-    </entry>
-    <entry>
-      <key>Racing bike</key>
-      <value>Rennrad</value>
-    </entry>
-    <entry>
-      <key>A</key>
-      <value>A</value>
-    </entry>
-    <entry>
-      <key>NPO</key>
-      <value>NPO</value>
-    </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-      <value>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</value>
-    </entry>
-    <entry>
-      <key>Handcraft</key>
-      <value>Handwerk</value>
-    </entry>
-    <entry>
-      <key>Dumping price competition</key>
-      <value>Dumpingpreis Wettbewerb</value>
-    </entry>
-    <entry>
-      <key>Full calculation</key>
-      <value>Vollberechnung</value>
-    </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-      <value>Konditionen die bei Angebotserstellung übernommen werden</value>
-    </entry>
-    <entry>
-      <key>Others</key>
-      <value>Sonstiges</value>
-    </entry>
-    <entry>
-      <key>Product type</key>
-      <value>Produkttyp</value>
-    </entry>
-    <entry>
-      <key>medium</key>
-      <value>mittel</value>
-    </entry>
-    <entry>
-      <key>D</key>
-      <value>D</value>
-    </entry>
-    <entry>
-      <key>1 medium</key>
-      <value>mittel</value>
-    </entry>
-    <entry>
-      <key>loves sociability</key>
-      <value>liebt Geselligkeit</value>
-    </entry>
-    <entry>
-      <key>Project shift customer</key>
-      <value>Projektverschiebung Kunde</value>
-    </entry>
-    <entry>
-      <key>Quality problem customer</key>
-      <value>Qualitätsproblem Kunde</value>
-    </entry>
-    <entry>
-      <key>Wine</key>
-      <value>Wein</value>
-    </entry>
-    <entry>
-      <key>Decision-maker changed</key>
-      <value>Wechsel Entscheidungsträger</value>
-    </entry>
-    <entry>
-      <key>Financial service</key>
-      <value>Finanzdienstleistung</value>
-    </entry>
-    <entry>
-      <key>Sport</key>
-      <value>Sport</value>
-    </entry>
-    <entry>
-      <key>Device/Machine</key>
-      <value>Gerät/Maschine</value>
-    </entry>
-    <entry>
-      <key>Annual holidays</key>
-      <value>Jahresurlaub</value>
-    </entry>
-    <entry>
-      <key>Away travel</key>
-      <value>Fernreisen</value>
-    </entry>
-    <entry>
-      <key>Partial calculation</key>
-      <value>Teilberechnung</value>
-    </entry>
-    <entry>
-      <key>PERS</key>
-      <value>PERS</value>
-    </entry>
-    <entry>
-      <key>Target group</key>
-      <value>Zielgruppe</value>
-    </entry>
-    <entry>
-      <key>Interested person</key>
-      <value>Interessent</value>
-    </entry>
-    <entry>
-      <key>Assistance</key>
-      <value>Betreuung</value>
-    </entry>
-    <entry>
-      <key>Contacting</key>
-      <value>Kontaktierung</value>
-    </entry>
-    <entry>
-      <key>Signature</key>
-      <value>Signatur</value>
-    </entry>
-    <entry>
-      <key>Beer</key>
-      <value>Bier</value>
-    </entry>
-    <entry>
-      <key>Treat</key>
-      <value>Genuss</value>
-    </entry>
-    <entry>
-      <key>Motor cycle</key>
-      <value>Motorrad</value>
-    </entry>
-    <entry>
-      <key>Revolution speed (rpm)</key>
-      <value>Drehzahl (rpm)</value>
-    </entry>
-    <entry>
-      <key>ORG</key>
-      <value>ORG</value>
-    </entry>
-    <entry>
-      <key>Cigars</key>
-      <value>Zigarren</value>
-    </entry>
-    <entry>
-      <key>Wear part</key>
-      <value>Verschleißteil</value>
-    </entry>
-    <entry>
-      <key>Mechanical engineering</key>
-      <value>Maschinenbau</value>
-    </entry>
-    <entry>
-      <key>Loyalty</key>
-      <value>Loyalität</value>
-    </entry>
-    <entry>
-      <key>Data table</key>
-      <value>Tabellen Daten</value>
-    </entry>
-    <entry>
-      <key>Delivery block</key>
-      <value>Liefersperre</value>
-    </entry>
-    <entry>
-      <key>Birthday list</key>
-      <value>Geburtstagsliste</value>
-    </entry>
-    <entry>
-      <key>Project type</key>
-      <value>Projektart</value>
-    </entry>
-    <entry>
-      <key>Consisted customer</key>
-      <value>Bestandskunde</value>
-    </entry>
-    <entry>
-      <key>Prospective customer</key>
-      <value>Interessent</value>
-    </entry>
-    <entry>
-      <key>Soccer</key>
-      <value>Fussball</value>
-    </entry>
-    <entry>
-      <key>Conveyor</key>
-      <value>Förderband</value>
-    </entry>
-    <entry>
-      <key>Additional data</key>
-      <value>zusätzliche Daten</value>
-    </entry>
-    <entry>
-      <key>No risk</key>
-      <value>kein Risiko</value>
-    </entry>
-    <entry>
-      <key>bad</key>
-      <value>schlecht</value>
-    </entry>
-    <entry>
-      <key>Spare part</key>
-      <value>Ersatzteil</value>
-    </entry>
-    <entry>
-      <key>Sailing</key>
-      <value>Segeln</value>
-    </entry>
-    <entry>
-      <key>Tool changer</key>
-      <value>Werkzeugwechsler</value>
-    </entry>
-    <entry>
-      <key>Payment problem customer</key>
-      <value>Zahlungsproblem Kunde</value>
-    </entry>
-    <entry>
-      <key>Agency</key>
-      <value>Behörde</value>
-    </entry>
-    <entry>
-      <key>Tourism</key>
-      <value>Tourismus</value>
-    </entry>
-    <entry>
-      <key>Building industry</key>
-      <value>Bauwesen</value>
-    </entry>
-    <entry>
-      <key>2 big</key>
-      <value>gross</value>
-    </entry>
-    <entry>
-      <key>Weight (kg)</key>
-      <value>Gewicht (kg)</value>
-    </entry>
-    <entry>
-      <key>Creditworthiness</key>
-      <value>Bonität</value>
-    </entry>
-    <entry>
-      <key>Occupation</key>
-      <value>Beruf</value>
-    </entry>
-    <entry>
-      <key>C</key>
-      <value>C</value>
-    </entry>
-    <entry>
-      <key>Economy</key>
-      <value>Wirtschaft</value>
-    </entry>
-    <entry>
-      <key>Golf</key>
-      <value>Golf</value>
-    </entry>
-    <entry>
-      <key>Component</key>
-      <value>Bauteil</value>
-    </entry>
-    <entry>
-      <key>Employee account</key>
-      <value>Mitarbeiterkonto</value>
-    </entry>
-    <entry>
-      <key>DOCUMENT</key>
-      <value>DOCUMENT</value>
-    </entry>
-    <entry>
-      <key>Incomplete delivery</key>
-      <value>unvollständige Lieferung</value>
-    </entry>
-    <entry>
-      <key>Quality complaint</key>
-      <value>Qualitätsbeanstandung</value>
-    </entry>
-    <entry>
-      <key>Faulty delivery</key>
-      <value>fehlerhafte Lieferung</value>
-    </entry>
-    <entry>
-      <key>Transport damage</key>
-      <value>Transportschaden</value>
-    </entry>
-    <entry>
-      <key>EVENT</key>
-      <value>EVENT</value>
-    </entry>
-    <entry>
-      <key>Delivery term</key>
-      <value>Lieferkondition</value>
-    </entry>
-    <entry>
-      <key>Pricelist</key>
-      <value>Preisliste</value>
-    </entry>
-    <entry>
-      <key>Campaign response</key>
-      <value>Rückantwort Kampagne</value>
-    </entry>
-    <entry>
-      <key>Writes for</key>
-      <value>schreibt für</value>
-    </entry>
-    <entry>
-      <key>Subordinate campaign of</key>
-      <value>Unterkampagne von</value>
-    </entry>
-    <entry>
-      <key>Superordinate campaign of</key>
-      <value>übergeordnete Kampagne von</value>
-    </entry>
-    <entry>
-      <key>Holiday</key>
-      <value>Feiertag</value>
-    </entry>
-    <entry>
-      <key>Visit frequency</key>
-      <value>Besuchsfrequenz</value>
-    </entry>
-    <entry>
-      <key>Boss of</key>
-      <value>Vorgesetzter von</value>
-    </entry>
-    <entry>
-      <key>Reports to</key>
-      <value>berichtet an</value>
-    </entry>
-    <entry>
-      <key>Urlaubsgenehmigung durch</key>
-      <value>Urlaubsgenehmigung durch</value>
-    </entry>
-    <entry>
-      <key>Urlaubsprüfung durch</key>
-      <value>Urlaubsprüfung durch</value>
-    </entry>
-    <entry>
-      <key>UID</key>
-    </entry>
-    <entry>
-      <key>ticket number</key>
-    </entry>
-    <entry>
-      <key>AB_KEYWORD_ENTRYID (UID)</key>
-    </entry>
-    <entry>
-      <key>DATE_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Icon</key>
-    </entry>
-    <entry>
-      <key>in progress</key>
-      <value>in Bearbeitung</value>
-    </entry>
-    <entry>
-      <key>PARENT_CONTEXT</key>
-    </entry>
-    <entry>
-      <key>OFFER_ID</key>
-    </entry>
-    <entry>
-      <key>SMS</key>
-    </entry>
-    <entry>
-      <key>CAMPAIGNID (UID)</key>
-    </entry>
-    <entry>
-      <key>PARENT_ID</key>
-    </entry>
-    <entry>
-      <key>Interfaces</key>
-      <value>Schnittstellen</value>
-    </entry>
-    <entry>
-      <key>Feature</key>
-      <value>Feature</value>
-    </entry>
-    <entry>
-      <key>ORGANISATIONID (UID)</key>
-    </entry>
-    <entry>
-      <key>SALESORDER_ID</key>
-    </entry>
-    <entry>
-      <key>Ticket</key>
-    </entry>
-    <entry>
-      <key>Delivery problems</key>
-      <value>Leferprobleme</value>
-    </entry>
-    <entry>
-      <key>Tickets</key>
-    </entry>
-    <entry>
-      <key>PERSON_ID</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_REQUESTOR}</key>
-      <value>Anforderer</value>
-    </entry>
-    <entry>
-      <key>Billable</key>
-      <value>Verrechenbar</value>
-    </entry>
-    <entry>
-      <key>TASKID (UID)</key>
-    </entry>
-    <entry>
-      <key>Fax</key>
-    </entry>
-    <entry>
-      <key>DATE_EDIT</key>
-    </entry>
-    <entry>
-      <key>OFFERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Connection Type</key>
-    </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
-    <entry>
-      <key>Phases</key>
-    </entry>
-    <entry>
-      <key>Questions</key>
-      <value>Fragen</value>
-    </entry>
-    <entry>
-      <key>User error</key>
-      <value>Anwenderfehler</value>
-    </entry>
-    <entry>
-      <key>ACTIVITYID (UID)</key>
-    </entry>
-    <entry>
-      <key>Issue</key>
-      <value>Fehler</value>
-    </entry>
-    <entry>
-      <key>CONTACTID</key>
-    </entry>
-    <entry>
-      <key>Maintenance</key>
-      <value>Wartung</value>
-    </entry>
-    <entry>
-      <key>{$TICKET_STATUS}</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>DATE_NEW</key>
-    </entry>
-    <entry>
-      <key>SALESPROJECTID (UID)</key>
-    </entry>
-    <entry>
-      <key>ORGANISATION_ID</key>
-    </entry>
-    <entry>
-      <key>CONTRACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a file from a blob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>SqlUtils.getSqlInStatement: if pAsPrepared is true, pPreparedDbType has to be filld with the correct db type</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a text-file from a clob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>USER_NEW</key>
-    </entry>
-    <entry>
-      <key>USER_EDIT</key>
-    </entry>
-    <entry>
-      <key>CONTACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_EDITOR}</key>
-      <value>Bearbeiter</value>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-      <value>Supportticket</key>
-    </entry>
-    <entry>
-      <key>Modul group</key>
-      <value>Modulgruppe</value>
-    </entry>
-    <entry>
-      <key>PRODUCTID (UID)</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"</key>
-    </entry>
-    <entry>
-      <key>Total time</key>
-    </entry>
-    <entry>
-      <key>SALESORDERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Cause</key>
-      <value>Ursache</value>
-    </entry>
-    <entry>
-      <key>Assembly</key>
-      <value>Montage</value>
-    </entry>
-    <entry>
-      <key>Dokument template usage</key>
-    </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
-    <entry>
-      <key>USER_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-    </entry>
-    <entry>
-      <key>All selected participants already are in the campaign</key>
-      <value>Alle selektierten Teilnehmer sind bereits in der Kampagne</value>
-    </entry>
-    <entry>
-      <key>%0/%1 participant(s) will be added to the selected campaign step</key>
-      <value>%0/%1 Teilnehmer werden zur selektierten Kampagnenstufe hinzugefügt</value>
-    </entry>
-    <entry>
-      <key>Not enough slots for %0/%1 participant(s)</key>
-      <value>Nicht genügend Teilnehmerplätze verfügbar für %0/%1 Teilnehmer</value>
-    </entry>
-    <entry>
-      <key>No valid Selection</key>
-      <value>Keine gültige Auswahl</value>
-    </entry>
-    <entry>
-      <key>Support Ticket</key>
-      <value>Support Ticket</value>
-    </entry>
-    <entry>
-      <key>DSGVO Information</key>
-      <value>DSGVO Informationen</value>
-    </entry>
-    <entry>
-      <key>Remarks</key>
-      <value>Anmerkungen</value>
-    </entry>
-    <entry>
-      <key>Data Privacy</key>
-      <value>Datenschutz</value>
-    </entry>
-    <entry>
-      <key>Organisation</key>
-      <value>Organisation</value>
-    </entry>
-    <entry>
-      <key>No data has been anonymized.</key>
-      <value>Keine Daten wurden anonymisiert.</value>
-    </entry>
-    <entry>
-      <key>Anonymization</key>
-      <value>Anonymisierung</value>
-    </entry>
-    <entry>
-      <key>The following data has been anonymised: %0</key>
-      <value>Die folgenden Daten wurden anonymisiert: %0</value>
-    </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-      <value>Ihre Änderungen haben Auswirkungen auf den Datenschutz (DSGVO).</value>
-    </entry>
-    <entry>
-      <key>Rented car</key>
-      <value>Mietwagen</value>
-    </entry>
-    <entry>
-      <key>Data Privacies</key>
-      <value>Datenprivilegien</value>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-      <value>Werbeeinwilligung</value>
-    </entry>
-    <entry>
-      <key>Update campaign step</key>
-      <value>Aktualisieren des Kampagnenschrittes</value>
-    </entry>
-    <entry>
-      <key>Names</key>
-      <value>Namen</value>
-    </entry>
-    <entry>
-      <key>Adressdaten</key>
-      <value>Adressdaten</value>
-    </entry>
-    <entry>
-<<<<<<< HEAD
-      <key>No contacts selected</key>
-      <value>Keine Kontakte ausgewählt</value>
-=======
-      <key>The contact has an advertising ban for emails!</key>
-      <value>Es ist eine Werbesperre für E-Mails vorhanden!</value>
->>>>>>> origin/master
-    </entry>
-    <entry>
-      <key>DSGVO anonymisation</key>
-      <value>DSGVO Anonymisierung</value>
-    </entry>
-    <entry>
-      <key>Transport cost</key>
-      <value>Transportkosten</value>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-      <value>Tagesgebühr</value>
-    </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-      <value>Newsletterversand</value>
-    </entry>
-    <entry>
-      <key>Month</key>
-      <value>Monat</value>
-    </entry>
-    <entry>
-      <key>Address data</key>
-      <value>Adressdaten</value>
-    </entry>
-    <entry>
-      <key>contract of sale</key>
-      <value>Kaufvertrag</value>
-    </entry>
-    <entry>
-      <key>My campaigns</key>
-      <value>Meine Kampagnen</value>
-    </entry>
-    <entry>
-      <key>Hospitality</key>
-      <value>Gastfreundschaft</value>
-    </entry>
-    <entry>
-      <key>DataPrivacy Use</key>
-      <value>Nutzung</value>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-      <value>Bett und Frühstück</value>
-    </entry>
-    <entry>
-      <key>Source</key>
-      <value>Quelle</value>
-    </entry>
-    <entry>
-      <key>Show my campaigns</key>
-      <value>Zeigen meine Kampagnen</value>
-    </entry>
-    <entry>
-      <key>consent</key>
-      <value>Zustimmung</value>
-    </entry>
-    <entry>
-      <key>Information Report</key>
-      <value>Informationsbericht</value>
-    </entry>
-    <entry>
-      <key>Attribute data</key>
-      <value>Attributdaten</value>
-    </entry>
-    <entry>
-      <key>other personal data</key>
-      <value>andere persönliche Daten</value>
-    </entry>
-    <entry>
-      <key>The contact has an advertising ban for emails!</key>
-      <value>Der Kontakt hat ein Werbeverbot für E-Mails!</value>
-    </entry>
-    <entry>
-      <key>Until</key>
-      <value>Bis</value>
-    </entry>
-    <entry>
-      <key>From</key>
-      <value>Von</value>
-    </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-      <value>DSGVO Auskunft</value>
-    </entry>
-    <entry>
-      <key>Disclosure Report</key>
-      <value>Auskunftsbericht</value>
-    </entry>
-    <entry>
-      <key>Add to Bulkmail</key>
-      <value>Zu Massenmail hinzufügen</value>
-    </entry>
-    <entry>
-      <key>Park fees</key>
-      <value>Parkgebühren</value>
-    </entry>
-    <entry>
-      <key>Abscences</key>
-      <value>Abszenzenen</value>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-      <value>Ausgabenabrechnung</value>
-    </entry>
-    <entry>
-      <key>Update data privacy information</key>
-      <value>Datenschutzinformationen aktualisieren</value>
-    </entry>
-    <entry>
-      <key>DataPrivacy Right</key>
-      <value>Datenschutzrecht</value>
-    </entry>
-    <entry>
-      <key>balancing of interests</key>
-      <value>Interessenausgleich</value>
-    </entry>
-    <entry>
-      <key>Working material</key>
-      <value>Arbeitsmaterial</value>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-      <value>Reisezweck</value>
-    </entry>
-    <entry>
-      <key>Personal data</key>
-      <value>Persönliche Daten</value>
-    </entry>
-    <entry>
-      <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
-      <value>Die Übermittlung von Daten an Empfänger in einem Drittland basiert auf folgenden Garantien:</value>
-    </entry>
-    <entry>
-      <key>Recipient, Country</key>
-      <value>Empfänger, Land</value>
-    </entry>
-    <entry>
-      <key>We save your data until </key>
-      <value>Wir speichern Ihre Daten bis </value>
-    </entry>
-    <entry>
-      <key>Guarantee</key>
-      <value>Garantie</value>
-    </entry>
-    <entry>
-      <key>On time</key>
-      <value>Pünktlich</value>
-    </entry>
-    <entry>
-      <key>For this report</key>
-      <value>Für diesen Bericht</value>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a select clause!</key>
-      <value>SqlBuilder muss eine Select-Clause enthalten!</value>
-    </entry>
-    <entry>
-      <key>Inland</key>
-      <value>Inland</value>
-    </entry>
-    <entry>
-      <key>The data is transmitted to the following recipients:</key>
-      <value>Die Daten werden an folgende Empfänger übertragen:</value>
-    </entry>
-    <entry>
-      <key>SqlBuilder must be instanciated with 'new'</key>
-      <value>SqlBuilder muss mit 'new' instanziiert werden.</value>
-    </entry>
-    <entry>
-      <key>Balancing of interests</key>
-      <value>Interessenausgleich</value>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a from clause!</key>
-      <value>SqlBuilder muss eine from-Clause enthalten!</value>
-    </entry>
-    <entry>
-      <key>None</key>
-      <value>Keine</value>
-    </entry>
-    <entry>
-      <key>Date of request</key>
-      <value>Datum der Anforderung</value>
-    </entry>
-    <entry>
-      <key>Export CSV</key>
-      <value>CSV exportieren</value>
-    </entry>
-    <entry>
-      <key>Not all data privacy fields for all private data is filled. Cannot create report.</key>
-      <value>Nicht alle Datenschutzfelder für alle privaten Daten werden ausgefüllt. Bericht kann nicht erstellt werden.</value>
-    </entry>
-    <entry>
-      <key>Birthday</key>
-      <value>Geburtstag</value>
-    </entry>
-    <entry>
-      <key>Extend - request count</key>
-      <value>Verlängert - Anfrageanzahl</value>
-    </entry>
-    <entry>
-      <key>Transmission</key>
-      <value>Übermittlung</value>
-    </entry>
-    <entry>
-      <key>You don't have permission for this view.</key>
-      <value>Sie haben keine Berechtigung für diese Ansicht.</value>
-    </entry>
-    <entry>
-      <key>Extend - complexity</key>
-      <value>Verlängert - Komplexität</value>
-    </entry>
-    <entry>
-      <key>Advertising consent</key>
-      <value>Werbeeinwilligung</value>
-    </entry>
-    <entry>
-      <key>We hereby comply with your request within the statutory period of one month.</key>
-      <value>Wir kommen Ihrer Aufforderung hiermit innerhalb der gesetzlichen Frist von einem Monat nach.</value>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed. Process took %2 s.</key>
-      <value>%0 Mails erfolgreich gesendet, %1 Mails fehlgeschlagen. Der Prozess nahm %2 s. in Anspruch.</value>
-    </entry>
-    <entry>
-      <key>Foreign country</key>
-      <value>Auslandsland</value>
-    </entry>
-    <entry>
-      <key>phase information</key>
-      <value>Phaseninformationen</value>
-    </entry>
-    <entry>
-      <key>the high complexity of your application</key>
-      <value>die hohe Komplexität Ihrer Anwendung</value>
-    </entry>
-    <entry>
-      <key>As stated in our letter of %0, we have made use of the possibility to extend the deadline to three months due to %1.</key>
-      <value>Wie in unserem Schreiben von %0 erwähnt, haben wir von der Möglichkeit Gebrauch gemacht, die Frist aufgrund von %1 auf drei Monate zu verlängern.</value>
-    </entry>
-    <entry>
-      <key>Deadline</key>
-      <value>Frist</value>
-    </entry>
-    <entry>
-      <key>Newsletter dispatch</key>
-      <value>Newsletterversand</value>
-    </entry>
-    <entry>
-      <key>We received data from </key>
-      <value>Wir haben Daten erhalten von</value>
-    </entry>
-    <entry>
-      <key>the number of your applications</key>
-      <value>die Anzahl Ihrer Anwendungen</value>
-    </entry>
-    <entry>
-      <key>Your changes may have an impact on the data privacy information (DSGVO).\n Please update these.</key>
-      <value>Ihre Änderungen können sich auf die Datenschutzinformationen (DSGVO) auswirken.\n Bitte aktualisieren Sie diese.</value>
-    </entry>
-    <entry>
-      <key>External Datasource</key>
-      <value>Externe Datenquelle</value>
-    </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
-    <entry>
-      <key>Nur eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
-    <entry>
-      <key>Extension letter date</key>
-    </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
-    <entry>
-      <key>Update</key>
-    </entry>
-    <entry>
-      <key>Blog</key>
-    </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
-    <entry>
-      <key>Guarantees</key>
-      <value>Garantien</value>
-    </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
-    <entry>
-      <key>Xing</key>
-    </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
-    <entry>
-      <key>LinkedIn</key>
-    </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
-    <entry>
-      <key>%0 recipients will be added to the bulk mail.</key>
-    </entry>
-  </keyValueMap>
-  <font name="Dialog" style="0" size="11" />
-</language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod.orig b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod.orig
deleted file mode 100644
index 8ec4fc23e9..0000000000
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod.orig
+++ /dev/null
@@ -1,4880 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<language xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/language/1.2.0">
-  <name>_____LANGUAGE_en</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <language>en</language>
-  <country></country>
-  <variant></variant>
-  <keyValueMap>
-    <entry>
-      <key>Company</key>
-    </entry>
-    <entry>
-      <key>New step</key>
-    </entry>
-    <entry>
-      <key>E-Mail</key>
-    </entry>
-    <entry>
-      <key>Male</key>
-    </entry>
-    <entry>
-      <key>Activity</key>
-    </entry>
-    <entry>
-      <key>Name</key>
-    </entry>
-    <entry>
-      <key>Austria</key>
-    </entry>
-    <entry>
-      <key>Customercode</key>
-    </entry>
-    <entry>
-      <key>Status</key>
-    </entry>
-    <entry>
-      <key>Active</key>
-    </entry>
-    <entry>
-      <key>Medium</key>
-    </entry>
-    <entry>
-      <key>Internet</key>
-    </entry>
-    <entry>
-      <key>Germany</key>
-    </entry>
-    <entry>
-      <key>Online-Meeting</key>
-    </entry>
-    <entry>
-      <key>Social Media</key>
-    </entry>
-    <entry>
-      <key>Visit</key>
-    </entry>
-    <entry>
-      <key>Information</key>
-    </entry>
-    <entry>
-      <key>Print Offer</key>
-    </entry>
-    <entry>
-      <key>Language</key>
-    </entry>
-    <entry>
-      <key>Phone</key>
-    </entry>
-    <entry>
-      <key>Activities</key>
-    </entry>
-    <entry>
-      <key>Female</key>
-    </entry>
-    <entry>
-      <key>Contactmanagement</key>
-    </entry>
-    <entry>
-      <key>Office address</key>
-    </entry>
-    <entry>
-      <key>Contact</key>
-    </entry>
-    <entry>
-      <key>Home address</key>
-    </entry>
-    <entry>
-      <key>Type</key>
-    </entry>
-    <entry>
-      <key>Contacts</key>
-    </entry>
-    <entry>
-      <key>Norway</key>
-    </entry>
-    <entry>
-      <key>Address</key>
-    </entry>
-    <entry>
-      <key>Addresses</key>
-    </entry>
-    <entry>
-      <key>${COMM_ADDRESS}</key>
-      <value>Address</value>
-    </entry>
-    <entry>
-      <key>Gender</key>
-    </entry>
-    <entry>
-      <key>Date of birth</key>
-    </entry>
-    <entry>
-      <key>Lastname</key>
-    </entry>
-    <entry>
-      <key>Salutation</key>
-    </entry>
-    <entry>
-      <key>Middlename</key>
-    </entry>
-    <entry>
-      <key>Title</key>
-    </entry>
-    <entry>
-      <key>Addresstype</key>
-    </entry>
-    <entry>
-      <key>Firstname</key>
-    </entry>
-    <entry>
-      <key>Description</key>
-    </entry>
-    <entry>
-      <key>Direction</key>
-    </entry>
-    <entry>
-      <key>Entrydate</key>
-    </entry>
-    <entry>
-      <key>Subject</key>
-    </entry>
-    <entry>
-      <key>Post office box</key>
-    </entry>
-    <entry>
-      <key>Delivery address</key>
-    </entry>
-    <entry>
-      <key>House number</key>
-    </entry>
-    <entry>
-      <key>Country</key>
-    </entry>
-    <entry>
-      <key>Communication</key>
-    </entry>
-    <entry>
-      <key>postcode</key>
-    </entry>
-    <entry>
-      <key>City</key>
-    </entry>
-    <entry>
-      <key>State</key>
-    </entry>
-    <entry>
-      <key>Region</key>
-    </entry>
-    <entry>
-      <key>District</key>
-    </entry>
-    <entry>
-      <key>Switzerland</key>
-    </entry>
-    <entry>
-      <key>Internal (2)</key>
-    </entry>
-    <entry>
-      <key>Company Addresses</key>
-    </entry>
-    <entry>
-      <key>yyyyMMdd</key>
-    </entry>
-    <entry>
-      <key>standard address</key>
-    </entry>
-    <entry>
-      <key>PP</key>
-    </entry>
-    <entry>
-      <key>VAT</key>
-    </entry>
-    <entry>
-      <key>The expiry date must be after the start date!</key>
-    </entry>
-    <entry>
-      <key>Product</key>
-    </entry>
-    <entry>
-      <key>Developer</key>
-    </entry>
-    <entry>
-      <key>Valid until</key>
-    </entry>
-    <entry>
-      <key>Price list</key>
-    </entry>
-    <entry>
-      <key>Currency</key>
-    </entry>
-    <entry>
-      <key>Payment method</key>
-    </entry>
-    <entry>
-      <key>Price list / Company</key>
-    </entry>
-    <entry>
-      <key>Curr. sales price</key>
-    </entry>
-    <entry>
-      <key>Contract</key>
-    </entry>
-    <entry>
-      <key>Stock</key>
-    </entry>
-    <entry>
-      <key>PP/SP</key>
-    </entry>
-    <entry>
-      <key>Next due date</key>
-    </entry>
-    <entry>
-      <key>Discount</key>
-    </entry>
-    <entry>
-      <key>The next due date must be after the start of the contract and before the expiry of the contract!</key>
-    </entry>
-    <entry>
-      <key>Sales</key>
-    </entry>
-    <entry>
-      <key>Contract number</key>
-    </entry>
-    <entry>
-      <key>Min. stock</key>
-    </entry>
-    <entry>
-      <key>SP</key>
-    </entry>
-    <entry>
-      <key>Commodity group 3</key>
-    </entry>
-    <entry>
-      <key>Commodity group 2</key>
-    </entry>
-    <entry>
-      <key>Commodity group 1</key>
-    </entry>
-    <entry>
-      <key>Contract start date</key>
-    </entry>
-    <entry>
-      <key>Spare parts</key>
-    </entry>
-    <entry>
-      <key>Unit</key>
-    </entry>
-    <entry>
-      <key>Contract expiry date</key>
-    </entry>
-    <entry>
-      <key>Yes</key>
-    </entry>
-    <entry>
-      <key>Type of contract</key>
-    </entry>
-    <entry>
-      <key>No</key>
-    </entry>
-    <entry>
-      <key>Service</key>
-    </entry>
-    <entry>
-      <key>Cancelled</key>
-    </entry>
-    <entry>
-      <key>Advertising material</key>
-    </entry>
-    <entry>
-      <key>Valid from</key>
-    </entry>
-    <entry>
-      <key>Product name</key>
-    </entry>
-    <entry>
-      <key>Product group</key>
-    </entry>
-    <entry>
-      <key>${CONTRACT_STATUS}</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>From no. of units</key>
-    </entry>
-    <entry>
-      <key>Price</key>
-    </entry>
-    <entry>
-      <key>Conditions</key>
-    </entry>
-    <entry>
-      <key>Standard</key>
-    </entry>
-    <entry>
-      <key>I / O</key>
-    </entry>
-    <entry>
-      <key>Date</key>
-    </entry>
-    <entry>
-      <key>IN</key>
-    </entry>
-    <entry>
-      <key>OUT</key>
-    </entry>
-    <entry>
-      <key>Warehouse</key>
-    </entry>
-    <entry>
-      <key>Reference</key>
-    </entry>
-    <entry>
-      <key>The contract number already exists!</key>
-    </entry>
-    <entry>
-      <key>The product number already exists!</key>
-    </entry>
-    <entry>
-      <key>Quantity</key>
-    </entry>
-    <entry>
-      <key>Salesproject</key>
-    </entry>
-    <entry>
-      <key>Rollout</key>
-    </entry>
-    <entry>
-      <key>Phase</key>
-    </entry>
-    <entry>
-      <key>Product number</key>
-    </entry>
-    <entry>
-      <key>Project number</key>
-    </entry>
-    <entry>
-      <key>Project title</key>
-    </entry>
-    <entry>
-      <key>Project start</key>
-    </entry>
-    <entry>
-      <key>Volume</key>
-    </entry>
-    <entry>
-      <key>Partial order</key>
-    </entry>
-    <entry>
-      <key>Open</key>
-    </entry>
-    <entry>
-      <key>Lost</key>
-    </entry>
-    <entry>
-      <key>Order</key>
-    </entry>
-    <entry>
-      <key>Postponed</key>
-    </entry>
-    <entry>
-      <key>Aborted</key>
-    </entry>
-    <entry>
-      <key>Total net</key>
-    </entry>
-    <entry>
-      <key>Offer</key>
-    </entry>
-    <entry>
-      <key>Offer number</key>
-    </entry>
-    <entry>
-      <key>Probability</key>
-    </entry>
-    <entry>
-      <key>Total VAT</key>
-    </entry>
-    <entry>
-      <key>The offer number already exists!</key>
-    </entry>
-    <entry>
-      <key>0 %</key>
-    </entry>
-    <entry>
-      <key>75 %</key>
-    </entry>
-    <entry>
-      <key>100 %</key>
-    </entry>
-    <entry>
-      <key>25 %</key>
-    </entry>
-    <entry>
-      <key>50 %</key>
-    </entry>
-    <entry>
-      <key>Won</key>
-    </entry>
-    <entry>
-      <key>Checked</key>
-    </entry>
-    <entry>
-      <key>Sent</key>
-    </entry>
-    <entry>
-      <key>Offeritems</key>
-    </entry>
-    <entry>
-      <key>Header text</key>
-    </entry>
-    <entry>
-      <key>Commodity group</key>
-    </entry>
-    <entry>
-      <key>Footer text</key>
-    </entry>
-    <entry>
-      <key>Designation</key>
-    </entry>
-    <entry>
-      <key>Position</key>
-    </entry>
-    <entry>
-      <key>Optional</key>
-    </entry>
-    <entry>
-      <key>Article</key>
-    </entry>
-    <entry>
-      <key>Offeritem</key>
-    </entry>
-    <entry>
-      <key>Sum</key>
-    </entry>
-    <entry>
-      <key>Option4</key>
-    </entry>
-    <entry>
-      <key>Option3</key>
-    </entry>
-    <entry>
-      <key>Option2</key>
-    </entry>
-    <entry>
-      <key>Option1</key>
-    </entry>
-    <entry>
-      <key>Countries</key>
-    </entry>
-    <entry>
-      <key>Options</key>
-    </entry>
-    <entry>
-      <key>Total gross</key>
-    </entry>
-    <entry>
-      <key>Identical price list found!</key>
-    </entry>
-    <entry>
-      <key>Parts list</key>
-    </entry>
-    <entry>
-      <key>Parent</key>
-    </entry>
-    <entry>
-      <key>${EURO_SIGN}</key>
-      <value>€</value>
-    </entry>
-    <entry>
-      <key>Planned</key>
-    </entry>
-    <entry>
-      <key>Info</key>
-    </entry>
-    <entry>
-      <key>${VOLUME_MONEY}</key>
-      <value>Volume</value>
-    </entry>
-    <entry>
-      <key>Milestones</key>
-    </entry>
-    <entry>
-      <key>Excreted</key>
-    </entry>
-    <entry>
-      <key>Reason</key>
-    </entry>
-    <entry>
-      <key>Document</key>
-    </entry>
-    <entry>
-      <key>Competition</key>
-    </entry>
-    <entry>
-      <key>Forecast</key>
-    </entry>
-    <entry>
-      <key>Role</key>
-    </entry>
-    <entry>
-      <key>End date</key>
-    </entry>
-    <entry>
-      <key>Documents</key>
-    </entry>
-    <entry>
-      <key>Curr. purchase price</key>
-    </entry>
-    <entry>
-      <key>New offer version</key>
-    </entry>
-    <entry>
-      <key>Vers. no.</key>
-    </entry>
-    <entry>
-      <key>Copy offer</key>
-    </entry>
-    <entry>
-      <key>Contracts</key>
-    </entry>
-    <entry>
-      <key>Classification</key>
-    </entry>
-    <entry>
-      <key>High price strategy</key>
-    </entry>
-    <entry>
-      <key>Low price strategy</key>
-    </entry>
-    <entry>
-      <key>Other</key>
-    </entry>
-    <entry>
-      <key>Individual</key>
-    </entry>
-    <entry>
-      <key>Please update the ${FORECAST_ENGLISH}.</key>
-      <value>Please update the forecast.</value>
-    </entry>
-    <entry>
-      <key>Value</key>
-    </entry>
-    <entry>
-      <key>no valid format</key>
-    </entry>
-    <entry>
-      <key>Pos.</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-3</key>
-    </entry>
-    <entry>
-      <key>ISO 3166-1 alpha-2</key>
-    </entry>
-    <entry>
-      <key>0.00</key>
-    </entry>
-    <entry>
-      <key>Relationship</key>
-    </entry>
-    <entry>
-      <key>${BINARY_LIB_TOO_MANY_BINARIES}</key>
-      <value>For this binary field only one data-item is allowed</value>
-    </entry>
-    <entry>
-      <key>Native Name</key>
-    </entry>
-    <entry>
-      <key>#,##0</key>
-    </entry>
-    <entry>
-      <key>New offer</key>
-    </entry>
-    <entry>
-      <key>dd.MM.yyyy</key>
-      <value>MM/dd/yyyy</value>
-    </entry>
-    <entry>
-      <key>no valid mail-address format</key>
-    </entry>
-    <entry>
-      <key>#,##0.00</key>
-    </entry>
-    <entry>
-      <key>Latin Name</key>
-    </entry>
-    <entry>
-      <key>Organisation name</key>
-    </entry>
-    <entry>
-      <key>Connection</key>
-    </entry>
-    <entry>
-      <key>standard email</key>
-    </entry>
-    <entry>
-      <key>Edit defaults</key>
-    </entry>
-    <entry>
-      <key>Creator</key>
-    </entry>
-    <entry>
-      <key>Timetracking</key>
-    </entry>
-    <entry>
-      <key>Further informations</key>
-    </entry>
-    <entry>
-      <key>Social</key>
-    </entry>
-    <entry>
-      <key>Facebook Feed</key>
-    </entry>
-    <entry>
-      <key>Group1</key>
-    </entry>
-    <entry>
-      <key>Group2</key>
-    </entry>
-    <entry>
-      <key>Details</key>
-    </entry>
-    <entry>
-      <key>Prices</key>
-    </entry>
-    <entry>
-      <key>Twitter</key>
-    </entry>
-    <entry>
-      <key>Connections</key>
-    </entry>
-    <entry>
-      <key>Object</key>
-    </entry>
-    <entry>
-      <key>Attributes</key>
-    </entry>
-    <entry>
-      <key>Facebook</key>
-    </entry>
-    <entry>
-      <key>Creation date</key>
-    </entry>
-    <entry>
-      <key>Maindocuments</key>
-    </entry>
-    <entry>
-      <key>Receipt</key>
-    </entry>
-    <entry>
-      <key>Receipt number</key>
-    </entry>
-    <entry>
-      <key>Year</key>
-    </entry>
-    <entry>
-      <key>New receipt version</key>
-    </entry>
-    <entry>
-      <key>Orderitems</key>
-    </entry>
-    <entry>
-      <key>Sent receipts</key>
-    </entry>
-    <entry>
-      <key>Copy receipt</key>
-    </entry>
-    <entry>
-      <key>Orderitem</key>
-    </entry>
-    <entry>
-      <key>The order number already exists!</key>
-    </entry>
-    <entry>
-      <key>New activity</key>
-    </entry>
-    <entry>
-      <key>Turnover</key>
-    </entry>
-    <entry>
-      <key>Sent offers</key>
-    </entry>
-    <entry>
-      <key>Show all activities</key>
-    </entry>
-    <entry>
-      <key>Offers</key>
-    </entry>
-    <entry>
-      <key>Show all sent offers</key>
-    </entry>
-    <entry>
-      <key>Show my activities</key>
-    </entry>
-    <entry>
-      <key>Show all receipts</key>
-    </entry>
-    <entry>
-      <key>Receipts</key>
-    </entry>
-    <entry>
-      <key>My Activities</key>
-    </entry>
-    <entry>
-      <key>Show all offers</key>
-    </entry>
-    <entry>
-      <key>Show all products</key>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of a user</key>
-    </entry>
-    <entry>
-      <key>Show all tweets of a user</key>
-    </entry>
-    <entry>
-      <key>Show all companies</key>
-    </entry>
-    <entry>
-      <key>Show all tweets of ADITO</key>
-    </entry>
-    <entry>
-      <key>Show all sent receipts</key>
-    </entry>
-    <entry>
-      <key>Products</key>
-    </entry>
-    <entry>
-      <key>Show all Facebook posts of ADITO</key>
-    </entry>
-    <entry>
-      <key>Companies</key>
-    </entry>
-    <entry>
-      <key>Show all contacts</key>
-    </entry>
-    <entry>
-      <key>Show open salesprojects</key>
-    </entry>
-    <entry>
-      <key>Show all contracts</key>
-    </entry>
-    <entry>
-      <key>Salesprojects</key>
-    </entry>
-    <entry>
-      <key>Show all salesprojects</key>
-    </entry>
-    <entry>
-      <key>Open salesprojects</key>
-    </entry>
-    <entry>
-      <key>July</key>
-    </entry>
-    <entry>
-      <key>ADITO Facebook Feed</key>
-    </entry>
-    <entry>
-      <key>ADITO Twitter Feed</key>
-    </entry>
-    <entry>
-      <key>June</key>
-    </entry>
-    <entry>
-      <key>October</key>
-    </entry>
-    <entry>
-      <key>Take price</key>
-    </entry>
-    <entry>
-      <key>Twitter Feed</key>
-    </entry>
-    <entry>
-      <key>November</key>
-    </entry>
-    <entry>
-      <key>December</key>
-    </entry>
-    <entry>
-      <key>May</key>
-    </entry>
-    <entry>
-      <key>April</key>
-    </entry>
-    <entry>
-      <key>January</key>
-    </entry>
-    <entry>
-      <key>March</key>
-    </entry>
-    <entry>
-      <key>September</key>
-    </entry>
-    <entry>
-      <key>August</key>
-    </entry>
-    <entry>
-      <key>Category</key>
-    </entry>
-    <entry>
-      <key>February</key>
-    </entry>
-    <entry>
-      <key>Abomodel</key>
-    </entry>
-    <entry>
-      <key>Confirmed</key>
-    </entry>
-    <entry>
-      <key>OutOfOffice</key>
-    </entry>
-    <entry>
-      <key>Articledescription</key>
-    </entry>
-    <entry>
-      <key>Articlenumber</key>
-    </entry>
-    <entry>
-      <key>Industry</key>
-    </entry>
-    <entry>
-      <key>Put Reciever Into To</key>
-    </entry>
-    <entry>
-      <key>Unitprice</key>
-    </entry>
-    <entry>
-      <key>Free</key>
-    </entry>
-    <entry>
-      <key>Total</key>
-    </entry>
-    <entry>
-      <key>yearly series not specified</key>
-    </entry>
-    <entry>
-      <key>no standard email office</key>
-    </entry>
-    <entry>
-      <key>Conditions of payment</key>
-    </entry>
-    <entry>
-      <key>Number</key>
-    </entry>
-    <entry>
-      <key>Amount</key>
-    </entry>
-    <entry>
-      <key>Deliveryspecification</key>
-    </entry>
-    <entry>
-      <key>Ignore daily series</key>
-    </entry>
-    <entry>
-      <key>Tentative</key>
-    </entry>
-    <entry>
-      <key>Ignore series</key>
-    </entry>
-    <entry>
-      <key>Plus Salestax</key>
-    </entry>
-    <entry>
-      <key>Choose address</key>
-    </entry>
-    <entry>
-      <key>Customer Base Sheet</key>
-    </entry>
-    <entry>
-      <key>{$TASK_STATUS}</key>
-      <value>Status</value>
-    </entry>
-    <entry>
-      <key>Task</key>
-    </entry>
-    <entry>
-      <key>subject</key>
-    </entry>
-    <entry>
-      <key>{$TASK_REQUESTOR}</key>
-      <value>Requestor</value>
-    </entry>
-    <entry>
-      <key>task number</key>
-    </entry>
-    <entry>
-      <key>{$TASK_EDITOR}</key>
-      <value>Editor</value>
-    </entry>
-    <entry>
-      <key>description</key>
-    </entry>
-    <entry>
-      <key>priority</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_HIGH}</key>
-      <value>High</value>
-    </entry>
-    <entry>
-      <key>Seite</key>
-    </entry>
-    <entry>
-      <key>Senden per E-Mail</key>
-    </entry>
-    <entry>
-      <key>Betreff</key>
-    </entry>
-    <entry>
-      <key>title</key>
-    </entry>
-    <entry>
-      <key>von</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_LOW}</key>
-      <value>Low</value>
-    </entry>
-    <entry>
-      <key>Nur Eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NORMAL}</key>
-      <value>Normal</value>
-    </entry>
-    <entry>
-      <key>Beschreibung</key>
-    </entry>
-    <entry>
-      <key>Unit price</key>
-    </entry>
-    <entry>
-      <key>type</key>
-    </entry>
-    <entry>
-      <key>Benutzer</key>
-    </entry>
-    <entry>
-      <key>{$TASK_PRIORITY_NONE}</key>
-      <value>None</value>
-    </entry>
-    <entry>
-      <key>Termin</key>
-    </entry>
-    <entry>
-      <key>Vorschau</key>
-    </entry>
-    <entry>
-      <key>Angebot</key>
-    </entry>
-    <entry>
-      <key>details</key>
-    </entry>
-    <entry>
-      <key>Contact type</key>
-    </entry>
-    <entry>
-      <key>Communication data</key>
-    </entry>
-    <entry>
-      <key>Remark</key>
-    </entry>
-    <entry>
-      <key>Department</key>
-    </entry>
-    <entry>
-      <key>Tasks</key>
-    </entry>
-    <entry>
-      <key>Employee</key>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_MEMBER}</key>
-      <value>Project member</value>
-    </entry>
-    <entry>
-      <key>responsible</key>
-    </entry>
-    <entry>
-      <key>Kundenstammblatt</key>
-    </entry>
-    <entry>
-      <key>Person</key>
-    </entry>
-    <entry>
-      <key>Detail</key>
-    </entry>
-    <entry>
-      <key>Relations</key>
-    </entry>
-    <entry>
-      <key>${FORECAST_ENGLISH}</key>
-      <value>Forecast</value>
-    </entry>
-    <entry>
-      <key>Usage</key>
-    </entry>
-    <entry>
-      <key>Maximal Count</key>
-    </entry>
-    <entry>
-      <key>Minimal Count</key>
-    </entry>
-    <entry>
-      <key>${ADDRESS_STATE}</key>
-      <value>State</value>
-    </entry>
-    <entry>
-      <key>Title (original language)</key>
-    </entry>
-    <entry>
-      <key>Key</key>
-    </entry>
-    <entry>
-      <key>Attribute</key>
-    </entry>
-    <entry>
-      <key>Container</key>
-    </entry>
-    <entry>
-      <key>Administration</key>
-    </entry>
-    <entry>
-      <key>Keyword</key>
-    </entry>
-    <entry>
-      <key>Sorting</key>
-    </entry>
-    <entry>
-      <key>jdito</key>
-    </entry>
-    <entry>
-      <key>Time expenses</key>
-    </entry>
-    <entry>
-      <key>Context id</key>
-    </entry>
-    <entry>
-      <key>Context name</key>
-    </entry>
-    <entry>
-      <key>Cambodia</key>
-    </entry>
-    <entry>
-      <key>Resigned</key>
-    </entry>
-    <entry>
-      <key>Customer</key>
-    </entry>
-    <entry>
-      <key>Outgoing</key>
-    </entry>
-    <entry>
-      <key>Paraguay</key>
-    </entry>
-    <entry>
-      <key>Solomon Islands</key>
-    </entry>
-    <entry>
-      <key>Montserrat</key>
-    </entry>
-    <entry>
-      <key>Guadeloupe</key>
-    </entry>
-    <entry>
-      <key>Product_technic</key>
-    </entry>
-    <entry>
-      <key>Moldova (Republic of)</key>
-    </entry>
-    <entry>
-      <key>Seychelles</key>
-    </entry>
-    <entry>
-      <key>Canadian dollar</key>
-    </entry>
-    <entry>
-      <key>Bahrain</key>
-    </entry>
-    <entry>
-      <key>Comoros</key>
-    </entry>
-    <entry>
-      <key>Faroe Islands</key>
-    </entry>
-    <entry>
-      <key>Finland</key>
-    </entry>
-    <entry>
-      <key>Project_duration</key>
-    </entry>
-    <entry>
-      <key>Company_internationality</key>
-    </entry>
-    <entry>
-      <key>Eritrea</key>
-    </entry>
-    <entry>
-      <key>Puerto Rico</key>
-    </entry>
-    <entry>
-      <key>Viet Nam</key>
-    </entry>
-    <entry>
-      <key>Libya</key>
-    </entry>
-    <entry>
-      <key>French</key>
-    </entry>
-    <entry>
-      <key>Cocos (Keeling) Islands</key>
-    </entry>
-    <entry>
-      <key>Saint Helena, Ascension and Tristan da Cunha</key>
-    </entry>
-    <entry>
-      <key>Liechtenstein</key>
-    </entry>
-    <entry>
-      <key>Product_functionality</key>
-    </entry>
-    <entry>
-      <key>Bulgaria</key>
-    </entry>
-    <entry>
-      <key>Jordan</key>
-    </entry>
-    <entry>
-      <key>United Arab Emirates</key>
-    </entry>
-    <entry>
-      <key>Kenya</key>
-    </entry>
-    <entry>
-      <key>None, individual count</key>
-    </entry>
-    <entry>
-      <key>French Polynesia</key>
-    </entry>
-    <entry>
-      <key>Djibouti</key>
-    </entry>
-    <entry>
-      <key>Cuba</key>
-    </entry>
-    <entry>
-      <key>Saint Lucia</key>
-    </entry>
-    <entry>
-      <key>Mayotte</key>
-    </entry>
-    <entry>
-      <key>Israel</key>
-    </entry>
-    <entry>
-      <key>San Marino</key>
-    </entry>
-    <entry>
-      <key>Tajikistan</key>
-    </entry>
-    <entry>
-      <key>Warehouse 2</key>
-    </entry>
-    <entry>
-      <key>Warehouse 1</key>
-    </entry>
-    <entry>
-      <key>Gibraltar</key>
-    </entry>
-    <entry>
-      <key>Warehouse 3</key>
-    </entry>
-    <entry>
-      <key>Cyprus</key>
-    </entry>
-    <entry>
-      <key>Semiannually</key>
-    </entry>
-    <entry>
-      <key>Northern Mariana Islands</key>
-    </entry>
-    <entry>
-      <key>Malaysia</key>
-    </entry>
-    <entry>
-      <key>Armenia</key>
-    </entry>
-    <entry>
-      <key>Brazil</key>
-    </entry>
-    <entry>
-      <key>Turks and Caicos Islands</key>
-    </entry>
-    <entry>
-      <key>Cabo Verde</key>
-    </entry>
-    <entry>
-      <key>Ecuador</key>
-    </entry>
-    <entry>
-      <key>Iran (Islamic Republic of)</key>
-    </entry>
-    <entry>
-      <key>Decision maker</key>
-    </entry>
-    <entry>
-      <key>Lao People's Democratic Republic</key>
-    </entry>
-    <entry>
-      <key>Maintenance contract</key>
-    </entry>
-    <entry>
-      <key>United States Minor Outlying Islands</key>
-    </entry>
-    <entry>
-      <key>Italy</key>
-    </entry>
-    <entry>
-      <key>${ORGTYPE_OTHER}</key>
-      <value>Other</value>
-    </entry>
-    <entry>
-      <key>Haiti</key>
-    </entry>
-    <entry>
-      <key>Afghanistan</key>
-    </entry>
-    <entry>
-      <key>Russian Federation</key>
-    </entry>
-    <entry>
-      <key>waiting</key>
-    </entry>
-    <entry>
-      <key>American Samoa</key>
-    </entry>
-    <entry>
-      <key>Korea (Democratic People's Republic of)</key>
-    </entry>
-    <entry>
-      <key>United States dollar</key>
-    </entry>
-    <entry>
-      <key>Kyrgyzstan</key>
-    </entry>
-    <entry>
-      <key>Togo</key>
-    </entry>
-    <entry>
-      <key>Other_existing Customer</key>
-    </entry>
-    <entry>
-      <key>Uzbekistan</key>
-    </entry>
-    <entry>
-      <key>Dominica</key>
-    </entry>
-    <entry>
-      <key>Benin</key>
-    </entry>
-    <entry>
-      <key>Liter</key>
-    </entry>
-    <entry>
-      <key>Virgin Islands (British)</key>
-    </entry>
-    <entry>
-      <key>Sudan</key>
-    </entry>
-    <entry>
-      <key>Portugal</key>
-    </entry>
-    <entry>
-      <key>Grenada</key>
-    </entry>
-    <entry>
-      <key>Latvia</key>
-    </entry>
-    <entry>
-      <key>Mongolia</key>
-    </entry>
-    <entry>
-      <key>Morocco</key>
-    </entry>
-    <entry>
-      <key>Guatemala</key>
-    </entry>
-    <entry>
-      <key>Pieces</key>
-    </entry>
-    <entry>
-      <key>Heard Island and McDonald Islands</key>
-    </entry>
-    <entry>
-      <key>Incoming</key>
-    </entry>
-    <entry>
-      <key>Ghana</key>
-    </entry>
-    <entry>
-      <key>Holy See</key>
-    </entry>
-    <entry>
-      <key>India</key>
-    </entry>
-    <entry>
-      <key>Canada</key>
-    </entry>
-    <entry>
-      <key>Maldives</key>
-    </entry>
-    <entry>
-      <key>Service contract</key>
-    </entry>
-    <entry>
-      <key>Taiwan</key>
-    </entry>
-    <entry>
-      <key>Central African Republic</key>
-    </entry>
-    <entry>
-      <key>Fiji</key>
-    </entry>
-    <entry>
-      <key>Guinea</key>
-    </entry>
-    <entry>
-      <key>Somalia</key>
-    </entry>
-    <entry>
-      <key>Sao Tome and Principe</key>
-    </entry>
-    <entry>
-      <key>United Kingdom of Great Britain and Northern Ireland</key>
-    </entry>
-    <entry>
-      <key>Equatorial Guinea</key>
-    </entry>
-    <entry>
-      <key>Kiribati</key>
-    </entry>
-    <entry>
-      <key>Costa Rica</key>
-    </entry>
-    <entry>
-      <key>Supplier</key>
-    </entry>
-    <entry>
-      <key>Nigeria</key>
-    </entry>
-    <entry>
-      <key>Syrian Arab Republic</key>
-    </entry>
-    <entry>
-      <key>Timor-Leste</key>
-    </entry>
-    <entry>
-      <key>Product_mobile use</key>
-    </entry>
-    <entry>
-      <key>Samoa</key>
-    </entry>
-    <entry>
-      <key>Spain</key>
-    </entry>
-    <entry>
-      <key>Palau</key>
-    </entry>
-    <entry>
-      <key>Prospect</key>
-    </entry>
-    <entry>
-      <key>Estonia</key>
-    </entry>
-    <entry>
-      <key>Not signed yet</key>
-    </entry>
-    <entry>
-      <key>Niue</key>
-    </entry>
-    <entry>
-      <key>Mozambique</key>
-    </entry>
-    <entry>
-      <key>El Salvador</key>
-    </entry>
-    <entry>
-      <key>Guam</key>
-    </entry>
-    <entry>
-      <key>Lesotho</key>
-    </entry>
-    <entry>
-      <key>Tonga</key>
-    </entry>
-    <entry>
-      <key>Western Sahara</key>
-    </entry>
-    <entry>
-      <key>new</key>
-    </entry>
-    <entry>
-      <key>Adviser</key>
-    </entry>
-    <entry>
-      <key>Company_size</key>
-    </entry>
-    <entry>
-      <key>Republic of Kosovo</key>
-    </entry>
-    <entry>
-      <key>South Sudan</key>
-    </entry>
-    <entry>
-      <key>Mauritius</key>
-    </entry>
-    <entry>
-      <key>Bouvet Island</key>
-    </entry>
-    <entry>
-      <key>Bolivia (Plurinational State of)</key>
-    </entry>
-    <entry>
-      <key>Norfolk Island</key>
-    </entry>
-    <entry>
-      <key>Sint Maarten (Dutch part)</key>
-    </entry>
-    <entry>
-      <key>Micronesia (Federated States of)</key>
-    </entry>
-    <entry>
-      <key>Product_industry knowhow</key>
-    </entry>
-    <entry>
-      <key>United States of America</key>
-    </entry>
-    <entry>
-      <key>In review</key>
-    </entry>
-    <entry>
-      <key>Address purchase</key>
-    </entry>
-    <entry>
-      <key>Malta</key>
-    </entry>
-    <entry>
-      <key>Project_volume</key>
-    </entry>
-    <entry>
-      <key>Ireland</key>
-    </entry>
-    <entry>
-      <key>Inactive</key>
-    </entry>
-    <entry>
-      <key>France</key>
-    </entry>
-    <entry>
-      <key>Lithuania</key>
-    </entry>
-    <entry>
-      <key>Korea (Republic of)</key>
-    </entry>
-    <entry>
-      <key>${PRICELIST_SERVICE}</key>
-      <value>Service</value>
-    </entry>
-    <entry>
-      <key>English</key>
-    </entry>
-    <entry>
-      <key>Nicaragua</key>
-    </entry>
-    <entry>
-      <key>Macao</key>
-    </entry>
-    <entry>
-      <key>Mexico</key>
-    </entry>
-    <entry>
-      <key>Uganda</key>
-    </entry>
-    <entry>
-      <key>Suriname</key>
-    </entry>
-    <entry>
-      <key>Greenland</key>
-    </entry>
-    <entry>
-      <key>Papua New Guinea</key>
-    </entry>
-    <entry>
-      <key>Kazakhstan</key>
-    </entry>
-    <entry>
-      <key>Bahamas</key>
-    </entry>
-    <entry>
-      <key>Mali</key>
-    </entry>
-    <entry>
-      <key>Marshall Islands</key>
-    </entry>
-    <entry>
-      <key>Panama</key>
-    </entry>
-    <entry>
-      <key>Bonaire, Sint Eustatius and Saba</key>
-    </entry>
-    <entry>
-      <key>Tanzania, United Republic of</key>
-    </entry>
-    <entry>
-      <key>Argentina</key>
-    </entry>
-    <entry>
-      <key>Belize</key>
-    </entry>
-    <entry>
-      <key>Zambia</key>
-    </entry>
-    <entry>
-      <key>Congo</key>
-    </entry>
-    <entry>
-      <key>Guinea-Bissau</key>
-    </entry>
-    <entry>
-      <key>Namibia</key>
-    </entry>
-    <entry>
-      <key>External sales manager</key>
-    </entry>
-    <entry>
-      <key>Georgia</key>
-    </entry>
-    <entry>
-      <key>Saint Kitts and Nevis</key>
-    </entry>
-    <entry>
-      <key>Yemen</key>
-    </entry>
-    <entry>
-      <key>Aruba</key>
-    </entry>
-    <entry>
-      <key>Madagascar</key>
-    </entry>
-    <entry>
-      <key>Valid, unlimited</key>
-    </entry>
-    <entry>
-      <key>Svalbard and Jan Mayen</key>
-    </entry>
-    <entry>
-      <key>South Georgia and the South Sandwich Islands</key>
-    </entry>
-    <entry>
-      <key>Sweden</key>
-    </entry>
-    <entry>
-      <key>Malawi</key>
-    </entry>
-    <entry>
-      <key>Andorra</key>
-    </entry>
-    <entry>
-      <key>Poland</key>
-    </entry>
-    <entry>
-      <key>Tunisia</key>
-    </entry>
-    <entry>
-      <key>Tuvalu</key>
-    </entry>
-    <entry>
-      <key>Lebanon</key>
-    </entry>
-    <entry>
-      <key>Azerbaijan</key>
-    </entry>
-    <entry>
-      <key>Czech Republic</key>
-    </entry>
-    <entry>
-      <key>Mauritania</key>
-    </entry>
-    <entry>
-      <key>Guernsey</key>
-    </entry>
-    <entry>
-      <key>Kgs</key>
-    </entry>
-    <entry>
-      <key>Australia</key>
-    </entry>
-    <entry>
-      <key>Myanmar</key>
-    </entry>
-    <entry>
-      <key>Cameroon</key>
-    </entry>
-    <entry>
-      <key>Iceland</key>
-    </entry>
-    <entry>
-      <key>Oman</key>
-    </entry>
-    <entry>
-      <key>Gabon</key>
-    </entry>
-    <entry>
-      <key>Luxembourg</key>
-    </entry>
-    <entry>
-      <key>Algeria</key>
-    </entry>
-    <entry>
-      <key>Jersey</key>
-    </entry>
-    <entry>
-      <key>Slovenia</key>
-    </entry>
-    <entry>
-      <key>Antigua and Barbuda</key>
-    </entry>
-    <entry>
-      <key>Annually</key>
-    </entry>
-    <entry>
-      <key>Colombia</key>
-    </entry>
-    <entry>
-      <key>Project_reference</key>
-    </entry>
-    <entry>
-      <key>Vanuatu</key>
-    </entry>
-    <entry>
-      <key>Valid, limited</key>
-    </entry>
-    <entry>
-      <key>Honduras</key>
-    </entry>
-    <entry>
-      <key>Antarctica</key>
-    </entry>
-    <entry>
-      <key>Nauru</key>
-    </entry>
-    <entry>
-      <key>Burundi</key>
-    </entry>
-    <entry>
-      <key>Project manager</key>
-    </entry>
-    <entry>
-      <key>Singapore</key>
-    </entry>
-    <entry>
-      <key>French Guiana</key>
-    </entry>
-    <entry>
-      <key>Hours</key>
-    </entry>
-    <entry>
-      <key>Christmas Island</key>
-    </entry>
-    <entry>
-      <key>Netherlands</key>
-    </entry>
-    <entry>
-      <key>Product_flexibility</key>
-    </entry>
-    <entry>
-      <key>China</key>
-    </entry>
-    <entry>
-      <key>Martinique</key>
-    </entry>
-    <entry>
-      <key>Own website</key>
-    </entry>
-    <entry>
-      <key>Saint Pierre and Miquelon</key>
-    </entry>
-    <entry>
-      <key>Bhutan</key>
-    </entry>
-    <entry>
-      <key>Romania</key>
-    </entry>
-    <entry>
-      <key>Falkland Islands (Malvinas)</key>
-    </entry>
-    <entry>
-      <key>Philippines</key>
-    </entry>
-    <entry>
-      <key>Pitcairn</key>
-    </entry>
-    <entry>
-      <key>Zimbabwe</key>
-    </entry>
-    <entry>
-      <key>British Indian Ocean Territory</key>
-    </entry>
-    <entry>
-      <key>Montenegro</key>
-    </entry>
-    <entry>
-      <key>Quarterly</key>
-    </entry>
-    <entry>
-      <key>Indonesia</key>
-    </entry>
-    <entry>
-      <key>Angola</key>
-    </entry>
-    <entry>
-      <key>Internal</key>
-    </entry>
-    <entry>
-      <key>Key account</key>
-      <value></value>
-    </entry>
-    <entry>
-      <key>Brunei Darussalam</key>
-    </entry>
-    <entry>
-      <key>New Caledonia</key>
-    </entry>
-    <entry>
-      <key>Cayman Islands</key>
-    </entry>
-    <entry>
-      <key>Congo (Democratic Republic of the)</key>
-    </entry>
-    <entry>
-      <key>Greece</key>
-    </entry>
-    <entry>
-      <key>Guyana</key>
-    </entry>
-    <entry>
-      <key>Project assistant</key>
-    </entry>
-    <entry>
-      <key>Iraq</key>
-    </entry>
-    <entry>
-      <key>Chile</key>
-    </entry>
-    <entry>
-      <key>Nepal</key>
-    </entry>
-    <entry>
-      <key>${PRICELIST_DEFAULT}</key>
-      <value>Standard</value>
-    </entry>
-    <entry>
-      <key>Customer recommendation</key>
-    </entry>
-    <entry>
-      <key>Other_unknown</key>
-    </entry>
-    <entry>
-      <key>Isle of Man</key>
-    </entry>
-    <entry>
-      <key>Ukraine</key>
-    </entry>
-    <entry>
-      <key>Anguilla</key>
-    </entry>
-    <entry>
-      <key>Euro</key>
-    </entry>
-    <entry>
-      <key>Product_GUI</key>
-    </entry>
-    <entry>
-      <key>${GENDER_OTHER}</key>
-    </entry>
-    <entry>
-      <key>Turkey</key>
-    </entry>
-    <entry>
-      <key>Belgium</key>
-    </entry>
-    <entry>
-      <key>South Africa</key>
-    </entry>
-    <entry>
-      <key>Trinidad and Tobago</key>
-    </entry>
-    <entry>
-      <key>Bermuda</key>
-    </entry>
-    <entry>
-      <key>Jamaica</key>
-    </entry>
-    <entry>
-      <key>Peru</key>
-    </entry>
-    <entry>
-      <key>Turkmenistan</key>
-    </entry>
-    <entry>
-      <key>Venezuela (Bolivarian Republic of)</key>
-    </entry>
-    <entry>
-      <key>Tokelau</key>
-    </entry>
-    <entry>
-      <key>Hong Kong</key>
-    </entry>
-    <entry>
-      <key>Chad</key>
-    </entry>
-    <entry>
-      <key>German</key>
-    </entry>
-    <entry>
-      <key>Thailand</key>
-    </entry>
-    <entry>
-      <key>in process</key>
-    </entry>
-    <entry>
-      <key>Saint Martin (French part)</key>
-    </entry>
-    <entry>
-      <key>Kuwait</key>
-    </entry>
-    <entry>
-      <key>Palestine, State of</key>
-    </entry>
-    <entry>
-      <key>Croatia</key>
-    </entry>
-    <entry>
-      <key>Cook Islands</key>
-    </entry>
-    <entry>
-      <key>Fair</key>
-    </entry>
-    <entry>
-      <key>Sri Lanka</key>
-    </entry>
-    <entry>
-      <key>Uruguay</key>
-    </entry>
-    <entry>
-      <key>Liberia</key>
-    </entry>
-    <entry>
-      <key>Burkina Faso</key>
-    </entry>
-    <entry>
-      <key>Swiss franc</key>
-    </entry>
-    <entry>
-      <key>Swaziland</key>
-    </entry>
-    <entry>
-      <key>ended</key>
-    </entry>
-    <entry>
-      <key>Wallis and Futuna</key>
-    </entry>
-    <entry>
-      <key>Company_industry knowhow</key>
-    </entry>
-    <entry>
-      <key>Monaco</key>
-    </entry>
-    <entry>
-      <key>Spanish</key>
-    </entry>
-    <entry>
-      <key>Hungary</key>
-    </entry>
-    <entry>
-      <key>Japan</key>
-    </entry>
-    <entry>
-      <key>Belarus</key>
-    </entry>
-    <entry>
-      <key>Albania</key>
-    </entry>
-    <entry>
-      <key>Internal sales manager</key>
-    </entry>
-    <entry>
-      <key>Virgin Islands (U.S.)</key>
-    </entry>
-    <entry>
-      <key>New Zealand</key>
-    </entry>
-    <entry>
-      <key>Senegal</key>
-    </entry>
-    <entry>
-      <key>Ethiopia</key>
-    </entry>
-    <entry>
-      <key>Macedonia (the former Yugoslav Republic of)</key>
-    </entry>
-    <entry>
-      <key>Egypt</key>
-    </entry>
-    <entry>
-      <key>Sierra Leone</key>
-    </entry>
-    <entry>
-      <key>Saudi Arabia</key>
-    </entry>
-    <entry>
-      <key>Pakistan</key>
-    </entry>
-    <entry>
-      <key>Gambia</key>
-    </entry>
-    <entry>
-      <key>Qatar</key>
-    </entry>
-    <entry>
-      <key>Slovakia</key>
-    </entry>
-    <entry>
-      <key>Serbia</key>
-    </entry>
-    <entry>
-      <key>Bosnia and Herzegovina</key>
-    </entry>
-    <entry>
-      <key>Framework contract</key>
-    </entry>
-    <entry>
-      <key>Niger</key>
-    </entry>
-    <entry>
-      <key>Rwanda</key>
-    </entry>
-    <entry>
-      <key>French Southern Territories</key>
-    </entry>
-    <entry>
-      <key>Bangladesh</key>
-    </entry>
-    <entry>
-      <key>Barbados</key>
-    </entry>
-    <entry>
-      <key>Botswana</key>
-    </entry>
-    <entry>
-      <key>Saint Vincent and the Grenadines</key>
-    </entry>
-    <entry>
-      <key>Denmark</key>
-    </entry>
-    <entry>
-      <key>Dominican Republic</key>
-    </entry>
-    <entry>
-      <key>Cover letter</key>
-    </entry>
-    <entry>
-      <key>Create receipt</key>
-    </entry>
-    <entry>
-      <key>New time tracking</key>
-    </entry>
-    <entry>
-      <key>MAL</key>
-    </entry>
-    <entry>
-      <key>SQO</key>
-    </entry>
-    <entry>
-      <key>NQC</key>
-    </entry>
-    <entry>
-      <key>MQL</key>
-    </entry>
-    <entry>
-      <key>SAL</key>
-    </entry>
-    <entry>
-      <key>Checkbox</key>
-    </entry>
-    <entry>
-      <key>Numeric value</key>
-    </entry>
-    <entry>
-      <key>decline</key>
-    </entry>
-    <entry>
-      <key>Text</key>
-    </entry>
-    <entry>
-      <key>Group</key>
-    </entry>
-    <entry>
-      <key>Combobox</key>
-    </entry>
-    <entry>
-      <key>tentative</key>
-    </entry>
-    <entry>
-      <key>${NUMBER}</key>
-      <value>Number</value>
-    </entry>
-    <entry>
-      <key>Name \"%0\" already used for container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>CHAR_VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute</key>
-    </entry>
-    <entry>
-      <key>in</key>
-    </entry>
-    <entry>
-      <key>Keyword Attribute Values</key>
-    </entry>
-    <entry>
-      <key>Boolean value</key>
-    </entry>
-    <entry>
-      <key>accept</key>
-    </entry>
-    <entry>
-      <key>The ZIP code does not match the format of the country.</key>
-    </entry>
-    <entry>
-      <key>String value</key>
-    </entry>
-    <entry>
-      <key>The code number is not a valid number.</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0</key>
-      <value>The DBTYPE is not supported by function %0.</value>
-    </entry>
-    <entry>
-      <key>${PRODUCT_LIB_NO_PRODUCT_ID} function: %0</key>
-      <value>Missing productId in function %0.</value>
-    </entry>
-    <entry>
-      <key>Object type</key>
-    </entry>
-    <entry>
-      <key>Touchpoint</key>
-    </entry>
-    <entry>
-      <key>Touchpoints</key>
-    </entry>
-    <entry>
-      <key>Days inactive</key>
-    </entry>
-    <entry>
-      <key>Combobox Value</key>
-    </entry>
-    <entry>
-      <key>relations</key>
-    </entry>
-    <entry>
-      <key>Time</key>
-    </entry>
-    <entry>
-      <key>New task</key>
-    </entry>
-    <entry>
-      <key>the specified key has to be unique for that container but does already exist</key>
-    </entry>
-    <entry>
-      <key>Relationtype</key>
-    </entry>
-    <entry>
-      <key>Tree</key>
-    </entry>
-    <entry>
-      <key>100%</key>
-    </entry>
-    <entry>
-      <key>Mobil</key>
-    </entry>
-    <entry>
-      <key>25%</key>
-    </entry>
-    <entry>
-      <key>50%</key>
-    </entry>
-    <entry>
-      <key>75%</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword container \"%1\"</key>
-    </entry>
-    <entry>
-      <key>competitor</key>
-    </entry>
-    <entry>
-      <key>0%</key>
-    </entry>
-    <entry>
-      <key>acquainted with</key>
-    </entry>
-    <entry>
-      <key>collaboration with</key>
-    </entry>
-    <entry>
-      <key>parent company</key>
-    </entry>
-    <entry>
-      <key>society</key>
-    </entry>
-    <entry>
-      <key>ankle of</key>
-    </entry>
-    <entry>
-      <key>solicits</key>
-    </entry>
-    <entry>
-      <key>child of</key>
-    </entry>
-    <entry>
-      <key>supervisor of</key>
-    </entry>
-    <entry>
-      <key>reports to</key>
-    </entry>
-    <entry>
-      <key>subsidiary</key>
-    </entry>
-    <entry>
-      <key>supported by</key>
-    </entry>
-    <entry>
-      <key>member</key>
-    </entry>
-    <entry>
-      <key>promotion target of</key>
-    </entry>
-    <entry>
-      <key>supports</key>
-    </entry>
-    <entry>
-      <key>parent of</key>
-    </entry>
-    <entry>
-      <key>grandparents of</key>
-    </entry>
-    <entry>
-      <key>Entrydate (Month)</key>
-    </entry>
-    <entry>
-      <key>Entrydate (Day)</key>
-    </entry>
-    <entry>
-      <key>My Dashboard</key>
-    </entry>
-    <entry>
-      <key>Salesdashboard</key>
-    </entry>
-    <entry>
-      <key>Discount %</key>
-    </entry>
-    <entry>
-      <key>Memo</key>
-    </entry>
-    <entry>
-      <key>Function</key>
-    </entry>
-    <entry>
-      <key>Relational</key>
-    </entry>
-    <entry>
-      <key>Only numbers are allowed.</key>
-    </entry>
-    <entry>
-      <key>Superordinate Attribute</key>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_OFFER}</key>
-      <value>Offer</value>
-    </entry>
-    <entry>
-      <key>${SALESPROJECT_NEGOTIATION}</key>
-      <value>Negotiation</value>
-    </entry>
-    <entry>
-      <key>Filesize</key>
-    </entry>
-    <entry>
-      <key>Filename</key>
-    </entry>
-    <entry>
-      <key>Filetype</key>
-    </entry>
-    <entry>
-      <key>Special price list</key>
-    </entry>
-    <entry>
-      <key>New attribute</key>
-    </entry>
-    <entry>
-      <key>MQC</key>
-    </entry>
-    <entry>
-      <key>History</key>
-    </entry>
-    <entry>
-      <key>Progress</key>
-    </entry>
-    <entry>
-      <key>Module</key>
-    </entry>
-    <entry>
-      <key>7 days net</key>
-    </entry>
-    <entry>
-      <key>carriage free</key>
-    </entry>
-    <entry>
-      <key>8 days 2% discount, 30 days net</key>
-    </entry>
-    <entry>
-      <key>CIF</key>
-    </entry>
-    <entry>
-      <key>ex works</key>
-    </entry>
-    <entry>
-      <key>30 days net</key>
-    </entry>
-    <entry>
-      <key>Directly responsible:</key>
-    </entry>
-    <entry>
-      <key>Payment term</key>
-    </entry>
-    <entry>
-      <key>Contactrole</key>
-    </entry>
-    <entry>
-      <key>New appointment</key>
-    </entry>
-    <entry>
-      <key>&amp;Aufg / Term (%0/%1)</key>
-    </entry>
-    <entry>
-      <key>Verschieben auf Datum?</key>
-    </entry>
-    <entry>
-      <key>niedrig</key>
-    </entry>
-    <entry>
-      <key>Gebucht</key>
-    </entry>
-    <entry>
-      <key>Other Contactroles</key>
-    </entry>
-    <entry>
-      <key>In Bearbeitung</key>
-    </entry>
-    <entry>
-      <key>OK</key>
-    </entry>
-    <entry>
-      <key>Nicht begonnen</key>
-    </entry>
-    <entry>
-      <key>Bitte Filterbedingungen setzen</key>
-    </entry>
-    <entry>
-      <key>keine</key>
-    </entry>
-    <entry>
-      <key>Eine private Aufgabe kann nicht jemand anderem zugewiesen werden.</key>
-    </entry>
-    <entry>
-      <key>Aufgaben von</key>
-    </entry>
-    <entry>
-      <key>&amp;Aufgaben (%0)</key>
-    </entry>
-    <entry>
-      <key>hoch</key>
-    </entry>
-    <entry>
-      <key>Erledigt</key>
-    </entry>
-    <entry>
-      <key>Abgesagt</key>
-    </entry>
-    <entry>
-      <key>Abbrechen</key>
-    </entry>
-    <entry>
-      <key>delegiert</key>
-    </entry>
-    <entry>
-      <key>frei</key>
-    </entry>
-    <entry>
-      <key>%0 Aufgabe(n) erfolgreich weitergegeben an: %1</key>
-    </entry>
-    <entry>
-      <key>normal</key>
-    </entry>
-    <entry>
-      <key>Termine von</key>
-    </entry>
-    <entry>
-      <key>nur Verschiebung in die Zukunft erlaubt!</key>
-    </entry>
-    <entry>
-      <key>Kategorie</key>
-    </entry>
-    <entry>
-      <key>Product content</key>
-    </entry>
-    <entry>
-      <key>Know How</key>
-    </entry>
-    <entry>
-      <key>Personal appearance</key>
-    </entry>
-    <entry>
-      <key>Market situation</key>
-    </entry>
-    <entry>
-      <key>Liquidity</key>
-    </entry>
-    <entry>
-      <key>Price policy</key>
-    </entry>
-    <entry>
-      <key>Approved</key>
-    </entry>
-    <entry>
-      <key>Completed</key>
-    </entry>
-    <entry>
-      <key>In planning</key>
-    </entry>
-    <entry>
-      <key>Campaign Step</key>
-    </entry>
-    <entry>
-      <key>360 Degree</key>
-    </entry>
-    <entry>
-      <key>Campaigns</key>
-    </entry>
-    <entry>
-      <key>Campaign</key>
-    </entry>
-    <entry>
-      <key>Auswertung</key>
-    </entry>
-    <entry>
-      <key>VAT in %</key>
-    </entry>
-    <entry>
-      <key>Kampagnenschritte</key>
-    </entry>
-    <entry>
-      <key>Marketing</key>
-    </entry>
-    <entry>
-      <key>Neuer Kampagnenschritt</key>
-    </entry>
-    <entry>
-      <key>Neue Kampagne</key>
-    </entry>
-    <entry>
-      <key>${QUANTITY_LOWER_THAN_1}</key>
-      <value>Quantity should be greater than 0.</value>
-    </entry>
-    <entry>
-      <key>This combination of person and organisation does already exist and can not be created once more.</key>
-    </entry>
-    <entry>
-      <key>Time in minutes</key>
-    </entry>
-    <entry>
-      <key>Sales manager</key>
-    </entry>
-    <entry>
-      <key>IT</key>
-    </entry>
-    <entry>
-      <key>Administrator</key>
-    </entry>
-    <entry>
-      <key>Managing director</key>
-    </entry>
-    <entry>
-      <key>Production manager</key>
-    </entry>
-    <entry>
-      <key>Production</key>
-    </entry>
-    <entry>
-      <key>CEO</key>
-    </entry>
-    <entry>
-      <key>Purchasing manager</key>
-    </entry>
-    <entry>
-      <key>Marketing manager</key>
-    </entry>
-    <entry>
-      <key>IT manager</key>
-    </entry>
-    <entry>
-      <key>CSO</key>
-    </entry>
-    <entry>
-      <key>Executive board</key>
-    </entry>
-    <entry>
-      <key>Supervisory board</key>
-    </entry>
-    <entry>
-      <key>Management</key>
-    </entry>
-    <entry>
-      <key>New module</key>
-    </entry>
-    <entry>
-      <key>Côte d'Ivoire</key>
-    </entry>
-    <entry>
-      <key>Bitte Datumseingabe prüfen!</key>
-    </entry>
-    <entry>
-      <key>Bestätigt</key>
-    </entry>
-    <entry>
-      <key>Vorläufig</key>
-    </entry>
-    <entry>
-      <key>Saint Barthélemy</key>
-    </entry>
-    <entry>
-      <key>erledigt / zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>Zurückgestellt</key>
-    </entry>
-    <entry>
-      <key>Außer Haus</key>
-    </entry>
-    <entry>
-      <key>Benutzer auswählen</key>
-    </entry>
-    <entry>
-      <key>Åland Islands</key>
-    </entry>
-    <entry>
-      <key>Curaçao</key>
-    </entry>
-    <entry>
-      <key>Réunion</key>
-    </entry>
-    <entry>
-      <key>date of birth must not be in the future</key>
-    </entry>
-    <entry>
-      <key>Manufacturer</key>
-    </entry>
-    <entry>
-      <key>Competitor</key>
-    </entry>
-    <entry>
-      <key>Partner</key>
-    </entry>
-    <entry>
-      <key>True</key>
-    </entry>
-    <entry>
-      <key>False</key>
-    </entry>
-    <entry>
-      <key>false</key>
-    </entry>
-    <entry>
-      <key>true</key>
-    </entry>
-    <entry>
-      <key>Protected</key>
-    </entry>
-    <entry>
-      <key>${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3</key>
-      <value>%0 has to be between %2 and %3.</value>
-    </entry>
-    <entry>
-      <key>Password</key>
-    </entry>
-    <entry>
-      <key>Confirm password</key>
-    </entry>
-    <entry>
-      <key>Set password</key>
-    </entry>
-    <entry>
-      <key>Email</key>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_TYPE}</key>
-      <value>Type</value>
-    </entry>
-    <entry>
-      <key>{$OBJECTLINK_OBJECT}</key>
-      <value>Object</value>
-    </entry>
-    <entry>
-      <key>Roles</key>
-    </entry>
-    <entry>
-      <key>Password and confirmation must be the same!</key>
-    </entry>
-    <entry>
-      <key>Begin</key>
-    </entry>
-    <entry>
-      <key>Maturity</key>
-    </entry>
-    <entry>
-      <key>Username</key>
-    </entry>
-    <entry>
-      <key>The person is already associated with another employee!</key>
-    </entry>
-    <entry>
-      <key>Username already exists!</key>
-    </entry>
-    <entry>
-      <key>This private person doeas already exist and can not be created once more.</key>
-    </entry>
-    <entry>
-      <key>Everyone</key>
-    </entry>
-    <entry>
-      <key>Project</key>
-    </entry>
-    <entry>
-      <key>Project management</key>
-    </entry>
-    <entry>
-      <key>Office staff</key>
-    </entry>
-    <entry>
-      <key>Field staff</key>
-    </entry>
-    <entry>
-      <key>Resource</key>
-    </entry>
-    <entry>
-      <key>Human Resources</key>
-    </entry>
-    <entry>
-      <key>Email must be unique!</key>
-    </entry>
-    <entry>
-      <key>Project Management</key>
-    </entry>
-    <entry>
-      <key>Support</key>
-    </entry>
-    <entry>
-      <key>{$ADDRESS_IDENTIFIER}</key>
-      <value>Identifier</value>
-    </entry>
-    <entry>
-      <key>Salesproject phases</key>
-    </entry>
-    <entry>
-      <key>Add to Campaign</key>
-    </entry>
-    <entry>
-      <key>Max participants</key>
-    </entry>
-    <entry>
-      <key>Participants</key>
-    </entry>
-    <entry>
-      <key>Add the selection to a campaign</key>
-    </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-    </entry>
-    <entry>
-      <key>Add participants to Campaign</key>
-    </entry>
-    <entry>
-      <key>Key figures</key>
-    </entry>
-    <entry>
-      <key>Hierarchy</key>
-    </entry>
-    <entry>
-      <key>Object relation</key>
-    </entry>
-    <entry>
-      <key>Relation type 1</key>
-    </entry>
-    <entry>
-      <key>Relation type 2</key>
-    </entry>
-    <entry>
-      <key>Relation type</key>
-    </entry>
-    <entry>
-      <key>Context 1</key>
-    </entry>
-    <entry>
-      <key>Context 2</key>
-    </entry>
-    <entry>
-      <key>Delete all usage</key>
-    </entry>
-    <entry>
-      <key>Deleted all usages of \"%0\".</key>
-    </entry>
-    <entry>
-      <key>Successful</key>
-    </entry>
-    <entry>
-      <key>Count</key>
-    </entry>
-    <entry>
-      <key>Picture</key>
-    </entry>
-    <entry>
-      <key>Chart</key>
-    </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
-    <entry>
-      <key>Enable relation type 2</key>
-    </entry>
-    <entry>
-      <key>Salesproject Analyses</key>
-    </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
-    <entry>
-      <key>Days count</key>
-    </entry>
-    <entry>
-      <key>Clear forecast and set state to '%0'?</key>
-    </entry>
-    <entry>
-      <key>Would you really like to clear the forecast and set the state to '%0'?</key>
-    </entry>
-    <entry>
-      <key>This cannot be undone!</key>
-    </entry>
-    <entry>
-      <key>Campaign status</key>
-    </entry>
-    <entry>
-      <key>Set campaign step</key>
-    </entry>
-    <entry>
-      <key>Add participant to Campaign</key>
-    </entry>
-    <entry>
-      <key>Steps</key>
-    </entry>
-    <entry>
-      <key>Added</key>
-    </entry>
-    <entry>
-      <key>Current participants</key>
-    </entry>
-    <entry>
-      <key>Overdue tasks</key>
-    </entry>
-    <entry>
-      <key>[%0]the tableName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 has to be a string or array but it is %2</key>
-    </entry>
-    <entry>
-      <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key>
-    </entry>
-    <entry>
-      <key>[%0]the columnName is not a string after interpreting</key>
-    </entry>
-    <entry>
-      <key>[%0]%1 is an object but seems not to be a valid array or array-like</key>
-    </entry>
-    <entry>
-      <key>Responsible</key>
-    </entry>
-    <entry>
-      <key>New tasks</key>
-    </entry>
-    <entry>
-      <key>Imminent appointments for today</key>
-    </entry>
-    <entry>
-      <key>Analyses</key>
-    </entry>
-    <entry>
-      <key>To-Do</key>
-    </entry>
-    <entry>
-      <key>Calendar</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_UNDEFINED_VALUE} field: %0</key>
-      <value>The value for the field %0 is undefined.</value>
-    </entry>
-    <entry>
-      <key>My tasks</key>
-    </entry>
-    <entry>
-      <key>${ATTRIBUTE_VOID}</key>
-      <value>Tag</value>
-    </entry>
-    <entry>
-      <key>Kampagnenzeitraum</key>
-    </entry>
-    <entry>
-      <key>Hauptverantw.</key>
-    </entry>
-    <entry>
-      <key>New campaign step</key>
-    </entry>
-    <entry>
-      <key>New campaign</key>
-    </entry>
-    <entry>
-      <key>Cost</key>
-    </entry>
-    <entry>
-      <key>file '%0' cannot be read</key>
-    </entry>
-    <entry>
-      <key>Importer</key>
-    </entry>
-    <entry>
-      <key>Participant</key>
-    </entry>
-    <entry>
-      <key>Printing costs</key>
-    </entry>
-    <entry>
-      <key>Shipping costs</key>
-    </entry>
-    <entry>
-      <key>yyyy-MM-dd HH:mm:ss</key>
-    </entry>
-    <entry>
-      <key>file '%0' does not exist or you have got no permission on this file</key>
-    </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
-    <entry>
-      <key>Layout costs</key>
-    </entry>
-    <entry>
-      <key>Fix cost</key>
-    </entry>
-    <entry>
-      <key>Step</key>
-    </entry>
-    <entry>
-      <key>${WEBSERVICE_ERROR} url:%0 status:%1</key>
-      <value>Webservice not available. URL: %0 %1</value>
-    </entry>
-    <entry>
-      <key>per</key>
-    </entry>
-    <entry>
-      <key>The minimal count can't be larger than the maximal count!</key>
-    </entry>
-    <entry>
-      <key>The max participants count has to be equal or greater than the count of the current participants!</key>
-    </entry>
-    <entry>
-      <key>Variable costs</key>
-    </entry>
-    <entry>
-      <key>Id value</key>
-    </entry>
-    <entry>
-      <key>Order executed</key>
-    </entry>
-    <entry>
-      <key>Liquibase</key>
-    </entry>
-    <entry>
-      <key>Number value</key>
-    </entry>
-    <entry>
-      <key>Author</key>
-    </entry>
-    <entry>
-      <key>Position Id</key>
-    </entry>
-    <entry>
-      <key>ISO3</key>
-    </entry>
-    <entry>
-      <key>ISO2</key>
-    </entry>
-    <entry>
-      <key>Communication Id</key>
-    </entry>
-    <entry>
-      <key>Attribute Id</key>
-    </entry>
-    <entry>
-      <key>Modification user</key>
-    </entry>
-    <entry>
-      <key>Headline</key>
-    </entry>
-    <entry>
-      <key>Salesorder Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject milestone Id</key>
-    </entry>
-    <entry>
-      <key>Appointment Id</key>
-    </entry>
-    <entry>
-      <key>Locked</key>
-    </entry>
-    <entry>
-      <key>Timetracking Id</key>
-    </entry>
-    <entry>
-      <key>Exec type</key>
-    </entry>
-    <entry>
-      <key>Date value</key>
-    </entry>
-    <entry>
-      <key>NUMBER VALUE</key>
-    </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
-    <entry>
-      <key>ID</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Minimal count</key>
-    </entry>
-    <entry>
-      <key>Id</key>
-    </entry>
-    <entry>
-      <key>Object 1 row Id</key>
-    </entry>
-    <entry>
-      <key>Side</key>
-    </entry>
-    <entry>
-      <key>Salesproject Id</key>
-    </entry>
-    <entry>
-      <key>Product Id</key>
-    </entry>
-    <entry>
-      <key>Sort</key>
-    </entry>
-    <entry>
-      <key>Relation Title</key>
-    </entry>
-    <entry>
-      <key>%0 \"%1\"</key>
-    </entry>
-    <entry>
-      <key>Maximal count</key>
-    </entry>
-    <entry>
-      <key>Data executed</key>
-    </entry>
-    <entry>
-      <key>Indexsearch</key>
-    </entry>
-    <entry>
-      <key>Appointment link Id</key>
-    </entry>
-    <entry>
-      <key>Relation Type</key>
-    </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
-    <entry>
-      <key>Item sort</key>
-    </entry>
-    <entry>
-      <key>%0 modified.</key>
-    </entry>
-    <entry>
-      <key>Contract Id</key>
-    </entry>
-    <entry>
-      <key>Int value</key>
-    </entry>
-    <entry>
-      <key>Object 2 row Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename Id</key>
-    </entry>
-    <entry>
-      <key>Source tablename</key>
-    </entry>
-    <entry>
-      <key>Contact Id</key>
-    </entry>
-    <entry>
-      <key>Sales area</key>
-    </entry>
-    <entry>
-      <key>Parent Id</key>
-    </entry>
-    <entry>
-      <key>Task link Id</key>
-    </entry>
-    <entry>
-      <key>BOOL VALUE</key>
-    </entry>
-    <entry>
-      <key>Keyword attribute Id</key>
-    </entry>
-    <entry>
-      <key>Log type</key>
-    </entry>
-    <entry>
-      <key>Object row Id</key>
-    </entry>
-    <entry>
-      <key>Labels</key>
-    </entry>
-    <entry>
-      <key>%0 deleted.</key>
-    </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
-    <entry>
-      <key>Activity Id</key>
-    </entry>
-    <entry>
-      <key>Person Id</key>
-    </entry>
-    <entry>
-      <key>Offer item Id</key>
-    </entry>
-    <entry>
-      <key>Offer Id</key>
-    </entry>
-    <entry>
-      <key>Name native</key>
-    </entry>
-    <entry>
-      <key>Flag</key>
-    </entry>
-    <entry>
-      <key>Address Id</key>
-    </entry>
-    <entry>
-      <key>Name latin</key>
-    </entry>
-    <entry>
-      <key>Destination Id</key>
-    </entry>
-    <entry>
-      <key>Sex</key>
-    </entry>
-    <entry>
-      <key>Product price Id</key>
-    </entry>
-    <entry>
-      <key>%0 added.</key>
-    </entry>
-    <entry>
-      <key>Object Relation Type</key>
-    </entry>
-    <entry>
-      <key>Entry date</key>
-    </entry>
-    <entry>
-      <key>Object relation type 2</key>
-    </entry>
-    <entry>
-      <key>Object relation type 1</key>
-    </entry>
-    <entry>
-      <key>Modification date</key>
-    </entry>
-    <entry>
-      <key>Object Type</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to \"%2\"</key>
-    </entry>
-    <entry>
-      <key>MD5 Sum</key>
-    </entry>
-    <entry>
-      <key>Letter salutation</key>
-    </entry>
-    <entry>
-      <key>Lock granted</key>
-    </entry>
-    <entry>
-      <key>Required fields</key>
-    </entry>
-    <entry>
-      <key>Address addition</key>
-    </entry>
-    <entry>
-      <key>the \"%0\" table is configured to get logged but this is the logging-stoarge itself and cannot be monitored</key>
-    </entry>
-    <entry>
-      <key>Attribute usage Id</key>
-    </entry>
-    <entry>
-      <key>LogHistory</key>
-    </entry>
-    <entry>
-      <key>Locked by</key>
-    </entry>
-    <entry>
-      <key>Desciption</key>
-    </entry>
-    <entry>
-      <key>Salutation Id</key>
-    </entry>
-    <entry>
-      <key>Comments</key>
-    </entry>
-    <entry>
-      <key>Task Id</key>
-    </entry>
-    <entry>
-      <key>Valid to</key>
-    </entry>
-    <entry>
-      <key>ZIP regex</key>
-    </entry>
-    <entry>
-      <key>Keyword entry Id</key>
-    </entry>
-    <entry>
-      <key>Stop costs</key>
-    </entry>
-    <entry>
-      <key>Contexts</key>
-    </entry>
-    <entry>
-      <key>Assigned to</key>
-    </entry>
-    <entry>
-      <key>%0 from \"%1\" to %2 \"%3\"</key>
-    </entry>
-    <entry>
-      <key>Date start</key>
-    </entry>
-    <entry>
-      <key>Deployment Id</key>
-    </entry>
-    <entry>
-      <key>Address format</key>
-    </entry>
-    <entry>
-      <key>Activity link Id</key>
-    </entry>
-    <entry>
-      <key>Date end</key>
-    </entry>
-    <entry>
-      <key>Creation user</key>
-    </entry>
-    <entry>
-      <key>Object Id</key>
-    </entry>
-    <entry>
-      <key>Is active</key>
-    </entry>
-    <entry>
-      <key>Product relationship</key>
-    </entry>
-    <entry>
-      <key>Salesorder item Id</key>
-    </entry>
-    <entry>
-      <key>Char value</key>
-    </entry>
-    <entry>
-      <key>Attribute relation Id</key>
-    </entry>
-    <entry>
-      <key>Tag</key>
-    </entry>
-    <entry>
-      <key>Title suffix</key>
-    </entry>
-    <entry>
-      <key>Step costs</key>
-    </entry>
-    <entry>
-      <key>Min. Stock</key>
-    </entry>
-    <entry>
-      <key>User</key>
-    </entry>
-    <entry>
-      <key>Stock Id</key>
-    </entry>
-    <entry>
-      <key>Tablename</key>
-    </entry>
-    <entry>
-      <key>CHAR VALUE</key>
-    </entry>
-    <entry>
-      <key>Parent context</key>
-    </entry>
-    <entry>
-      <key>Organisation Id</key>
-    </entry>
-    <entry>
-      <key>Tablename Id</key>
-    </entry>
-    <entry>
-      <key>Competitors</key>
-    </entry>
-    <entry>
-      <key>Notifications</key>
-    </entry>
-    <entry>
-      <key>Overview</key>
-    </entry>
-    <entry>
-      <key>Participated</key>
-    </entry>
-    <entry>
-      <key>Remaining Runtime</key>
-    </entry>
-    <entry>
-      <key>Document Template</key>
-    </entry>
-    <entry>
-      <key>Text Modular</key>
-    </entry>
-    <entry>
-      <key>Serial</key>
-    </entry>
-    <entry>
-      <key>Campaign Period</key>
-    </entry>
-    <entry>
-      <key>Single</key>
-    </entry>
-    <entry>
-      <key>Attachment</key>
-    </entry>
-    <entry>
-      <key>Attachments</key>
-    </entry>
-    <entry>
-      <key>Letter</key>
-    </entry>
-    <entry>
-      <key>Appointment</key>
-    </entry>
-    <entry>
-      <key>rebuild Index</key>
-    </entry>
-    <entry>
-      <key>Charts</key>
-    </entry>
-    <entry>
-      <key>Keywords</key>
-    </entry>
-    <entry>
-      <key>Days running</key>
-    </entry>
-    <entry>
-      <key>Logs</key>
-    </entry>
-    <entry>
-      <key>Mail</key>
-    </entry>
-    <entry>
-      <key>Phonecall</key>
-    </entry>
-    <entry>
-      <key>Chart 2</key>
-    </entry>
-    <entry>
-      <key>Log</key>
-    </entry>
-    <entry>
-      <key>Offer Header Text</key>
-    </entry>
-    <entry>
-      <key>Employees</key>
-    </entry>
-    <entry>
-      <key>Todo</key>
-    </entry>
-    <entry>
-      <key>Days remaining</key>
-    </entry>
-    <entry>
-      <key>Offer Footer Text</key>
-    </entry>
-    <entry>
-      <key>Date new</key>
-    </entry>
-    <entry>
-      <key>Date edit</key>
-    </entry>
-    <entry>
-      <key>Keyword Attributes</key>
-    </entry>
-    <entry>
-      <key>Student/Internship</key>
-    </entry>
-    <entry>
-      <key>Food</key>
-    </entry>
-    <entry>
-      <key>200 to 349T</key>
-    </entry>
-    <entry>
-      <key>Within 6 months</key>
-    </entry>
-    <entry>
-      <key>No project planned</key>
-    </entry>
-    <entry>
-      <key>Logistics</key>
-    </entry>
-    <entry>
-      <key>Skilled workers</key>
-    </entry>
-    <entry>
-      <key>Purchasing</key>
-    </entry>
-    <entry>
-      <key>Rate</key>
-    </entry>
-    <entry>
-      <key>Choice</key>
-    </entry>
-    <entry>
-      <key>points</key>
-    </entry>
-    <entry>
-      <key>Education</key>
-    </entry>
-    <entry>
-      <key>Public</key>
-    </entry>
-    <entry>
-      <key>Building and construction suppliers</key>
-    </entry>
-    <entry>
-      <key>0 to 49</key>
-    </entry>
-    <entry>
-      <key>0 to 49T</key>
-    </entry>
-    <entry>
-      <key>CRM Manager</key>
-    </entry>
-    <entry>
-      <key>50 to 99T</key>
-    </entry>
-    <entry>
-      <key>Search</key>
-    </entry>
-    <entry>
-      <key>Counsellor</key>
-    </entry>
-    <entry>
-      <key>50 to 100</key>
-    </entry>
-    <entry>
-      <key>OnPremise</key>
-    </entry>
-    <entry>
-      <key>Head of IT</key>
-    </entry>
-    <entry>
-      <key>Electric</key>
-    </entry>
-    <entry>
-      <key>from 1,000</key>
-    </entry>
-    <entry>
-      <key>Publishing house</key>
-    </entry>
-    <entry>
-      <key>100 to 199T</key>
-    </entry>
-    <entry>
-      <key>101 to 250</key>
-    </entry>
-    <entry>
-      <key>Overarching</key>
-    </entry>
-    <entry>
-      <key>Energy</key>
-    </entry>
-    <entry>
-      <key>Machinery and equipment</key>
-    </entry>
-    <entry>
-      <key>Trade</key>
-    </entry>
-    <entry>
-      <key>Consultation</key>
-    </entry>
-    <entry>
-      <key>Cloud</key>
-    </entry>
-    <entry>
-      <key>No date yet</key>
-    </entry>
-    <entry>
-      <key>Classifications</key>
-    </entry>
-    <entry>
-      <key>Service Manager</key>
-    </entry>
-    <entry>
-      <key>Lifesience</key>
-    </entry>
-    <entry>
-      <key>Automotive</key>
-    </entry>
-    <entry>
-      <key>Lottery</key>
-    </entry>
-    <entry>
-      <key>from 350T</key>
-    </entry>
-    <entry>
-      <key>Management/Sales Manager</key>
-    </entry>
-    <entry>
-      <key>Environment</key>
-    </entry>
-    <entry>
-      <key>Within 12 months</key>
-    </entry>
-    <entry>
-      <key>Finance</key>
-    </entry>
-    <entry>
-      <key>ScoreProjectStart</key>
-      <value>Project start</value>
-    </entry>
-    <entry>
-      <key>ScoreStandard</key>
-      <value>Standard</value>
-    </entry>
-    <entry>
-      <key>ScoreCustomizing</key>
-      <value>Customizing</value>
-    </entry>
-    <entry>
-      <key>ScoreDecisionPhase</key>
-      <value>Desicion phase</value>
-    </entry>
-    <entry>
-      <key>ScoreUsers</key>
-      <value>User count</value>
-    </entry>
-    <entry>
-      <key>ScoreBranch</key>
-      <value>Branche</value>
-    </entry>
-    <entry>
-      <key>ScorePosition</key>
-      <value>Position</value>
-    </entry>
-    <entry>
-      <key>ScoreBudget</key>
-      <value>Project budget</value>
-    </entry>
-    <entry>
-      <key>ScoreDepartment</key>
-      <value>department</value>
-    </entry>
-    <entry>
-      <key>ScoreCloud</key>
-      <value>Operating model</value>
-    </entry>
-    <entry>
-      <key>ScoreBased</key>
-      <value>Headquarters</value>
-    </entry>
-    <entry>
-      <key>Score</key>
-    </entry>
-    <entry>
-      <key>Scoretype</key>
-    </entry>
-    <entry>
-      <key>archive</key>
-    </entry>
-    <entry>
-      <key>setUnread</key>
-    </entry>
-    <entry>
-      <key>setRead</key>
-    </entry>
-    <entry>
-      <key>${HIGHER_THAN_MAX} max: %0</key>
-      <value>The value is greater than the allowed max-value %0.</value>
-    </entry>
-    <entry>
-      <key>Rating</key>
-    </entry>
-    <entry>
-      <key>Possible Values</key>
-    </entry>
-    <entry>
-      <key>251 to 1,000</key>
-    </entry>
-    <entry>
-      <key>Selection</key>
-    </entry>
-    <entry>
-      <key>Files</key>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_SINGLE}</key>
-      <value>time</value>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" has to be used at least %1.</key>
-    </entry>
-    <entry>
-      <key>${COUNT_PREPOSITION_MULTIPLE}</key>
-      <value>times</value>
-    </entry>
-    <entry>
-      <key>Attribute \"%0\" can't be used more than %1.</key>
-    </entry>
-    <entry>
-      <key>Recipient</key>
-    </entry>
-    <entry>
-      <key>Write email</key>
-    </entry>
-    <entry>
-      <key>Show tasks where I am editor</key>
-    </entry>
-    <entry>
-      <key>Entrydate must not be in the future</key>
-    </entry>
-    <entry>
-      <key>Delivery specification</key>
-    </entry>
-    <entry>
-      <key>Priority</key>
-    </entry>
-    <entry>
-      <key>Postcode</key>
-    </entry>
-    <entry>
-      <key>Main document</key>
-    </entry>
-    <entry>
-      <key>Delete</key>
-    </entry>
-    <entry>
-      <key>Street</key>
-    </entry>
-    <entry>
-      <key>Start</key>
-    </entry>
-    <entry>
-      <key>End</key>
-    </entry>
-    <entry>
-      <key>Condition</key>
-    </entry>
-    <entry>
-      <key>File</key>
-    </entry>
-    <entry>
-      <key> User</key>
-    </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
-    <entry>
-      <key>Condition Type</key>
-    </entry>
-    <entry>
-      <key>Access type</key>
-    </entry>
-    <entry>
-      <key>Permission  Overview</key>
-    </entry>
-    <entry>
-      <key>PermissionId</key>
-    </entry>
-    <entry>
-      <key>Entity</key>
-    </entry>
-    <entry>
-      <key>Sales Project</key>
-    </entry>
-    <entry>
-      <key>Field</key>
-    </entry>
-    <entry>
-      <key>Permission Detail</key>
-    </entry>
-    <entry>
-      <key>Entities</key>
-    </entry>
-    <entry>
-      <key>Read</key>
-    </entry>
-    <entry>
-      <key>Permission Set ID</key>
-    </entry>
-    <entry>
-      <key>Create</key>
-    </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Permission Overview</key>
-    </entry>
-    <entry>
-      <key>Action</key>
-    </entry>
-    <entry>
-      <key>View</key>
-    </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
-    <entry>
-      <key>Salutations</key>
-    </entry>
-    <entry>
-      <key>Paymentterm</key>
-    </entry>
-    <entry>
-      <key>Runtime</key>
-    </entry>
-    <entry>
-      <key>Fix costs</key>
-    </entry>
-    <entry>
-      <key>Total costs</key>
-    </entry>
-    <entry>
-      <key>Per participant</key>
-    </entry>
-    <entry>
-      <key>Predecessor</key>
-    </entry>
-    <entry>
-      <key>Campaign planning</key>
-    </entry>
-    <entry>
-      <key>Group name</key>
-    </entry>
-    <entry>
-      <key>Price Condition</key>
-    </entry>
-    <entry>
-      <key>Entität</key>
-    </entry>
-    <entry>
-      <key>beschränken</key>
-    </entry>
-    <entry>
-      <key>Feld</key>
-    </entry>
-    <entry>
-      <key>Possible Value</key>
-    </entry>
-    <entry>
-      <key>erlauben</key>
-    </entry>
-    <entry>
-      <key>Could not determine the current Classification type (usage).</key>
-    </entry>
-    <entry>
-      <key>Datensatz</key>
-    </entry>
-    <entry>
-      <key>The new Classification name already exists.</key>
-    </entry>
-    <entry>
-      <key>3. Classification</key>
-    </entry>
-    <entry>
-      <key>1. Classification</key>
-    </entry>
-    <entry>
-      <key>2. Classification</key>
-    </entry>
-    <entry>
-      <key>Choose Footer</key>
-    </entry>
-    <entry>
-      <key>Choose Header</key>
-    </entry>
-    <entry>
-      <key>#0</key>
-    </entry>
-    <entry>
-      <key>Email Template</key>
-    </entry>
-    <entry>
-      <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key>
-      <value>Field %0 is in an incorrect format. The database field has to be like "tablename.columnname" ("ORGANISATION.NAME") or as array with column-alias: ["ORGANISATION", "NAME", "myorgAlias"]</value>
-    </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
-    <entry>
-      <key>New Support ticket</key>
-    </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
-    <entry>
-      <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
-    </entry>
-    <entry>
-      <key>Kein Weitergeben von privaten Aufgaben möglich!</key>
-    </entry>
-    <entry>
-      <key>Search for new Entries</key>
-    </entry>
-    <entry>
-      <key>Additional link</key>
-    </entry>
-    <entry>
-      <key>Salesproject member</key>
-    </entry>
-    <entry>
-      <key>Maximal count has to be a whole number</key>
-    </entry>
-    <entry>
-      <key>Minimal count must be a positive whole number</key>
-    </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
-    <entry>
-      <key>Maximal count must be one or higher</key>
-    </entry>
-    <entry>
-      <key>Campaign name</key>
-    </entry>
-    <entry>
-      <key>Step name</key>
-    </entry>
-    <entry>
-      <key>Assignment</key>
-    </entry>
-    <entry>
-      <key>Complaint</key>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
-    <entry>
-      <key>Restrictions</key>
-    </entry>
-    <entry>
-      <key>Advertising bans</key>
-    </entry>
-    <entry>
-      <key>Advertising ban</key>
-    </entry>
-    <entry>
-      <key>Delete appointment</key>
-    </entry>
-    <entry>
-      <key>Do you really want to delete this recurring appointment?</key>
-    </entry>
-    <entry>
-      <key>Start date</key>
-    </entry>
-    <entry>
-      <key>New letter</key>
-    </entry>
-    <entry>
-      <key>No calls</key>
-    </entry>
-    <entry>
-      <key>No mails</key>
-    </entry>
-    <entry>
-      <key>Delete recurring appointment</key>
-    </entry>
-    <entry>
-      <key>No fax</key>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-    </entry>
-    <entry>
-      <key>No letters</key>
-    </entry>
-    <entry>
-      <key>ended (abandoned)</key>
-    </entry>
-    <entry>
-      <key>customer checks</key>
-    </entry>
-    <entry>
-      <key>assigned</key>
-    </entry>
-    <entry>
-      <key>ended (done)</key>
-    </entry>
-    <entry>
-      <key>Long string value</key>
-    </entry>
-    <entry>
-      <key>still incorrect</key>
-    </entry>
-    <entry>
-      <key>unassigned</key>
-    </entry>
-    <entry>
-      <key>UNSEEN</key>
-    </entry>
-    <entry>
-      <key>ARCHIVE</key>
-    </entry>
-    <entry>
-      <key>TODELETE</key>
-    </entry>
-    <entry>
-      <key>CONFIRMED</key>
-    </entry>
-    <entry>
-      <key>SEEN</key>
-    </entry>
-    <entry>
-      <key>Link</key>
-    </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-    </entry>
-    <entry>
-      <key>Permissions</key>
-    </entry>
-    <entry>
-      <key>Permission</key>
-    </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-    </entry>
-    <entry>
-      <key>Maximal</key>
-    </entry>
-    <entry>
-      <key>Minimal</key>
-    </entry>
-    <entry>
-      <key>Object selection</key>
-    </entry>
-    <entry>
-      <key>Bulk mail</key>
-    </entry>
-    <entry>
-      <key>Recipients</key>
-    </entry>
-    <entry>
-      <key>Boss of</key>
-    </entry>
-    <entry>
-      <key>Data table</key>
-    </entry>
-    <entry>
-      <key>Make offer (WV)</key>
-    </entry>
-    <entry>
-      <key>Delivery term</key>
-    </entry>
-    <entry>
-      <key>No risk</key>
-    </entry>
-    <entry>
-      <key>Urlaubsprüfung durch</key>
-    </entry>
-    <entry>
-      <key>Acquisition</key>
-    </entry>
-    <entry>
-      <key>A</key>
-    </entry>
-    <entry>
-      <key>B</key>
-    </entry>
-    <entry>
-      <key>C</key>
-    </entry>
-    <entry>
-      <key>D</key>
-    </entry>
-    <entry>
-      <key>Motor cycle</key>
-    </entry>
-    <entry>
-      <key>Beer</key>
-    </entry>
-    <entry>
-      <key>Presentation</key>
-    </entry>
-    <entry>
-      <key>Print media</key>
-    </entry>
-    <entry>
-      <key>good</key>
-    </entry>
-    <entry>
-      <key>Tourism</key>
-    </entry>
-    <entry>
-      <key>Existing contact</key>
-    </entry>
-    <entry>
-      <key>Personal estimation</key>
-    </entry>
-    <entry>
-      <key>ToDo</key>
-    </entry>
-    <entry>
-      <key>medium</key>
-    </entry>
-    <entry>
-      <key>Away travel</key>
-    </entry>
-    <entry>
-      <key>Project planning open</key>
-    </entry>
-    <entry>
-      <key>1 medium</key>
-    </entry>
-    <entry>
-      <key>Component</key>
-    </entry>
-    <entry>
-      <key>Delivery block</key>
-    </entry>
-    <entry>
-      <key>Product type</key>
-    </entry>
-    <entry>
-      <key>Distribution</key>
-    </entry>
-    <entry>
-      <key>Call back (WV)</key>
-    </entry>
-    <entry>
-      <key>Spare part</key>
-    </entry>
-    <entry>
-      <key>Send information</key>
-    </entry>
-    <entry>
-      <key>EVENT</key>
-    </entry>
-    <entry>
-      <key>Decision-maker changed</key>
-    </entry>
-    <entry>
-      <key>Known because</key>
-    </entry>
-    <entry>
-      <key>Visit frequency</key>
-    </entry>
-    <entry>
-      <key>Payment problem customer</key>
-    </entry>
-    <entry>
-      <key>Employee account</key>
-    </entry>
-    <entry>
-      <key>Dumping price competition</key>
-    </entry>
-    <entry>
-      <key>Device/Machine</key>
-    </entry>
-    <entry>
-      <key>Tool changer</key>
-    </entry>
-    <entry>
-      <key>Declaration of acceptance</key>
-    </entry>
-    <entry>
-      <key>Product A1</key>
-    </entry>
-    <entry>
-      <key>Product A2</key>
-    </entry>
-    <entry>
-      <key>Technical specifications</key>
-    </entry>
-    <entry>
-      <key>Product B2</key>
-    </entry>
-    <entry>
-      <key>Product B1</key>
-    </entry>
-    <entry>
-      <key>Cigars</key>
-    </entry>
-    <entry>
-      <key>Occupation</key>
-    </entry>
-    <entry>
-      <key>Partial calculation</key>
-    </entry>
-    <entry>
-      <key>IT/Service</key>
-    </entry>
-    <entry>
-      <key>Frame contract (WV)</key>
-    </entry>
-    <entry>
-      <key>2 big</key>
-    </entry>
-    <entry>
-      <key>Data protection agreement</key>
-    </entry>
-    <entry>
-      <key>ORG</key>
-    </entry>
-    <entry>
-      <key>PERS</key>
-    </entry>
-    <entry>
-      <key>Racing bike</key>
-    </entry>
-    <entry>
-      <key>Others</key>
-    </entry>
-    <entry>
-      <key>Interested</key>
-    </entry>
-    <entry>
-      <key>Project shift customer</key>
-    </entry>
-    <entry>
-      <key>Regulation</key>
-    </entry>
-    <entry>
-      <key>Strength</key>
-    </entry>
-    <entry>
-      <key>Interests</key>
-    </entry>
-    <entry>
-      <key>DOCUMENT</key>
-    </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-    </entry>
-    <entry>
-      <key>Subordinate campaign of</key>
-    </entry>
-    <entry>
-      <key>Treat</key>
-    </entry>
-    <entry>
-      <key>Product interest</key>
-    </entry>
-    <entry>
-      <key>Cons</key>
-    </entry>
-    <entry>
-      <key>Transport damage</key>
-    </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-    </entry>
-    <entry>
-      <key>Sport</key>
-    </entry>
-    <entry>
-      <key>Technology</key>
-    </entry>
-    <entry>
-      <key>Assistance</key>
-    </entry>
-    <entry>
-      <key>Trade fair</key>
-    </entry>
-    <entry>
-      <key>Creditworthiness</key>
-    </entry>
-    <entry>
-      <key>Superordinate campaign of</key>
-    </entry>
-    <entry>
-      <key>Pricing policy</key>
-    </entry>
-    <entry>
-      <key>Prospective customer</key>
-    </entry>
-    <entry>
-      <key>Send documents (WV)</key>
-    </entry>
-    <entry>
-      <key>Revolution speed (rpm)</key>
-    </entry>
-    <entry>
-      <key>Atmosphere</key>
-    </entry>
-    <entry>
-      <key>Follow up (WV)</key>
-    </entry>
-    <entry>
-      <key>Mechanical engineering</key>
-    </entry>
-    <entry>
-      <key>Wine</key>
-    </entry>
-    <entry>
-      <key>bad</key>
-    </entry>
-    <entry>
-      <key>Sailing</key>
-    </entry>
-    <entry>
-      <key>Commodity group B (WV)</key>
-    </entry>
-    <entry>
-      <key>personal</key>
-    </entry>
-    <entry>
-      <key>flexible</key>
-    </entry>
-    <entry>
-      <key>Handcraft</key>
-    </entry>
-    <entry>
-      <key>Goodwill</key>
-    </entry>
-    <entry>
-      <key>Website</key>
-    </entry>
-    <entry>
-      <key>Full calculation</key>
-    </entry>
-    <entry>
-      <key>Birthday list</key>
-    </entry>
-    <entry>
-      <key>Holiday</key>
-    </entry>
-    <entry>
-      <key>Quality problem customer</key>
-    </entry>
-    <entry>
-      <key>ToDos</key>
-    </entry>
-    <entry>
-      <key>Golf</key>
-    </entry>
-    <entry>
-      <key>Loyalty</key>
-    </entry>
-    <entry>
-      <key>Type of damage</key>
-    </entry>
-    <entry>
-      <key>Contacting</key>
-    </entry>
-    <entry>
-      <key>Conveyor</key>
-    </entry>
-    <entry>
-      <key>Agency</key>
-    </entry>
-    <entry>
-      <key>Technical requirement</key>
-    </entry>
-    <entry>
-      <key>Faulty delivery</key>
-    </entry>
-    <entry>
-      <key>Interested person</key>
-    </entry>
-    <entry>
-      <key>First contact</key>
-    </entry>
-    <entry>
-      <key>Wear part</key>
-    </entry>
-    <entry>
-      <key>Commodity group B</key>
-    </entry>
-    <entry>
-      <key>Commodity group A</key>
-    </entry>
-    <entry>
-      <key>Commodity group A (WV)</key>
-    </entry>
-    <entry>
-      <key>Recommendation</key>
-    </entry>
-    <entry>
-      <key>Project planned?</key>
-    </entry>
-    <entry>
-      <key>Reference customer</key>
-    </entry>
-    <entry>
-      <key>Reports to</key>
-    </entry>
-    <entry>
-      <key>Pricelist</key>
-    </entry>
-    <entry>
-      <key>Send brochure (WV)</key>
-    </entry>
-    <entry>
-      <key>loves sociability</key>
-    </entry>
-    <entry>
-      <key>0 low</key>
-    </entry>
-    <entry>
-      <key>Departments</key>
-    </entry>
-    <entry>
-      <key>Additional data</key>
-    </entry>
-    <entry>
-      <key>Origin</key>
-    </entry>
-    <entry>
-      <key>Weight (kg)</key>
-    </entry>
-    <entry>
-      <key>Consisted customer</key>
-    </entry>
-    <entry>
-      <key>Incomplete delivery</key>
-    </entry>
-    <entry>
-      <key>Weakness</key>
-    </entry>
-    <entry>
-      <key>Project type</key>
-    </entry>
-    <entry>
-      <key>30</key>
-    </entry>
-    <entry>
-      <key>Annual holidays</key>
-    </entry>
-    <entry>
-      <key>Call</key>
-    </entry>
-    <entry>
-      <key>own company</key>
-    </entry>
-    <entry>
-      <key>Soccer</key>
-    </entry>
-    <entry>
-      <key>Consultant</key>
-    </entry>
-    <entry>
-      <key>Financial service</key>
-    </entry>
-    <entry>
-      <key>Target group</key>
-    </entry>
-    <entry>
-      <key>Building industry</key>
-    </entry>
-    <entry>
-      <key>Next contact?</key>
-    </entry>
-    <entry>
-      <key>General</key>
-    </entry>
-    <entry>
-      <key>Campaign response</key>
-    </entry>
-    <entry>
-      <key>60</key>
-    </entry>
-    <entry>
-      <key>Risk</key>
-    </entry>
-    <entry>
-      <key>NPO</key>
-    </entry>
-    <entry>
-      <key>Writes for</key>
-    </entry>
-    <entry>
-      <key>90</key>
-    </entry>
-    <entry>
-      <key>Custody agreement</key>
-    </entry>
-    <entry>
-      <key>Economy</key>
-    </entry>
-    <entry>
-      <key>Other (WV)</key>
-    </entry>
-    <entry>
-      <key>Pros</key>
-    </entry>
-    <entry>
-      <key>Quality complaint</key>
-    </entry>
-    <entry>
-      <key>Next steps</key>
-    </entry>
-    <entry>
-      <key>Urlaubsgenehmigung durch</key>
-    </entry>
-    <entry>
-      <key>Assessment</key>
-    </entry>
-    <entry>
-      <key>Signature</key>
-    </entry>
-    <entry>
-      <key>Footer</key>
-    </entry>
-    <entry>
-      <key>Header</key>
-    </entry>
-    <entry>
-      <key>Open admin view</key>
-    </entry>
-    <entry>
-      <key>All selected participants already are in the campaign</key>
-    </entry>
-    <entry>
-      <key>%0/%1 participant(s) will be added to the selected campaign step</key>
-    </entry>
-    <entry>
-      <key>Not enough slots for %0/%1 participant(s)</key>
-    </entry>
-    <entry>
-      <key>No valid Selection</key>
-    </entry>
-    <entry>
-      <key>Sender address</key>
-    </entry>
-    <entry>
-      <key>Send</key>
-    </entry>
-    <entry>
-      <key>Pending</key>
-    </entry>
-    <entry>
-      <key>Failed</key>
-    </entry>
-    <entry>
-      <key>UID</key>
-    </entry>
-    <entry>
-      <key>ticket number</key>
-    </entry>
-    <entry>
-      <key>AB_KEYWORD_ENTRYID (UID)</key>
-    </entry>
-    <entry>
-      <key>DATE_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Icon</key>
-    </entry>
-    <entry>
-      <key>in progress</key>
-    </entry>
-    <entry>
-      <key>PARENT_CONTEXT</key>
-    </entry>
-    <entry>
-      <key>OFFER_ID</key>
-    </entry>
-    <entry>
-      <key>SMS</key>
-    </entry>
-    <entry>
-      <key>CAMPAIGNID (UID)</key>
-    </entry>
-    <entry>
-      <key>PARENT_ID</key>
-    </entry>
-    <entry>
-      <key>Interfaces</key>
-    </entry>
-    <entry>
-      <key>Feature</key>
-    </entry>
-    <entry>
-      <key>ORGANISATIONID (UID)</key>
-    </entry>
-    <entry>
-      <key>SALESORDER_ID</key>
-    </entry>
-    <entry>
-      <key>Ticket</key>
-    </entry>
-    <entry>
-      <key>Delivery problems</key>
-    </entry>
-    <entry>
-      <key>Tickets</key>
-    </entry>
-    <entry>
-      <key>PERSON_ID</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_REQUESTOR}</key>
-    </entry>
-    <entry>
-      <key>Billable</key>
-    </entry>
-    <entry>
-      <key>TASKID (UID)</key>
-    </entry>
-    <entry>
-      <key>Fax</key>
-    </entry>
-    <entry>
-      <key>DATE_EDIT</key>
-    </entry>
-    <entry>
-      <key>OFFERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Connection Type</key>
-    </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
-    <entry>
-      <key>Phases</key>
-    </entry>
-    <entry>
-      <key>Questions</key>
-    </entry>
-    <entry>
-      <key>User error</key>
-    </entry>
-    <entry>
-      <key>ACTIVITYID (UID)</key>
-    </entry>
-    <entry>
-      <key>Issue</key>
-    </entry>
-    <entry>
-      <key>CONTACTID</key>
-    </entry>
-    <entry>
-      <key>Maintenance</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_STATUS}</key>
-    </entry>
-    <entry>
-      <key>DATE_NEW</key>
-    </entry>
-    <entry>
-      <key>SALESPROJECTID (UID)</key>
-    </entry>
-    <entry>
-      <key>ORGANISATION_ID</key>
-    </entry>
-    <entry>
-      <key>CONTRACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a file from a blob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>SqlUtils.getSqlInStatement: if pAsPrepared is true, pPreparedDbType has to be filld with the correct db type</key>
-    </entry>
-    <entry>
-      <key>[%0]it was necessary to create a text-file from a clob-field but no lob-file-path was specified.</key>
-    </entry>
-    <entry>
-      <key>USER_NEW</key>
-    </entry>
-    <entry>
-      <key>USER_EDIT</key>
-    </entry>
-    <entry>
-      <key>CONTACTID (UID)</key>
-    </entry>
-    <entry>
-      <key>{$TICKET_EDITOR}</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>Modul group</key>
-    </entry>
-    <entry>
-      <key>PRODUCTID (UID)</key>
-    </entry>
-    <entry>
-      <key>no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"</key>
-    </entry>
-    <entry>
-      <key>Total time</key>
-    </entry>
-    <entry>
-      <key>SALESORDERID (UID)</key>
-    </entry>
-    <entry>
-      <key>Cause</key>
-    </entry>
-    <entry>
-      <key>Assembly</key>
-    </entry>
-    <entry>
-      <key>Dokument template usage</key>
-    </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
-    <entry>
-      <key>USER_NEW_CONTACT</key>
-    </entry>
-    <entry>
-      <key>Linked Appointments</key>
-    </entry>
-    <entry>
-      <key>Location</key>
-    </entry>
-    <entry>
-      <key>Not sent</key>
-    </entry>
-    <entry>
-      <key>Is being sent</key>
-    </entry>
-    <entry>
-      <key>Preview</key>
-    </entry>
-    <entry>
-      <key>Content</key>
-    </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
-    <entry>
-      <key>Bulk mail \"%0\" was sent!</key>
-    </entry>
-    <entry>
-      <key>Descriptions</key>
-    </entry>
-    <entry>
-      <key>User Administration</key>
-    </entry>
-    <entry>
-      <key>Support Ticket</key>
-    </entry>
-    <entry>
-      <key>DSGVO Information</key>
-    </entry>
-    <entry>
-      <key>Xing</key>
-    </entry>
-    <entry>
-      <key>consent</key>
-    </entry>
-    <entry>
-      <key>Information Report</key>
-    </entry>
-    <entry>
-      <key>Data Privacy</key>
-    </entry>
-    <entry>
-      <key>Attribute data</key>
-    </entry>
-    <entry>
-      <key>other personal data</key>
-    </entry>
-    <entry>
-      <key>LinkedIn</key>
-    </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
-    <entry>
-      <key>Anonymization</key>
-    </entry>
-    <entry>
-      <key>Data Privacies</key>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
-    <entry>
-      <key>Names</key>
-    </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
-    <entry>
-      <key>Update</key>
-    </entry>
-    <entry>
-      <key>The contact has an advertising ban for emails!</key>
-    </entry>
-    <entry>
-      <key>Adressdaten</key>
-    </entry>
-    <entry>
-      <key>Blog</key>
-    </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-    </entry>
-    <entry>
-      <key>Disclosure Report</key>
-    </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
-    <entry>
-      <key>DataPrivacy Right</key>
-    </entry>
-    <entry>
-      <key>Address data</key>
-    </entry>
-    <entry>
-      <key>contract of sale</key>
-    </entry>
-    <entry>
-      <key>balancing of interests</key>
-    </entry>
-    <entry>
-      <key>DataPrivacy Use</key>
-    </entry>
-    <entry>
-      <key>Personal data</key>
-    </entry>
-    <entry>
-      <key>Source</key>
-    </entry>
-    <entry>
-      <key>No data has been anonymized.</key>
-    </entry>
-    <entry>
-      <key>The following data has been anonymised: %0</key>
-    </entry>
-    <entry>
-      <key>DSGVO anonymisation</key>
-    </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-    </entry>
-    <entry>
-      <key>Update data privacy information</key>
-    </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
-    <entry>
-      <key>Remarks</key>
-    </entry>
-    <entry>
-      <key>Organisation</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Rented car</key>
-    </entry>
-    <entry>
-      <key>Until</key>
-    </entry>
-    <entry>
-      <key>From</key>
-    </entry>
-    <entry>
-      <key>Park fees</key>
-    </entry>
-    <entry>
-      <key>Abscences</key>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-    </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
-    <entry>
-      <key>Transport cost</key>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>Month</key>
-    </entry>
-    <entry>
-      <key>Working material</key>
-    </entry>
-    <entry>
-      <key>Hospitality</key>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-    </entry>
-    <entry>
-      <key>Update campaign step</key>
-    </entry>
-    <entry>
-      <key>No contacts selected</key>
-    </entry>
-    <entry>
-      <key>Show my campaigns</key>
-    </entry>
-    <entry>
-      <key>My campaigns</key>
-    </entry>
-    <entry>
-      <key>Add to Bulkmail</key>
-    </entry>
-    <entry>
-<<<<<<< HEAD
-      <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
-    </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
-    <entry>
-      <key>Recipient, Country</key>
-    </entry>
-    <entry>
-      <key>We save your data until </key>
-    </entry>
-    <entry>
-      <key>Guarantees</key>
-    </entry>
-    <entry>
-      <key>On time</key>
-    </entry>
-    <entry>
-      <key>Nur eigene anzeigen</key>
-    </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
-    <entry>
-      <key>For this report</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a select clause!</key>
-    </entry>
-    <entry>
-      <key>Inland</key>
-    </entry>
-    <entry>
-      <key>The data is transmitted to the following recipients:</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must be instanciated with 'new'</key>
-    </entry>
-    <entry>
-      <key>Extension letter date</key>
-    </entry>
-    <entry>
-      <key>Balancing of interests</key>
-    </entry>
-    <entry>
-      <key>SqlBuilder must contain a from clause!</key>
-    </entry>
-    <entry>
-      <key>None</key>
-    </entry>
-    <entry>
-      <key>Date of request</key>
-    </entry>
-    <entry>
-      <key>Export CSV</key>
-    </entry>
-    <entry>
-      <key>Not all data privacy fields for all private data is filled. Cannot create report.</key>
-    </entry>
-    <entry>
-      <key>Birthday</key>
-    </entry>
-    <entry>
-      <key>Extend - request count</key>
-    </entry>
-    <entry>
-      <key>Transmission</key>
-    </entry>
-    <entry>
-      <key>You don't have permission for this view.</key>
-    </entry>
-    <entry>
-      <key>Extend - complexity</key>
-    </entry>
-    <entry>
-      <key>Advertising consent</key>
-    </entry>
-    <entry>
-      <key>We hereby comply with your request within the statutory period of one month.</key>
-=======
-      <key>%0 recipients will be added to the bulk mail.</key>
->>>>>>> origin/master
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed. Process took %2 s.</key>
-    </entry>
-    <entry>
-<<<<<<< HEAD
-      <key>Foreign country</key>
-    </entry>
-    <entry>
-      <key>phase information</key>
-    </entry>
-    <entry>
-      <key>the high complexity of your application</key>
-    </entry>
-    <entry>
-      <key>As stated in our letter of %0, we have made use of the possibility to extend the deadline to three months due to %1.</key>
-    </entry>
-    <entry>
-      <key>Deadline</key>
-    </entry>
-    <entry>
-      <key>Newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>We received data from </key>
-    </entry>
-    <entry>
-      <key>the number of your applications</key>
-    </entry>
-    <entry>
-      <key>Your changes may have an impact on the data privacy information (DSGVO).\n Please update these.</key>
-    </entry>
-    <entry>
-      <key>External Datasource</key>
-    </entry>
-    <entry>
-      <key>Guarantee</key>
-=======
-      <key>%0 new recipients will be added to the bulk mail.</key>
-    </entry>
-    <entry>
-      <key>Remove recipients with advertising ban</key>
-    </entry>
-    <entry>
-      <key>Serial letter</key>
->>>>>>> origin/master
-    </entry>
-  </keyValueMap>
-  <font name="Dialog" style="0" size="11" />
-</language>
-- 
GitLab


From 2292266aa23beb1b58ba96cb60cf081437338544 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Tue, 27 Oct 2020 13:41:00 +0100
Subject: [PATCH 225/251] Liquibase changes for Oracle compatibility

---
 .../basic/2019.1.4/AditoBasic/init_UnlinkedMail.xml |  2 +-
 .../2019.3.2/Duplicates/alter_duplicateScanner.xml  |  2 +-
 .../Data_alias/basic/2019.3.2/reworkDbIndexes.xml   | 13 ++++++++++---
 .../basic/2020.1.2/AddNullableToDateNew.xml         |  2 +-
 .../alter_DocumentTemplatePlaceOfUseDatatype.xml    |  1 +
 .../Data_alias/basic/2020.2.0/optimizeIndizes.xml   |  9 ---------
 6 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_UnlinkedMail.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_UnlinkedMail.xml
index 63d3018343..8ea8bcf104 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_UnlinkedMail.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_UnlinkedMail.xml
@@ -18,7 +18,7 @@
             <column name="SUBJECT" type="NVARCHAR(200)"/>
             <column name="SENTDATE" type="DATETIME"/>
             <column name="SENDER" type="NVARCHAR(1000)"/>
-            <column name="RECIPIENTS" type="NVARCHAR(4000)"/>
+            <column name="RECIPIENTS" type="NCLOB"/>
             <column name="MAIL" type="NCLOB"/>
         </createTable>
         <createIndex indexName="IDX_AB_UNLINKEDMAILID_SENTDATE" tableName="AB_UNLINKEDMAIL">
diff --git a/.liquibase/Data_alias/basic/2019.3.2/Duplicates/alter_duplicateScanner.xml b/.liquibase/Data_alias/basic/2019.3.2/Duplicates/alter_duplicateScanner.xml
index 48074afa89..abee96da12 100644
--- a/.liquibase/Data_alias/basic/2019.3.2/Duplicates/alter_duplicateScanner.xml
+++ b/.liquibase/Data_alias/basic/2019.3.2/Duplicates/alter_duplicateScanner.xml
@@ -6,7 +6,7 @@
         <column name="ID_FIELD_NAME" type="NVARCHAR(100)"/>
     </addColumn>
     <addColumn tableName="DUPLICATESCANNER">
-        <column name="SCAN_PATTERN" type="NVARCHAR(4000)"/>
+        <column name="SCAN_PATTERN" type="NCLOB"/>
     </addColumn>
 </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
index 32c1ff9347..62c9c29573 100644
--- a/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
+++ b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
@@ -10,6 +10,16 @@
             <column name="ACTIVITY_ID"/>
         </createIndex>
     </changeSet>
+    <changeSet id="e7527e13-7546-4fa6-ac95-5cc3e1f27056" author="s.listl" dbms="!oracle">
+        <preConditions onFail="MARK_RAN">
+            <not>
+                <changeSetExecuted id="5a0b62f4-6770-454c-9a0e-d60ca16596dd" author="j.goderbauer"/>
+            </not>
+        </preConditions>
+        <createIndex indexName="IDX_TICKET_TASK_ID" tableName="TICKET">
+            <column name="TASK_ID"/>
+        </createIndex>
+    </changeSet>
     <!--indexes for all dbms-->
     <changeSet author="j.goderbauer" id="5a0b62f4-6770-454c-9a0e-d60ca16596dd">
         <!--remove problematic indexes-->
@@ -46,9 +56,6 @@
         </createIndex>
         
         <!--set all the referencing ids as single index now-->
-        <createIndex indexName="IDX_TICKET_TASK_ID" tableName="TICKET">
-            <column name="TASK_ID"/>
-        </createIndex>
         <createIndex indexName="IDX_CONTACT_ORGANISATION_ID" tableName="CONTACT">
             <column name="ORGANISATION_ID"/>
         </createIndex>
diff --git a/.liquibase/Data_alias/basic/2020.1.2/AddNullableToDateNew.xml b/.liquibase/Data_alias/basic/2020.1.2/AddNullableToDateNew.xml
index 8698960080..2cabebd22a 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AddNullableToDateNew.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AddNullableToDateNew.xml
@@ -1,7 +1,7 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet id="0aa81d84-7456-4240-91e0-a915f38abbd7" author="s.pongratz" >
+    <changeSet id="0aa81d84-7456-4240-91e0-a915f38abbd7" author="s.pongratz" dbms="!oracle">
         <addNotNullConstraint columnName="DATE_NEW" tableName="CAMPAIGNCOST" columnDataType="DATETIME" validate="true"/>
         <addNotNullConstraint columnName="DATE_NEW" tableName="CAMPAIGNPARTICIPANT" columnDataType="DATETIME" validate="true"/>
         <addNotNullConstraint columnName="DATE_NEW" tableName="CAMPAIGNSTEP" columnDataType="DATETIME" validate="true"/>
diff --git a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
index 9e31af2c94..3724971864 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
@@ -15,6 +15,7 @@
     
     <changeSet dbms="!derby" author="b.ulrich" id="85ba6a61-9318-4118-ac4c-e33730f6581d">
         <dropPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" dropIndex="true"/>
+        <dropNotNullConstraint tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID"/>
         <modifyDataType tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID" newDataType="CHAR(36)"/>
         <addNotNullConstraint columnName="DOCUMENTTEMPLATEID" tableName="DOCUMENTTEMPLATE" columnDataType="CHAR(36)" validate="true"/>
         <addPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" columnNames="DOCUMENTTEMPLATEID"/>
diff --git a/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml b/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
index c3eab6fea6..bf7010bb7a 100644
--- a/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
+++ b/.liquibase/Data_alias/basic/2020.2.0/optimizeIndizes.xml
@@ -8,15 +8,9 @@
         <createIndex tableName="AB_APPOINTMENTLINK" indexName="IDX_APPOINTLINK_OBJECT_ROWID">
             <column name="OBJECT_ROWID"/>
         </createIndex>
-        <createIndex tableName="EXPORTTEMPLATEPLACEOFUSE" indexName="IDX_EXPORTTEMPLATEUSE_T_ID">
-            <column name="EXPORTTEMPLATE_ID"/>
-        </createIndex>
         <createIndex tableName="DOCUMENTTEMPLATEPLACEOFUSE" indexName="IDX_DOCUMENTTEMPLATEUSE_DT_ID">
             <column name="DOCUMENTTEMPLATE_ID"/>
         </createIndex>
-        <createIndex tableName="EXPORTTEMPLATEFIELD" indexName="IDX_EXPORTTEMPLATEFIELD_ET_ID">
-            <column name="EXPORTTEMPLATE_ID"/>
-        </createIndex>
         <createIndex tableName="VISITRECOMMENDATION" indexName="IDX_VISITRECOMMEND_CONTACT_ID">
             <column name="CONTACT_ID"/>
         </createIndex>
@@ -29,9 +23,6 @@
         <createIndex tableName="LEADIMPORTMAPPINGASSISTANT" indexName="IDX_LEADIMPORTMAPPING_LI_ID">
             <column name="LEADIMPORT_ID"/>
         </createIndex>
-        <createIndex tableName="EXPORTTEMPLATESELECTION" indexName="IDX_EXPTEMPLATESEL_TEMPLATE_ID">
-            <column name="EXPORTTEMPLATE_ID"/>
-        </createIndex>
         <createIndex tableName="AB_PERMISSIONCALENDAR" indexName="IDX_AB_PERMCAL_PROCURER_ROWID">
             <column name="PERMISSIONPROCURER_ROWID"/>
         </createIndex>
-- 
GitLab


From 98a71ca5cf9c142e6feb73e922ce3a4245d6bb13 Mon Sep 17 00:00:00 2001
From: Tobias Feldmann <t.feldmann@adito.de>
Date: Wed, 28 Oct 2020 14:23:34 +0100
Subject: [PATCH 226/251] Notification_entity DB-RC changed to pageable

---
 entity/Notification_entity/Notification_entity.aod | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/entity/Notification_entity/Notification_entity.aod b/entity/Notification_entity/Notification_entity.aod
index 8dead6bc11..cf3203213a 100644
--- a/entity/Notification_entity/Notification_entity.aod
+++ b/entity/Notification_entity/Notification_entity.aod
@@ -175,8 +175,7 @@
     <dbRecordContainer>
       <name>db</name>
       <alias>_____SYSTEMALIAS</alias>
-      <maximumDbRows v="200" />
-      <isPageable v="false" />
+      <isPageable v="true" />
       <fromClauseProcess>%aditoprj%/entity/Notification_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
       <conditionProcess>%aditoprj%/entity/Notification_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Notification_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-- 
GitLab


From 60f50fdb4e4cfc89f38ae881aad628305b85021e Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 28 Oct 2020 14:55:50 +0100
Subject: [PATCH 227/251] Sql_lib case when

---
 process/Sql_lib/process.js | 217 +++++++++++++++++++++++++++++++++----
 1 file changed, 193 insertions(+), 24 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 3b2f720def..35b8799945 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -801,6 +801,26 @@ function SqlBuilder (pAlias)
     
     this._where = {};
     this._initWhere();
+    
+    SqlBuilder.defineCanBuildSql(this);
+}
+
+/**
+ * @return {Symbol}
+ */
+SqlBuilder.getCanBuildSqlSymbol = function ()
+{
+    return Symbol["for"]("canBuildSql");
+}
+
+SqlBuilder.defineCanBuildSql = function (pObject)
+{
+    pObject[SqlBuilder.getCanBuildSqlSymbol()] = true;
+}
+
+SqlBuilder.checkCanBuildSql = function (pObject)
+{
+    return pObject[SqlBuilder.getCanBuildSqlSymbol()];
 }
 
 /**
@@ -1097,11 +1117,11 @@ SqlBuilder.prototype.join = function(pTable, pCondition, pTableAlias, pPrefix, p
     if (pCondition)
     {
         if (pCondition instanceof SqlBuilder)
-            pCondition = [pCondition._where._sqlStorage, pCondition._where.preparedValues]
+            pCondition = [pCondition._where.sqlStorage, pCondition._where.preparedValues]
 
         var conditionPart = SqlBuilder._getStatement(pCondition);
 
-        joinPart._sqlStorage += " " + conditionPart._sqlStorage;
+        joinPart.sqlStorage += " " + conditionPart.sqlStorage;
         joinPart.preparedValues = joinPart.preparedValues.concat(conditionPart.preparedValues);
     }
     
@@ -1200,7 +1220,7 @@ SqlBuilder.prototype.where = function(pFieldOrCond, pValue, pCondition, pFieldTy
         
         copiedCondition._where.preparedValues = pFieldOrCond.preparedValues;
         copiedCondition._where._lastWasOr = pFieldOrCond._lastWasOr;
-        copiedCondition._where._sqlStorage = pFieldOrCond._sqlStorage;
+        copiedCondition._where.sqlStorage = pFieldOrCond.sqlStorage;
         
         pFieldOrCond = copiedCondition;
         
@@ -1351,7 +1371,7 @@ SqlBuilder.prototype._whereCondition = function(pCondition, pMandatory, pAddPrep
     if (sql instanceof SqlBuilder)
     {
         // add only brackets if needed
-        var sqlString = sql._where._sqlStorage;
+        var sqlString = sql._where.sqlStorage;
         
         
         var condString = sqlString;
@@ -1509,7 +1529,7 @@ SqlBuilder.prototype._addWhere = function(pFieldOrCond, pValue, pMandatory, pCon
                 
         var subSqlPrepared = pFieldOrCond.build();
         
-        tmpCond._where._sqlStorage = SqlUtils.replaceConditionTemplate(tmpCond._where._sqlStorage, 'SQL_LIB_DUMMY_TABLE.SQL_LIB_DUMMY_COLUMN', "( " + subSqlPrepared[0] + " )");
+        tmpCond._where.sqlStorage = SqlUtils.replaceConditionTemplate(tmpCond._where.sqlStorage, 'SQL_LIB_DUMMY_TABLE.SQL_LIB_DUMMY_COLUMN', "( " + subSqlPrepared[0] + " )");
         tmpCond._where.preparedValues = subSqlPrepared[1].concat(tmpCond._where.preparedValues)
         
         this._whereCondition(tmpCond, pMandatory, pAddPreparedConditionCallback, true)
@@ -1629,9 +1649,9 @@ SqlBuilder.prototype._and = function(pFieldOrCond, pValue, pMandatory, pConditio
         if (pPreparedCondition.length == 2 && typeof pPreparedCondition[0] == "string" && pPreparedCondition[0] != "" && Array.isArray(pPreparedCondition[1]))
         {
             if (that.hasCondition())
-                that._where._sqlStorage += " and ";
+                that._where.sqlStorage += " and ";
             
-            that._where._sqlStorage += pPreparedCondition[0];
+            that._where.sqlStorage += pPreparedCondition[0];
             that._where.preparedValues = that._where.preparedValues.concat(pPreparedCondition[1]);
         }
     });
@@ -1657,7 +1677,7 @@ SqlBuilder.prototype._or = function(pFieldOrCond, pValue, pMandatory, pCondition
         {   
             if (that._where._previouslyOnlyOr)
             {
-                that._where._sqlStorage = that._where._sqlStorage + " or " + pPreparedCondition[0];
+                that._where.sqlStorage = that._where.sqlStorage + " or " + pPreparedCondition[0];
                 that._where._lastWasOr = true;
             }
             else if (that.hasCondition())
@@ -1668,9 +1688,9 @@ SqlBuilder.prototype._or = function(pFieldOrCond, pValue, pMandatory, pCondition
                     cond = "(" + cond + ")";
                 
                 if (that._where._lastWasOr)
-                    that._where._sqlStorage = that._where._sqlStorage + " or " + cond;
+                    that._where.sqlStorage = that._where.sqlStorage + " or " + cond;
                 else
-                    that._where._sqlStorage = "(" + that._where._sqlStorage + ") or " + cond;
+                    that._where.sqlStorage = "(" + that._where.sqlStorage + ") or " + cond;
                 
                 that._where._lastWasOr = true;
             } 
@@ -1679,7 +1699,7 @@ SqlBuilder.prototype._or = function(pFieldOrCond, pValue, pMandatory, pCondition
                 if (!that.hasCondition())
                     that._where._previouslyOnlyOr = true;
                 
-                that._where._sqlStorage = pPreparedCondition[0];
+                that._where.sqlStorage = pPreparedCondition[0];
             }
             that._where.preparedValues = that._where.preparedValues.concat(pPreparedCondition[1]);
         }
@@ -2170,7 +2190,7 @@ SqlBuilder.prototype.having = function(pCondition)
  * @return {Boolean} true if conditions have been added, false when not
  */
 SqlBuilder.prototype.hasCondition = function() {
-    if (this._where._sqlStorage)
+    if (this._where.sqlStorage)
         return true;
     return false;
 }
@@ -2217,7 +2237,7 @@ SqlBuilder.prototype.clearWhere = function()
 SqlBuilder.prototype._initWhere = function ()
 {
     //TODO: maybe put conditions in an object/array for better internal object structure
-    this._where._sqlStorage = "";
+    this._where.sqlStorage = "";
     this._where.preparedValues = [];
     this._where._lastWasOr = false; // save, if the last condition was an OR. For better bracket-placement
     this._where._previouslyOnlyOr = false; // also for better bracket-placement
@@ -2329,24 +2349,22 @@ SqlBuilder._getStatement = function (pElement, pPrefix, pPostfix, pAutoJoin, pUs
     
     return {
         preparedValues: preparedValues,
-        _sqlStorage: pElement.toString()
+        sqlStorage: pElement.toString()
     };
 
     function _getElement (element)
     {
         var isSubQuery = false;
         var subselectAlias = "";
-        if (element instanceof SqlBuilder)
+        if (SqlBuilder.checkCanBuildSql(element))
         {
-            if (element.isFullSelect())
+            if (element instanceof SqlBuilder && element.isFullSelect())
             {
                 isSubQuery = true;
                 
                 if (pUseSubselectAlias && element._subselectAlias)
                     subselectAlias = " " + element._subselectAlias;
             }
-                
-                
             element = element.build();
         }
         preparedValues = preparedValues.concat(element[1]);
@@ -2363,7 +2381,7 @@ SqlBuilder._getStatement = function (pElement, pPrefix, pPostfix, pAutoJoin, pUs
  */
 SqlBuilder.prototype.buildCondition = function()
 {   
-    return [this._where._sqlStorage, this._where.preparedValues];
+    return [this._where.sqlStorage, this._where.preparedValues];
 }
 
 /**
@@ -2378,17 +2396,17 @@ SqlBuilder.prototype.build = function(pDefaultConditionIfNone)
     
     if (this.isFullSelect())
     {
-        if (this._where._sqlStorage)
+        if (this._where.sqlStorage)
             wherePrefix = "where ";
     }
     
-    var whereSql = this._where._sqlStorage;
+    var whereSql = this._where.sqlStorage;
     
     if (!this.hasCondition() && pDefaultConditionIfNone)
         whereSql = wherePrefix + pDefaultConditionIfNone;
     
     var whereObj = {
-        _sqlStorage : wherePrefix + whereSql,
+        sqlStorage : wherePrefix + whereSql,
         preparedValues : this._where.preparedValues
     }
     
@@ -2409,9 +2427,9 @@ SqlBuilder.prototype.build = function(pDefaultConditionIfNone)
         let part = allParts[i];
         if (part)
         {
-            if (sqlStr && part._sqlStorage)
+            if (sqlStr && part.sqlStorage)
                 sqlStr += " ";
-            sqlStr += part._sqlStorage;
+            sqlStr += part.sqlStorage;
             if (part.preparedValues.length)
                 preparedVals = preparedVals.concat(part.preparedValues);
         }
@@ -3057,6 +3075,157 @@ SqlBuilder.prototype.translate = function(pAlias)
     return SqlUtils.translateStatementWithQuotes(this.build(), pAlias);
 }
 
+/**
+ * Creates an object for building a case-when statement.
+ * 
+ * @param {String|String[]|SqlBuilder|PreparedSqlArray} [pFieldOrCond] If this is the only parameter, it is used as Subselect <br/>
+ *                                                                     else it is used as Field. <br/>
+ *                                                                     Please see .where() for more information and examples.
+ * @param {String|SqlBuilder|PreparedSqlArray|Array|OtherTypes} [pValue] This is the value whitch is used for the condition.<br/>
+ *                                                                       Basically it can be nearly everything you need.<br/>
+ *                                                                       Please see .where() for more information and examples.
+ * @param {String} [pCondition="# = ?"] This is the condition which should be used.<br/>
+ *                               # will be replaced by the field (pFieldOrCond) If pFieldOrCond is null, you can ommit #<br/>
+ *                               ? will be replaced by pValue<br/>
+ *                               <strong>IMPORTANT: the # has to be before the ?</strong><br/>
+ *                               Please see .where() for more information and examples.
+ * @param {SQLTYPES|Numeric} [pFieldType=AutomaticallyLoadedType] You can specify which datatype should be used for the prepared statement<br/>
+ *                                                                In most cases you don't need this.<br/>
+ *                                                                Please see .where() for more information and examples.
+ * 
+ * @return {SqlBuilder._CaseWhen}
+ */
+SqlBuilder.caseWhen = function (pFieldOrCond, pValue, pCondition, pFieldType)
+{
+    return new SqlBuilder._CaseStatement().when(pFieldOrCond, pValue, pCondition, pFieldType);
+}
+
+/**
+ * Represents a case-when statement
+ */
+SqlBuilder._CaseStatement = function ()
+{
+    this._whenCondition = null;
+    this._whenThens = [];
+    this._elseValue = null;
+    this._afterWhenMask = new SqlBuilder._CaseWhen(this);
+    SqlBuilder.defineCanBuildSql(this);
+}
+
+/**
+ * @param {String|String[]|SqlBuilder|PreparedSqlArray} [pFieldOrCond] If this is the only parameter, it is used as Subselect <br/>
+ *                                                                     else it is used as Field. <br/>
+ *                                                                     Please see .where() for more information and examples.
+ * @param {String|SqlBuilder|PreparedSqlArray|Array|OtherTypes} [pValue] This is the value whitch is used for the condition.<br/>
+ *                                                                       Basically it can be nearly everything you need.<br/>
+ *                                                                       Please see .where() for more information and examples.
+ * @param {String} [pCondition="# = ?"] This is the condition which should be used.<br/>
+ *                               # will be replaced by the field (pFieldOrCond) If pFieldOrCond is null, you can ommit #<br/>
+ *                               ? will be replaced by pValue<br/>
+ *                               <strong>IMPORTANT: the # has to be before the ?</strong><br/>
+ *                               Please see .where() for more information and examples.
+ * @param {SQLTYPES|Numeric} [pFieldType=AutomaticallyLoadedType] You can specify which datatype should be used for the prepared statement<br/>
+ *                                                                In most cases you don't need this.<br/>
+ *                                                                Please see .where() for more information and examples.
+ * 
+ * @return {SqlBuilder._CaseWhen}
+ */
+SqlBuilder._CaseStatement.prototype.when = function (pFieldOrCond, pValue, pCondition, pFieldType)
+{
+    this._whenCondition = newWhere(pFieldOrCond, pValue, pCondition, pFieldType);
+    return this._afterWhenMask;
+}
+
+/**
+ * Sets the expression used for the else-part
+ * 
+ * @param {String|SqlBuilder} pValue else-value
+ * @return {SqlBuilder._CaseStatement}
+ */
+SqlBuilder._CaseStatement.prototype.elseValue = function (pValue)
+{
+    this._elseValue = pValue;
+    return this;
+}
+
+/**
+ * Sets the value used for the else-part, but wraps the value in ''
+ * 
+ * @param {String} pValue else-value
+ * @return {SqlBuilder._CaseStatement}
+ */
+SqlBuilder._CaseStatement.prototype.elseString = function (pValue)
+{
+    return this.elseValue("'" + pValue + "'");
+}
+
+/**
+ * @return {String} the case-when expression
+ */
+SqlBuilder._CaseStatement.prototype.toString = function (pAlias)
+{
+    return db.translateStatement(this.build(), pAlias || db.getCurrentAlias());
+}
+
+SqlBuilder._CaseStatement.prototype.build = function ()
+{
+    var caseStatement = ["case"];
+    var preparedValues = [];
+    this._whenThens.forEach(function (whenThen)
+    {
+        var when = SqlBuilder._getStatement(whenThen.condition, "when");
+        var then = SqlBuilder._getStatement(whenThen.thenValue, "then");
+        caseStatement.push(when.sqlStorage);
+        caseStatement.push(then.sqlStorage);
+        preparedValues = preparedValues.concat(when.preparedValues, then.preparedValues);
+    });
+    if (this._elseValue)
+    {
+        let elseStatement = SqlBuilder._getStatement(this._elseValue, "else");
+        caseStatement.push(elseStatement.sqlStorage);
+        preparedValues = preparedValues.concat(elseStatement.preparedValues);
+    }
+    caseStatement.push("end");
+    
+    return [
+        caseStatement.join(" "),
+        preparedValues
+    ];
+}
+
+/**
+ * Object providing the then-methods for the case-when expression. It can be only be accessed after calling .when to ensure a 'then' 
+ * can only be added after a 'when'.
+ */
+SqlBuilder._CaseWhen = function (pCaseStatement)
+{
+    this._caseStatement = pCaseStatement;
+}
+
+/**
+ * Sets the expression for the then
+ * 
+ * @param {String|SqlBuilder} pValue then-value
+ * @return {SqlBuilder._CaseStatement}
+ */
+SqlBuilder._CaseWhen.prototype.then = function (pValue)
+{
+    var condition = this._caseStatement._whenCondition;
+    this._caseStatement._whenCondition = null;
+    this._caseStatement._whenThens.push({condition: condition, thenValue: pValue});
+    return this._caseStatement;
+}
+
+/**
+ * Sets the value for the then, but wraps the value in ''
+ * 
+ * @param {String} pValue then-value
+ * @return {SqlBuilder._CaseStatement}
+ */
+SqlBuilder._CaseWhen.prototype.thenString = function (pValue)
+{
+    return this.then("'" + pValue + "'");
+}
 
 /**
  *provides functions for masking sql functions
-- 
GitLab


From 977b1aa53ba28ac57643b704f3b77722872e031c Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 28 Oct 2020 14:40:37 +0000
Subject: [PATCH 228/251] [Projekt: Entwicklung - Neon][TicketNr.:
 1066929][Firma/Kontakt: Fehlermeldung beim Filtern nach Favoriten]

---
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favorites_filter/filterValuesProcess.js   |  4 +--
 .../favorites_filter/filterValuesProcess.js   |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favoritefilter/filterValuesProcess.js     |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 process/Favorites_lib/process.js              | 31 ++++++++++++++++++-
 13 files changed, 59 insertions(+), 22 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
index 0ebab765b8..419128ca73 100644
--- a/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
index 0ebab765b8..419128ca73 100644
--- a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
+++ b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 0ebab765b8..419128ca73 100644
--- a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/process/Favorites_lib/process.js b/process/Favorites_lib/process.js
index 04ae6f9b9e..d5e32f5145 100644
--- a/process/Favorites_lib/process.js
+++ b/process/Favorites_lib/process.js
@@ -55,4 +55,33 @@ FavoritesUtil.getRowIdsOfFavoriteGroup = function()
     
     return null;
 }
-    
\ No newline at end of file
+    
+FavoritesUtil.getUserFavoriteGroupsByContext = function(pContext)
+{
+    var allTypes = [];
+    var alias = favorite.getFavoritesAlias();
+
+    var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()[tools.NAME], null, null, alias);
+
+    var idsOfContext = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORD.RECORDGROUP_ID")
+                            .from("ASYS_RECORD")
+                            .where("ASYS_RECORD.OBJECT_TYPE", pContext)
+                            .arrayColumn();
+
+    var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
+                            .from("ASYS_RECORDGROUP")
+                            .where(filterCond)
+                            .and("ASYS_RECORDGROUP.ID", idsOfContext, SqlBuilder.IN())
+                            .arrayColumn();
+    
+    for(var i = 0; i < groupNames.length; i++)
+    {
+        if(groupNames[i].equals("Default"))
+           allTypes.push([groupNames[i], translate.text(groupNames[i])]);
+        else
+           allTypes.push([groupNames[i], groupNames[i]]); 
+    }
+
+    return allTypes;
+        
+}
\ No newline at end of file
-- 
GitLab


From 0c5cee0ed39f4c57e4d8b312779137e8c51e1936 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 28 Oct 2020 14:44:02 +0000
Subject: [PATCH 229/251] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][Tic?=
 =?UTF-8?q?ketNr.:=201067033][[PRODUCT]=20L=C3=B6schen=20nicht=20m=C3=B6gl?=
 =?UTF-8?q?ich]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Product_entity/Product_entity.aod              |  1 +
 .../Product_entity/recordcontainers/db/onDBDelete.js  | 11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 5fbf1ca2f5..2a6662b6f7 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -13,6 +13,7 @@
   <useFavorites v="true" />
   <iconId>VAADIN:HAMMER</iconId>
   <imageProcess>%aditoprj%/entity/Product_entity/imageProcess.js</imageProcess>
+  <usePermissions v="true" />
   <titlePlural>Products</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
diff --git a/entity/Product_entity/recordcontainers/db/onDBDelete.js b/entity/Product_entity/recordcontainers/db/onDBDelete.js
index 7fe2819a4d..ebe4863537 100644
--- a/entity/Product_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Product_entity/recordcontainers/db/onDBDelete.js
@@ -1,18 +1,21 @@
+import("system.vars");
 import("Workflow_lib");
 import("Context_lib");
 import("Sql_lib");
 import("Attribute_lib");
 
-newWhereIfSet("PROD2PROD.DEST_ID", "$field.PRODUCTID")
+var productId = vars.get("$local.uid");
+
+newWhereIfSet("PROD2PROD.DEST_ID", productId)
     .deleteData();
     
-newWhereIfSet("PROD2PROD.SOURCE_ID", "$field.PRODUCTID")
+newWhereIfSet("PROD2PROD.SOURCE_ID", productId)
     .deleteData();
     
-newWhereIfSet("PRODUCTPRICE.PRODUCT_ID", "$field.PRODUCTID")
+newWhereIfSet("PRODUCTPRICE.PRODUCT_ID", productId)
     .deleteData();
     
-newWhereIfSet("STOCK.PRODUCT_ID", "$field.PRODUCTID")
+newWhereIfSet("STOCK.PRODUCT_ID", productId)
     .deleteData();
     
 new AttributeRelationQuery(productId, null, ContextUtils.getCurrentContextId())
-- 
GitLab


From 45ed77682851deb985484baa00698423fa9baafe Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 29 Oct 2020 10:07:11 +0100
Subject: [PATCH 230/251] 1067997 Liquibase fix for MariaDB

---
 .../alter_DocumentTemplatePlaceOfUseDatatype.xml                | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
index 3724971864..a6e5c99db4 100644
--- a/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
+++ b/.liquibase/Data_alias/basic/2020.1.2/AlterDatatypeOfKeyColumnsToChar/alter_DocumentTemplatePlaceOfUseDatatype.xml
@@ -15,7 +15,7 @@
     
     <changeSet dbms="!derby" author="b.ulrich" id="85ba6a61-9318-4118-ac4c-e33730f6581d">
         <dropPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" dropIndex="true"/>
-        <dropNotNullConstraint tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID"/>
+        <dropNotNullConstraint tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID" columnDataType="VARCHAR(36)"/>
         <modifyDataType tableName="DOCUMENTTEMPLATE" columnName="DOCUMENTTEMPLATEID" newDataType="CHAR(36)"/>
         <addNotNullConstraint columnName="DOCUMENTTEMPLATEID" tableName="DOCUMENTTEMPLATE" columnDataType="CHAR(36)" validate="true"/>
         <addPrimaryKey tableName="DOCUMENTTEMPLATE" constraintName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID" columnNames="DOCUMENTTEMPLATEID"/>
-- 
GitLab


From d23d40b9a92ee6189dae202c4605c29f794e442d Mon Sep 17 00:00:00 2001
From: "M.Bilda" <m.bilda@adito.de>
Date: Thu, 29 Oct 2020 10:31:55 +0100
Subject: [PATCH 231/251] Rename Entity with _entity

---
 entity/Document_entity/Document_entity.aod    | 88 +++++++++----------
 .../UserhelpResources_entity.aod}             | 18 ++--
 .../documentation.adoc                        |  0
 .../assignmentrowid_param/valueProcess.js     |  0
 .../assignmenttable_param/valueProcess.js     |  0
 neonContext/Userhelp/Userhelp.aod             |  2 +-
 6 files changed, 54 insertions(+), 54 deletions(-)
 rename entity/{UserhelpResources/UserhelpResources.aod => UserhelpResources_entity/UserhelpResources_entity.aod} (70%)
 rename entity/{UserhelpResources => UserhelpResources_entity}/documentation.adoc (100%)
 rename entity/{UserhelpResources => UserhelpResources_entity}/entityfields/documents/children/assignmentrowid_param/valueProcess.js (100%)
 rename entity/{UserhelpResources => UserhelpResources_entity}/entityfields/documents/children/assignmenttable_param/valueProcess.js (100%)

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 420157a371..cba9173b17 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -144,6 +144,26 @@
     <entityProvider>
       <name>Documents</name>
       <recordContainer>jdito</recordContainer>
+      <children>
+        <entityParameter>
+          <name>AssignmentName_param</name>
+          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+          <documentation>%aditoprj%/entity/Document_entity/entityfields/documents/children/assignmentname_param/documentation.adoc</documentation>
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>Keyword_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>1eae1907-53ea-4d6f-bcf1-772052365020</name>
@@ -225,7 +245,7 @@
         </entityDependency>
         <entityDependency>
           <name>2e6fcf27-ee98-4f7d-a99d-7ce02774076b</name>
-          <entityName>UserhelpResources</entityName>
+          <entityName>UserhelpResources_entity</entityName>
           <fieldName>Documents</fieldName>
           <isConsumer v="false" />
         </entityDependency>
@@ -242,12 +262,23 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+    </entityProvider>
+    <entityProvider>
+      <name>MainDocuments</name>
+      <recordContainer>jdito</recordContainer>
       <children>
+        <entityParameter>
+          <name>Keyword_param</name>
+          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/keyword_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+          <mandatory v="true" />
+          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
+        </entityParameter>
         <entityParameter>
           <name>AssignmentName_param</name>
-          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/valueProcess.js</valueProcess>
           <expose v="true" />
-          <documentation>%aditoprj%/entity/Document_entity/entityfields/documents/children/assignmentname_param/documentation.adoc</documentation>
+          <documentation>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc</documentation>
         </entityParameter>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -258,14 +289,10 @@
           <expose v="true" />
         </entityParameter>
         <entityParameter>
-          <name>Keyword_param</name>
-          <expose v="true" />
+          <name>DisallowCreate_param</name>
+          <expose v="false" />
         </entityParameter>
       </children>
-    </entityProvider>
-    <entityProvider>
-      <name>MainDocuments</name>
-      <recordContainer>jdito</recordContainer>
       <dependencies>
         <entityDependency>
           <name>87d738a5-5d5e-425e-b013-007371475a38</name>
@@ -310,33 +337,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>Keyword_param</name>
-          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/keyword_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-          <mandatory v="true" />
-          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentName_param</name>
-          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-          <documentation>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc</documentation>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentRowId_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentTable_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>DisallowCreate_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>DisallowCreate_param</name>
@@ -346,14 +346,6 @@
     <entityProvider>
       <name>SingleDocument</name>
       <titlePlural>Document</titlePlural>
-      <dependencies>
-        <entityDependency>
-          <name>91f87622-d0e8-43c6-99a0-5f9cebf79aaf</name>
-          <entityName>SerialLetter_entity</entityName>
-          <fieldName>Documents</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>AssignmentName_param</name>
@@ -365,6 +357,14 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>91f87622-d0e8-43c6-99a0-5f9cebf79aaf</name>
+          <entityName>SerialLetter_entity</entityName>
+          <fieldName>Documents</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityProvider>
       <name>#PROVIDER_AGGREGATES</name>
diff --git a/entity/UserhelpResources/UserhelpResources.aod b/entity/UserhelpResources_entity/UserhelpResources_entity.aod
similarity index 70%
rename from entity/UserhelpResources/UserhelpResources.aod
rename to entity/UserhelpResources_entity/UserhelpResources_entity.aod
index 7775d3fd5a..32f253d411 100644
--- a/entity/UserhelpResources/UserhelpResources.aod
+++ b/entity/UserhelpResources_entity/UserhelpResources_entity.aod
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
-  <name>UserhelpResources</name>
+  <name>UserhelpResources_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <documentation>%aditoprj%/entity/UserhelpResources/documentation.adoc</documentation>
+  <documentation>%aditoprj%/entity/UserhelpResources_entity/documentation.adoc</documentation>
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
@@ -12,21 +12,21 @@
     </entityField>
     <entityConsumer>
       <name>Documents</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentTable_param</name>
-          <valueProcess>%aditoprj%/entity/UserhelpResources/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/UserhelpResources_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>AssignmentRowId_param</name>
-          <valueProcess>%aditoprj%/entity/UserhelpResources/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/UserhelpResources_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>#PROVIDER_AGGREGATES</name>
diff --git a/entity/UserhelpResources/documentation.adoc b/entity/UserhelpResources_entity/documentation.adoc
similarity index 100%
rename from entity/UserhelpResources/documentation.adoc
rename to entity/UserhelpResources_entity/documentation.adoc
diff --git a/entity/UserhelpResources/entityfields/documents/children/assignmentrowid_param/valueProcess.js b/entity/UserhelpResources_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
similarity index 100%
rename from entity/UserhelpResources/entityfields/documents/children/assignmentrowid_param/valueProcess.js
rename to entity/UserhelpResources_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
diff --git a/entity/UserhelpResources/entityfields/documents/children/assignmenttable_param/valueProcess.js b/entity/UserhelpResources_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
similarity index 100%
rename from entity/UserhelpResources/entityfields/documents/children/assignmenttable_param/valueProcess.js
rename to entity/UserhelpResources_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
diff --git a/neonContext/Userhelp/Userhelp.aod b/neonContext/Userhelp/Userhelp.aod
index 435de68c2c..057b38dda4 100644
--- a/neonContext/Userhelp/Userhelp.aod
+++ b/neonContext/Userhelp/Userhelp.aod
@@ -3,7 +3,7 @@
   <name>Userhelp</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterView>Userhelp_FilterView</filterView>
-  <entity>UserhelpResources</entity>
+  <entity>UserhelpResources_entity</entity>
   <references>
     <neonViewReference>
       <name>2a1dd62b-0f30-442b-aa1d-969b46312d2a</name>
-- 
GitLab


From 713f11a1f22a3fb7ec7c646ba670005cdca3fab2 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Thu, 29 Oct 2020 17:23:28 +0100
Subject: [PATCH 232/251] 1067663 support for oracle db

---
 .../hascommrestriction.value/expression.js    |  4 ++--
 .../status.displayvalue/expression.js         | 11 +++-------
 .../targetcontext.value/expression.js         |  8 +++----
 .../activities/filterConditionProcess.js      | 11 +++++++---
 .../recordcontainers/jdito/onUpdate.js        |  6 ++---
 .../activities/filterConditionProcess.js      | 11 +++++++---
 .../targetcontext.value/expression.js         |  8 +++----
 .../activities/filterConditionProcess.js      | 11 +++++++---
 .../entityfields/product_id/onValueChange.js  |  2 +-
 .../groupQueryProcess.js                      |  3 ++-
 .../groupQueryProcess.js                      | 19 +++++++++-------
 .../recordcontainers/jdito/contentProcess.js  |  2 +-
 .../activities/filterConditionProcess.js      | 11 +++++++---
 .../recordcontainers/jdito/contentProcess.js  |  8 ++++++-
 .../groupQueryProcess.js                      | 22 +++++++++++--------
 .../activities/filterConditionProcess.js      | 11 +++++++---
 .../recordcontainers/jdito/contentProcess.js  | 12 +++++-----
 .../recordcontainers/jdito/contentProcess.js  |  2 +-
 process/Contact_lib/process.js                |  2 +-
 process/Context_lib/process.js                |  4 ++--
 process/Leadimport_lib/process.js             |  2 +-
 process/ObjectRelation_lib/process.js         |  1 +
 process/Offer_lib/process.js                  |  2 +-
 process/Sql_lib/process.js                    |  2 +-
 process/Turnover_lib/process.js               |  2 +-
 process/Workflow_lib/process.js               |  9 +++++---
 26 files changed, 112 insertions(+), 74 deletions(-)

diff --git a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
index 3020cb618c..04cd6d4dc9 100644
--- a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
+++ b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
@@ -5,5 +5,5 @@ import("system.db");
 import("system.result");
 
 var commRestrictionCond = ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$mail());
-var sql = "case when (" + commRestrictionCond.toString() + ") then 'true' else 'false' end";
-result.string(sql);
+var sql = SqlBuilder.caseWhen(commRestrictionCond).thenString("true").elseString("false");
+result.string(sql.toString());
diff --git a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
index 115c35f85e..49b6fefd59 100644
--- a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
+++ b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -1,17 +1,12 @@
 import("Sql_lib");
 import("Contact_lib");
 import("system.translate");
-import("system.db");
-import("Bulkmail_lib");
 import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var commRestrictionCond = ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$mail()).build();
+var commRestrictionCond = ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$mail());
 var keywordSql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.bulkMailRecipientStatus(), "BULKMAILRECIPIENT.STATUS");
 
-// TODO: is prepared possible?
-var sql = "case when (" + SqlUtils.translateStatementWithQuotes(commRestrictionCond)
-    + ") then '" + translate.text("Advertising ban")
-    + "' else (" + keywordSql + ") end";
-result.string(sql);
+var sql = SqlBuilder.caseWhen(commRestrictionCond).thenString(translate.text("Advertising ban")).elseValue(keywordSql);
+result.string(sql.toString());
diff --git a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
index 9bac722a3f..5247fde75b 100644
--- a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
+++ b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
@@ -1,7 +1,7 @@
+import("Sql_lib");
 import("Context_lib");
 import("system.result");
 
-// TODO: is prepared possible?
-result.string("case when PERSON_ID is null then '" + ContextUtils.getContextName("Organisation")
-    + "' when CONTACT.ORGANISATION_ID is not null and CONTACT.PERSON_ID is not null then '" + ContextUtils.getContextName("Person") 
-    + "' else '' end");
\ No newline at end of file
+var sql = SqlBuilder.caseWhen("PERSON_ID is null").thenString(ContextUtils.getContextName("Organisation"))
+    .when(newWhere("CONTACT.ORGANISATION_ID is not null").and("CONTACT.PERSON_ID is not null")).thenString(ContextUtils.getContextName("Person"))
+result.string(sql.toString());
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index fa780bd3a9..dd188aaf77 100644
--- a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -1,6 +1,11 @@
+import("Context_lib");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
+//!LibFunction
+var cond = newWhere(null, newSelect("ACTIVITYLINK.OBJECT_ROWID").from("ACTIVITYLINK")
+    .join("ACTIVITY", newWhere("ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID")
+        .and("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()))
+    .where(vars.get("$local.condition")), SqlBuilder.EXISTS());
 
-var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Campaign'";
-
-result.string("CAMPAIGNID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/ClassificationAdmin_entity/recordcontainers/jdito/onUpdate.js b/entity/ClassificationAdmin_entity/recordcontainers/jdito/onUpdate.js
index 43a6304543..ea803f184c 100644
--- a/entity/ClassificationAdmin_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/ClassificationAdmin_entity/recordcontainers/jdito/onUpdate.js
@@ -178,7 +178,7 @@ function _update()
             }
         }
 
-        cond = newWhereIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID = '" + text.decodeMS(uid)[1] + "'");
+        cond = newWhereIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONTYPEID", text.decodeMS(uid)[1]);
         columns.push("SCORETYPE");
         values.push(vars.get("$field.CLASSIFICATIONTYPEIDDISPLAYVALUE"));
         cond.updateData(true, table, columns, null, values);
@@ -195,13 +195,13 @@ function _update()
                                                 .where("CLASSIFICATIONGROUP.CLASSIFICATIONGROUPID", id)
                                                 .cell();
 
-        cond = newWhereIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP_ID = '" + classificationGroupId + "'");
+        cond = newWhereIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP_ID", classificationGroupId);
 
         var groupTable = "CLASSIFICATIONGROUP";
         var groupColumns = ["SORTING", "TITLE"];
         var groupName = rowdata["CLASSIFICATIONGROUP.value"] == classificationGroupId ? rowdata["CLASSIFICATIONGROUP.displayValue"] : rowdata["CLASSIFICATIONGROUP.value"];
         var groupValues = [vars.get("$field.SORTING"), groupName];
-        var groupCond = newWhereIfSet("CLASSIFICATIONGROUP.CLASSIFICATIONGROUPID = '" + classificationGroupId + "'");
+        var groupCond = newWhereIfSet("CLASSIFICATIONGROUP.CLASSIFICATIONGROUPID", classificationGroupId);
         groupCond.updateData(true, groupTable, groupColumns, null, groupValues);
     }
 }
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index c219727240..dd188aaf77 100644
--- a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -1,6 +1,11 @@
+import("Context_lib");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
+//!LibFunction
+var cond = newWhere(null, newSelect("ACTIVITYLINK.OBJECT_ROWID").from("ACTIVITYLINK")
+    .join("ACTIVITY", newWhere("ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID")
+        .and("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()))
+    .where(vars.get("$local.condition")), SqlBuilder.EXISTS());
 
-var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Contract'";
-
-result.string("CONTRACTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js b/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
index 9bac722a3f..b9a588dfe8 100644
--- a/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
+++ b/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/targetcontext.value/expression.js
@@ -1,7 +1,7 @@
+import("Sql_lib");
 import("Context_lib");
 import("system.result");
 
-// TODO: is prepared possible?
-result.string("case when PERSON_ID is null then '" + ContextUtils.getContextName("Organisation")
-    + "' when CONTACT.ORGANISATION_ID is not null and CONTACT.PERSON_ID is not null then '" + ContextUtils.getContextName("Person") 
-    + "' else '' end");
\ No newline at end of file
+var sql = SqlBuilder.caseWhen("PERSON_ID is null").thenString(ContextUtils.getContextName("Organisation"))
+    .when(newWhere("CONTACT.ORGANISATION_ID is not null").and("CONTACT.PERSON_ID is not null")).thenString(ContextUtils.getContextName("Person"));
+result.string(sql.toString());
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index 9a3d044805..dd188aaf77 100644
--- a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -1,6 +1,11 @@
+import("Context_lib");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
+//!LibFunction
+var cond = newWhere(null, newSelect("ACTIVITYLINK.OBJECT_ROWID").from("ACTIVITYLINK")
+    .join("ACTIVITY", newWhere("ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID")
+        .and("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()))
+    .where(vars.get("$local.condition")), SqlBuilder.EXISTS());
 
-var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Offer'";
-
-result.string("OFFERID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
index 3a5de6feab..8ff2c78442 100644
--- a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
+++ b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
@@ -21,7 +21,7 @@ if(pid != "")
     var productInfoSubSql = newSelect("DESCRIPTION")
         .from("DESCRIPTIONTRANSLATION")
         .whereIfSet("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "$local.value")
-        .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE = 'Product'")
+        .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "Product")
         .andIfSet("DESCRIPTIONTRANSLATION.LANG", "$param.Language_param")
         .toString();
     var ProductDetails = ProductUtils.getProductDetails(pid, PriceListFilter, 
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js
index 768e6ca750..aad0c1782f 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationgroup_filter/groupQueryProcess.js
@@ -13,7 +13,8 @@ var name = vars.get("$local.name");
 var stmt = newSelect(isCount ? groupedColumns : columns)
     .from("ORGANISATION")
     .join("CONTACT", "ORGANISATIONID = ORGANISATION_ID  and PERSON_ID is null")
-    .leftJoin("CLASSIFICATIONSTORAGE", "CLASSIFICATIONSTORAGE.OBJECT_ROWID = CONTACT.CONTACTID and OBJECT_TYPE = 'Organisation'")
+    .leftJoin("CLASSIFICATIONSTORAGE", newWhere("CLASSIFICATIONSTORAGE.OBJECT_ROWID = CONTACT.CONTACTID")
+        .and("CLASSIFICATIONSTORAGE.OBJECT_TYPE", "Organisation"))
 
 if (condition)
 {
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
index ccf8f498ce..a4e9edc5b2 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
@@ -11,15 +11,18 @@ var groupedColumns = vars.get("$local.groupedlist") // The coloumns, used for gr
 var order = vars.get("$local.order");               // The order of the result
 var classificationId = vars.get("$local.name");
 classificationId = classificationId.slice(classificationId.lastIndexOf(".") + 1, classificationId.length);
-var valuefield = "''"
-var stmt = "";
 
-stmt = newSelect(isCount ? "1" : columns)
+var sql = newSelect(isCount ? "1" : columns)
                     .from("ORGANISATION")
                     .join("CONTACT", "ORGANISATIONID = ORGANISATION_ID  and PERSON_ID is null")
-                    .leftJoin("CLASSIFICATION", "CLASSIFICATION.OBJECT_ROWID = CONTACT.CONTACTID and OBJECT_TYPE = 'Organisation' and CLASSIFICATION.CLASSIFICATIONTYPE_ID = '" + classificationId + "' ")
-                    .leftJoin("CLASSIFICATIONSCORE", "CLASSIFICATIONSCOREID = CLASSIFICATION.CLASSIFICATIONSCORE_ID " +  (condition != "  " ? " WHERE " + condition : ""))
-                    .groupBy(groupedColumns + (order != null && !isCount ? " ORDER BY " + order : ""))
-                    .toString();
+                    .leftJoin("CLASSIFICATION", newWhere("CLASSIFICATION.OBJECT_ROWID = CONTACT.CONTACTID")
+                        .and("CLASSIFICATION.OBJECT_TYPE", "Organisation")
+                        .and("CLASSIFICATION.CLASSIFICATIONTYPE_ID", classificationId))
+                    .leftJoin("CLASSIFICATIONSCORE", "CLASSIFICATIONSCOREID = CLASSIFICATION.CLASSIFICATIONSCORE_ID")
+                    .whereIfSet(condition.trim())
+                    .groupBy(groupedColumns);
 
-result.string(stmt);
\ No newline at end of file
+if (order != null && !isCount)
+    sql.orderBy(order);
+
+result.string(sql.toString());
\ No newline at end of file
diff --git a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
index 0a21aef128..293144a251 100644
--- a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
@@ -74,7 +74,7 @@ for each (var entry in rolesOrEntities) { // entry contains either a role or an
                                 .select("ASYS_PERMISSIONSETID")
                                 .from("ASYS_PERMISSIONSET")
                                 .where("ASYS_PERMISSIONSET.ASYS_PERMISSIONSET_ID", entityPermSetId)
-                                .and("ACCESSTYPE = 'R'")
+                                .and("ASYS_PERMISSIONSET.ACCESSTYPE", "R")
                                 .arrayColumn();
 
         currOverview = [entityPermSetId, entry, "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE"];
diff --git a/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index b8141bc3b7..dd188aaf77 100644
--- a/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -1,6 +1,11 @@
+import("Context_lib");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
+//!LibFunction
+var cond = newWhere(null, newSelect("ACTIVITYLINK.OBJECT_ROWID").from("ACTIVITYLINK")
+    .join("ACTIVITY", newWhere("ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID")
+        .and("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()))
+    .where(vars.get("$local.condition")), SqlBuilder.EXISTS());
 
-var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Product'";
-
-result.string("PRODUCTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
index 95781d3251..2f3dad2864 100644
--- a/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/SalesprojectConversionRate_entity/recordcontainers/jdito/contentProcess.js
@@ -37,7 +37,13 @@ if (filter != null)
             })).length > 0
         })[0];
         phasenFilter.operator = "OR";
-        let pre = newSelect("PRE.KEYID").from("AB_KEYWORD_ENTRY").join("AB_KEYWORD_ENTRY", "AB_KEYWORD_ENTRY.SORTING -1 = PRE.SORTING", "PRE").where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase()).and("PRE.CONTAINER = '" + $KeywordRegistry.salesprojectPhase() + "'").and("AB_KEYWORD_ENTRY.KEYID", phasenFilter.childs[0].value).cell()
+        let pre = newSelect("PRE.KEYID")
+            .from("AB_KEYWORD_ENTRY")
+            .join("AB_KEYWORD_ENTRY", "AB_KEYWORD_ENTRY.SORTING -1 = PRE.SORTING", "PRE")
+            .where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.salesprojectPhase())
+            .and(["AB_KEYWORD_ENTRY", "CONTAINER", "PRE"], $KeywordRegistry.salesprojectPhase())
+            .and("AB_KEYWORD_ENTRY.KEYID", phasenFilter.childs[0].value)
+            .cell()
         if (pre != "") {
             let temp = JSON.parse(JSON.stringify(phasenFilter.childs[0]));
             temp.value = temp.key  = pre;
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
index 524e35692a..cf3462e69d 100644
--- a/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/classificationtype_filter/groupQueryProcess.js
@@ -10,13 +10,17 @@ var groupedColumns = vars.get("$local.groupedlist") // The coloumns, used for gr
 var order = vars.get("$local.order");               // The order of the result
 var classificationId = vars.get("$local.name");
 classificationId = classificationId.slice(classificationId.lastIndexOf(".") + 1, classificationId.length);
-var valuefield = "''"
-var stmt = "";
 
-stmt = newSelect(isCount ? "1" : columns)
-                    .from("SALESPROJECT")
-                    .leftJoin("CLASSIFICATION", "CLASSIFICATION.OBJECT_ROWID = SALESPROJECT.SALESPROJECTID and CLASSIFICATION.OBJECT_TYPE = 'Salesproject' and CLASSIFICATION.CLASSIFICATIONTYPE_ID = '" + classificationId + "' ")
-                    .leftJoin("CLASSIFICATIONSCORE", "CLASSIFICATIONSCORE.CLASSIFICATIONSCOREID = CLASSIFICATION.CLASSIFICATIONSCORE_ID" +  (condition != "  " ? " WHERE " + condition : ""))
-                    .groupBy(groupedColumns + (order != null && !isCount ? " ORDER BY " + order : ""))
-                    .toString();
-result.string(stmt);
\ No newline at end of file
+var sql = newSelect(isCount ? "1" : columns)
+    .from("SALESPROJECT")
+    .leftJoin("CLASSIFICATION", newWhere("CLASSIFICATION.OBJECT_ROWID = SALESPROJECT.SALESPROJECTID")
+        .and("CLASSIFICATION.OBJECT_TYPE", "Salesproject")
+        .and("CLASSIFICATION.CLASSIFICATIONTYPE_ID", classificationId))
+    .leftJoin("CLASSIFICATIONSCORE", "CLASSIFICATIONSCORE.CLASSIFICATIONSCOREID = CLASSIFICATION.CLASSIFICATIONSCORE_ID")
+    .whereIfSet(condition.trim())
+    .groupBy(groupedColumns);
+
+if (order != null && !isCount)
+    sql.orderBy(order);
+                    
+result.string(sql.toString());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index 3a8b1fd9f8..dd188aaf77 100644
--- a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -1,6 +1,11 @@
+import("Context_lib");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
+//!LibFunction
+var cond = newWhere(null, newSelect("ACTIVITYLINK.OBJECT_ROWID").from("ACTIVITYLINK")
+    .join("ACTIVITY", newWhere("ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID")
+        .and("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()))
+    .where(vars.get("$local.condition")), SqlBuilder.EXISTS());
 
-var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Salesproject'";
-
-result.string("SALESPROJECTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
+result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/VisitPlanEntry_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitPlanEntry_entity/recordcontainers/jdito/contentProcess.js
index ce8bb62314..ae8d3918ed 100644
--- a/entity/VisitPlanEntry_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/VisitPlanEntry_entity/recordcontainers/jdito/contentProcess.js
@@ -46,19 +46,19 @@ if(entryData.length > 0)
 {
     for(var i = 0; i < entryData.length; i++)
     {
-        var entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisationContact_id, contact_id, status, visitplanemployeeweek_id, appointmentid;
-        [entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisationContact_id, contact_id, status, visitplanemployeeweek_id, appointmentid] = entryData[i]
+        var entryDateRaw, visitPlanEntryId, beginTime, endTime, organisationContactId, contactId, status, visitplanEmployeeWeekId, appointmentid;
+        [entryDateRaw, visitPlanEntryId, beginTime, endTime, organisationContactId, contactId, status, visitplanEmployeeWeekId, appointmentid] = entryData[i]
         
-        var contactname = db.cell(PersUtils.getResolvingDisplaySubSql("'" + contact_id + "'"));
-        var orgname = OrganisationUtils.getNameByContactId(organisationContact_id);
+        var contactname = ContactUtils.getTitleByContactId(contactId);
+        var orgname = OrganisationUtils.getNameByContactId(organisationContactId);
         var parentName = translate.text(datetime.toDate(entryDateRaw, "EEEE"));
         entryDate = datetime.toDate(entryDateRaw, "dd.MM.yyyy");
 
         var statusDisplay = KeywordUtils.getViewValue($KeywordRegistry.visitPlanEntryStatus(), status)
         var alias = SqlUtils.getSystemAlias();
 
-        items.push([visitPlanEntryId, false, parentName + "#" + entryDate, "",  beginn_time
-            , end_time, organisationContact_id, orgname, contact_id, contactname, entryDateRaw, status, visitplanemployeeweek_id, appointmentid, statusDisplay]);
+        items.push([visitPlanEntryId, false, parentName + "#" + entryDate, "",  beginTime
+            , endTime, organisationContactId, orgname, contactId, contactname, entryDateRaw, status, visitplanEmployeeWeekId, appointmentid, statusDisplay]);
 
         if(!vars.get("$local.idvalues"))
         {
diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
index 7effd511c0..42fecc4e3d 100644
--- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
@@ -271,7 +271,7 @@ function _getPrioByDueDateSubSql (pDueDateField, pPriorityField)
 {
     var currentDate = datetime.date();
     var sqlMasker = new SqlMaskingUtils();
-    
+    //!SqlBuilder
     var subSql = "case when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$critical()
         + "' when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$veryHigh()
         + "' when " + pDueDateField + " < ? then '" + $KeywordRegistry.visitRecommendationPriority$high()
diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js
index 627ec11b14..1d8216d36f 100644
--- a/process/Contact_lib/process.js
+++ b/process/Contact_lib/process.js
@@ -528,7 +528,7 @@ ContactUtils.getActiveCommRestrictionsSubselect = function()
                             .and(newWhere()
                                     .or("COMMRESTRICTION.CONTACT_ID = CONTACT.CONTACTID")
                                     .or("COMMRESTRICTION.CONTACT_ID", orgContactSubselect));
-
+        //!SqlBuilder
         parts.push("case when exists(" + subquery.toString() + ") then '" + pMedium[1] + "' else '' end");
     })
 
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 31d6082843..f0e62195ad 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -497,7 +497,7 @@ ContextUtils.getSelectMap  = function()
     return {
             "Organisation": ContextSelector.create("ORGANISATION", "CONTACT.CONTACTID", "ORGANISATION.NAME")
                                        .setJoinExpression("join CONTACT on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and CONTACT.PERSON_ID is null")
-                                       .setCondition(newWhere("ORGANISATION.ORGANISATIONID != '0'"))
+                                       .setCondition(newWhere("ORGANISATION.ORGANISATIONID", "0", SqlBuilder.NOT_EQUAL()))
                                        .setSubContexts({
                                            "Person": [newSelect("CONTACTID").from("CONTACT").where("PERSON_ID is not null"), "CONTACT.ORGANISATION_ID", ["Offer", "Order", "Contract", "SupportTicket"]]
                                        })
@@ -608,7 +608,7 @@ ContextUtils.getSelectMap  = function()
 ContextUtils.getNameSubselectSql = function(pContextIdDbField, pRowIdDbField)
 {
     // TODO: prepared?
-    
+    //!SqlBuilder
     var select = "(case " + pContextIdDbField + " ";
 
     var selectMap = ContextUtils.getSelectMap ()
diff --git a/process/Leadimport_lib/process.js b/process/Leadimport_lib/process.js
index ea0f5c14c0..de9d13b2c7 100644
--- a/process/Leadimport_lib/process.js
+++ b/process/Leadimport_lib/process.js
@@ -794,7 +794,7 @@ LeadImportUtils.getLeadAttr = function(pImportDefID)
                     .from("AB_ATTRIBUTERELATION")
                     .join("AB_ATTRIBUTEUSAGE", "AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")
                     .where("AB_ATTRIBUTERELATION.OBJECT_ROWID", pImportDefID)
-                    .and("AB_ATTRIBUTERELATION.OBJECT_TYPE = 'Leadimport'")
+                    .and("AB_ATTRIBUTERELATION.OBJECT_TYPE", "Leadimport")
                     .table()
     };
 }
diff --git a/process/ObjectRelation_lib/process.js b/process/ObjectRelation_lib/process.js
index 93063469bb..c99e232241 100644
--- a/process/ObjectRelation_lib/process.js
+++ b/process/ObjectRelation_lib/process.js
@@ -37,6 +37,7 @@ ObjectRelationUtils.getPossibleRelationTypes = function(pObjectTypes, pFullInfo,
     // only id and title:
     if (pFullInfo)
     {
+        //!SqlBuilder
         fields = fields.concat([
             "main.RELATION_TYPE",
             "case when type2.AB_OBJECTRELATIONTYPEID is null then 'same' \n\
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index 7c9504fa26..f5a8cd0138 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -502,7 +502,7 @@ OfferItemUtils.prototype.insertPartsList = function(pProductId, pAssignedTo, pCu
                             "( " + newSelect("DESCRIPTION")
                                 .from("DESCRIPTIONTRANSLATION")
                                 .where("DESCRIPTIONTRANSLATION.OBJECT_ROWID = PRODUCT.PRODUCTID")
-                                .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE = 'Product'")
+                                .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "Product")
                                 .and("DESCRIPTIONTRANSLATION.LANG", pLanguage)
                                 .toString() + ")"]]]]);
                                   
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 35b8799945..49bcb6bfc9 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3167,7 +3167,7 @@ SqlBuilder._CaseStatement.prototype.toString = function (pAlias)
     return db.translateStatement(this.build(), pAlias || db.getCurrentAlias());
 }
 
-SqlBuilder._CaseStatement.prototype.build = function ()
+SqlBuilder._CaseStatement.prototype.build = function (pParameters)
 {
     var caseStatement = ["case"];
     var preparedValues = [];
diff --git a/process/Turnover_lib/process.js b/process/Turnover_lib/process.js
index 14080be4ee..e8f96a6131 100644
--- a/process/Turnover_lib/process.js
+++ b/process/Turnover_lib/process.js
@@ -34,7 +34,7 @@ TurnoverUtil.getTurnoverData = function (pMaxYear, pYearCount, pSalesprojectId)
     return newSelect("'" + turnoverCategory + "', year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, SALESORDERITEM.DISCOUNT discount, SALESORDERITEM.VAT vat, SALESORDERITEM.PRICE price, sum(SALESORDERITEM.QUANTITY) quantity, SALESORDERITEM.GROUPCODEID prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "SALESORDERITEM.GROUPCODEID") + ") prodGroupName")
                     .from("SALESORDER")
                     .join("SALESORDERITEM", "SALESORDERITEM.SALESORDER_ID = SALESORDER.SALESORDERID")
-                    .where("SALESORDER.ORDERTYPE = 'ORDTYPEINVO'")
+                    .where("SALESORDER.ORDERTYPE", "ORDTYPEINVO")
                     .and("SALESORDER.ORDERSTATUS = 1")
                     .and("SALESORDER.CANCELLATION <> 1")
                     .and("SALESORDERITEM.OPTIONAL <> 1")
diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index d8705a1e95..38627a87e2 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -46,15 +46,18 @@ WorkflowUtils.openNewInstance = function (pVariables, pTargetIds, pTargetContext
 {
     if ((!pTargetIds || pTargetIds.length === 0) && pSelectionFilter)
         pTargetIds = [];
+    else if (!pTargetIds)
+        pTargetIds = [WorkflowVariables.TARGET_ID.getDefaultValue()];
     if (!pVariables)
         pVariables = {};
     
     Object.assign(pVariables, WorkflowVariables.getTargetVariables(pTargetIds, pTargetContext));
     
     neon.openContext("WorkflowLauncher", "WorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
-        "ProcessVariables_param" : JSON.stringify(pVariables),
-        "TargetContext_param" : pVariables[WorkflowVariables.TARGET_CONTEXT()],
-        "TargetFilter_param" : pSelectionFilter ? JSON.stringify(pSelectionFilter) : ""
+        "ProcessVariables_param": JSON.stringify(pVariables),
+        "TargetContext_param": pVariables[WorkflowVariables.TARGET_CONTEXT()],
+        "TargetFilter_param": pSelectionFilter ? JSON.stringify(pSelectionFilter) : "",
+        "Targets_param": JSON.stringify(pTargetIds)
     });
 }
 
-- 
GitLab


From 14f9afba31f607fe32565b57117250b4b82f4496 Mon Sep 17 00:00:00 2001
From: Tom Lutzenberger <t.lutzenberger@adito.de>
Date: Fri, 30 Oct 2020 08:17:53 +0000
Subject: [PATCH 233/251] #1065112 unit test

---
 .../KeywordAttribute_test.aod                 |   12 +
 process/KeywordAttribute_test/process.js      |  144 ++
 process/Keyword_test/Keyword_test.aod         |   12 +
 process/Keyword_test/process.js               |  143 ++
 process/SqlBuilder_test/SqlBuilder_test.aod   |   12 +
 process/SqlBuilder_test/process.js            | 1266 +++++++++++++++
 process/SqlLib_tests/process.js               | 1015 ------------
 .../SqlMaskingUtils_test.aod                  |   12 +
 process/SqlMaskingUtils_test/process.js       |  158 ++
 process/Sql_lib/documentation.adoc            |    4 +-
 .../Terminal_lib.aod}                         |    6 +-
 process/Terminal_lib/process.js               |  342 ++++
 process/UnitTest_lib/UnitTest_lib.aod         |    1 +
 process/UnitTest_lib/process.js               | 1374 ++++++++++++++---
 process/UnitTest_test/UnitTest_test.aod       |   12 +
 process/UnitTest_test/process.js              | 1141 ++++++++++++++
 process/Util_lib/process.js                   |   35 +-
 process/_all_test/_all_test.aod               |   12 +
 process/_all_test/process.js                  |   23 +
 19 files changed, 4531 insertions(+), 1193 deletions(-)
 create mode 100644 process/KeywordAttribute_test/KeywordAttribute_test.aod
 create mode 100644 process/KeywordAttribute_test/process.js
 create mode 100644 process/Keyword_test/Keyword_test.aod
 create mode 100644 process/Keyword_test/process.js
 create mode 100644 process/SqlBuilder_test/SqlBuilder_test.aod
 create mode 100644 process/SqlBuilder_test/process.js
 delete mode 100644 process/SqlLib_tests/process.js
 create mode 100644 process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
 create mode 100644 process/SqlMaskingUtils_test/process.js
 rename process/{SqlLib_tests/SqlLib_tests.aod => Terminal_lib/Terminal_lib.aod} (67%)
 create mode 100644 process/Terminal_lib/process.js
 create mode 100644 process/UnitTest_test/UnitTest_test.aod
 create mode 100644 process/UnitTest_test/process.js
 create mode 100644 process/_all_test/_all_test.aod
 create mode 100644 process/_all_test/process.js

diff --git a/process/KeywordAttribute_test/KeywordAttribute_test.aod b/process/KeywordAttribute_test/KeywordAttribute_test.aod
new file mode 100644
index 0000000000..5956980e85
--- /dev/null
+++ b/process/KeywordAttribute_test/KeywordAttribute_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>KeywordAttribute_test</name>
+  <title>[TEST] KeywordAttribute_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/KeywordAttribute_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/KeywordAttribute_test/process.js b/process/KeywordAttribute_test/process.js
new file mode 100644
index 0000000000..888e3a79bc
--- /dev/null
+++ b/process/KeywordAttribute_test/process.js
@@ -0,0 +1,144 @@
+import("system.result");
+import("system.translate");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+import("Sql_lib");
+
+
+var constructor = new TestSuite("KeywordAttribute.constructor", [
+    new Test("should throw error if no data is found and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword container \"%1\"", ["contacts", "AddressType"]));
+            pTester.expectThat(function() {
+                new KeywordAttribute("AddressType", "contacts");
+            }).throwsException(exception).assert();
+        }
+    ),
+
+    new Test("should not throw error if no data is found but default value is defined",
+        function(pTester) {
+            pTester.expectThat(function() {
+                new KeywordAttribute("AddressType", "contact", "testDefault");
+            }).not().throwsException().assert();
+        }
+    ),
+]);
+
+
+var getValue = new TestSuite("KeywordAttribute.getValue", [
+    new Test("should throw error if attribute does not exist in container and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword container \"%1\"", ["asdf", "AddressType"]));
+
+            pTester.expectThat(function() {
+                var ka = new KeywordAttribute("AddressType", "asdf");
+                ka.getValue("abc");
+            }).throwsException(exception).assert();
+        }
+    ),
+        
+    new Test("should throw error if attribute is not assigned to keyword and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"", ["contact", "abc", "AddressType"]));
+
+            pTester.expectThat(function() {
+                var ka = new KeywordAttribute("AddressType", "contact");
+                ka.getValue("abc");
+            }).throwsException(exception).assert();
+        }
+    ),
+
+    new Test("should return default value if defined but attribute does not exist in container",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "asdf", "testDefault");
+            var actualValue = ka.getValue("HOMEADDR");
+
+            pTester.expectThat(actualValue).equals("testDefault").assert();
+        }
+    ),
+
+    new Test("should return default value if defined and attribute exists in container but is not assigned to keyword",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "contact", "testDefault");
+            var actualValue = ka.getValue("abc");
+
+            pTester.expectThat(actualValue).equals("testDefault").assert();
+        }
+    ),
+
+    new Test("should return keywords boolean value (actually a number)",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "organisation");
+            var actualValue = ka.getValue("HOMEADDR");
+
+            pTester.expectThat(actualValue).isNumeric().assert();
+            pTester.expectThat(actualValue).equals("0").assert();
+        }
+    ),
+
+    new Test("should return keywords number value (actually a string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("PaymentTerm", "dayNumber");
+            var actualValue = ka.getValue("PAYTERM30");
+
+            pTester.expectThat(actualValue).isNumeric().assert();
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals("30.00").assert();
+        }
+    ),
+        
+    new Test("should return keywords char value (string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("TaskStatus", "icon");
+            var actualValue = ka.getValue("ASSIGNED");
+
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals("NEON:STATUS_ASSIGNED").assert();
+        }
+    ),
+        
+    new Test("should return keywords long char value (string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("TicketType", "attributes");
+            var actualValue = ka.getValue("SUPPORTTICKET");
+
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals('["ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"]').assert();
+        }
+    ),
+]);
+
+
+var getSqlBuilderSelect = new TestSuite("KeywordAttribute.getSqlBuilderSelect", [
+    new Test("should return a SqlBuilder instance",
+        function(pTester) {
+            var ka = new KeywordAttribute("MemberRole", "Intern");
+            /** @type {SqlBuilder} */
+            var actualValue = ka.getSqlBuilderSelect();
+            
+            var expectQueryResult = [
+                "039fd6ae-b4ad-431e-86bf-59ed2f4df0a9",
+                "8cb1b843-713a-4193-aa50-9f5ca06820f8",
+                "9c421b0b-8529-4e07-9463-28d59fd027b6",
+                "b72294cd-3a46-4f71-ab93-72824f63f7f4",
+                "f78f229f-f809-4bd2-aca8-24e2f82fa220",
+            ];
+            var actualQueryResult = actualValue.orderBy("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID").arrayColumn();
+
+            pTester.expectThat(actualValue).isInstanceOf("SqlBuilder").assert();
+            pTester.expectThat(actualQueryResult).equals(expectQueryResult).assert();
+        }
+    ),
+]);
+
+
+var tester = new Tester("Test KeywordAttribute_lib");
+tester.initCoverage(KeywordAttribute);
+tester.test(constructor);
+tester.test(getValue);
+tester.test(getSqlBuilderSelect);
+
+tester.summary();
+    
+result.object(tester.getResults());
diff --git a/process/Keyword_test/Keyword_test.aod b/process/Keyword_test/Keyword_test.aod
new file mode 100644
index 0000000000..e654f56663
--- /dev/null
+++ b/process/Keyword_test/Keyword_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>Keyword_test</name>
+  <title>[TEST] Keyword_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/Keyword_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/Keyword_test/process.js b/process/Keyword_test/process.js
new file mode 100644
index 0000000000..d1b1d910e9
--- /dev/null
+++ b/process/Keyword_test/process.js
@@ -0,0 +1,143 @@
+import("system.result");
+import("system.translate");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+
+//this test will not work currently 
+//TODO: renable and fix the tests
+
+//var getContainerNames = new TestSuite("KeywordUtils.getContainerNames", [
+//    new Test("should return an alphabetically ascending ordered list of all keyword containers",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getContainerNames();
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasMinLength(1).assert();
+//            pTester.expectThat(actualValue).elementAt(0).equals("ActivityCategory").assert();
+//            pTester.expectThat(actualValue).elementAt(-1).equals("YesNo").assert();
+//        }
+//    )
+//]);
+//
+//
+//var getCategoryNameById = new TestSuite("KeywordUtils.getCategoryNameById", [
+//    new Test("should return existing keyword category name for correct uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b0");
+//
+//            pTester.expectThat(actualValue).equals("MemberRole").assert();
+//        }
+//    ),
+//
+//    new Test("should return non-existing keyword category name for wrong uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b1");
+//
+//            pTester.expectThat(actualValue).equals("<unknown>").assert();
+//        }
+//    ),
+//
+//    new Test("should return non-existing keyword category name for missing uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById();
+//
+//            pTester.expectThat(actualValue).equals("<unknown>").assert();
+//        }
+//    ),
+//]);
+//
+//
+//var getCategoryIdByName = new TestSuite("KeywordUtils.getCategoryIdByName", [
+//    new Test("should return existing keyword uuid for correct category name",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryIdByName("MemberRole");
+//
+//            pTester.expectThat(actualValue).equals("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b0").assert();
+//        }
+//    ),
+//
+//    new Test("should throw exception for wrong keyword category name",
+//        function(pTester) {
+//            var exception = new Error(translate.withArguments("no keyword category \"%0\" found", ["AddressTypes"]));
+//            pTester.expectThat(function() {
+//                KeywordUtils.getCategoryIdByName("AddressTypes");
+//            }).throwsException(exception).assert();
+//        }
+//    ),
+//
+//    new Test("should throw exception for missing keyword category name",
+//        function(pTester) {
+//            var exception = new Error(translate.withArguments("no keyword category \"%0\" found", [""]));
+//            pTester.expectThat(function() {
+//                KeywordUtils.getCategoryIdByName();
+//            }).throwsException(exception).assert();
+//        }
+//    ),
+//]);
+//
+//
+//var getEntryNamesAndIdsByContainer = new TestSuite("KeywordUtils.getEntryNamesAndIdsByContainer", [
+//    new Test("should return an array of all keywords and their ID's for given container",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getEntryNamesAndIdsByContainer("ActivityDirection");
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasMinLength(1, {name: "array"}).assert();
+//            pTester.expectThat(actualValue).elementAt(0).isArray().assert();
+//            pTester.expectThat(actualValue).elementAt(0).hasLength(2).assert();
+//        }
+//    ),
+//
+//    new Test("should return an empty array for non-existent container",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getEntryNamesAndIdsByContainer("Asdf");
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasLength(0, {name: "array"}).assert();
+//        }
+//    ),
+//]);
+//
+//
+//var exists = new TestSuite("KeywordUtils.exists", [
+//    new Test("should return a boolean indicating that a known keyword in a known container exists",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("VISIT", "ActivityCategory");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(true, "known keyword exists in known container").assert();
+//        }
+//    ),
+//
+//    new Test("should return a boolean indicating that an unknown keyword in a known container does not exist",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("ASDF", "ActivityCategory");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(false, "unknown keyword does not exist in known container").assert();
+//        }
+//    ),
+//
+//    new Test("should return a boolean indicating that a known keyword in an unknown container does not exist",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("VISIT", "Asdf");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(false, "known keyword does not exist in unknown container").assert();
+//        }
+//    ),
+//]);
+//
+//
+//var tester = new Tester("Test Keyword_lib");
+//tester.initCoverage(KeywordUtils);
+//tester.test(getContainerNames);
+//tester.test(getCategoryNameById);
+//tester.test(getCategoryIdByName);
+//tester.test(getEntryNamesAndIdsByContainer);
+//tester.test(exists);
+//
+//tester.summary();
+//    
+//result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/SqlBuilder_test/SqlBuilder_test.aod b/process/SqlBuilder_test/SqlBuilder_test.aod
new file mode 100644
index 0000000000..3992282911
--- /dev/null
+++ b/process/SqlBuilder_test/SqlBuilder_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>SqlBuilder_test</name>
+  <title>[TEST] Sql_lib - SqlBuilder</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/SqlBuilder_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/SqlBuilder_test/process.js b/process/SqlBuilder_test/process.js
new file mode 100644
index 0000000000..3ec9ec86dd
--- /dev/null
+++ b/process/SqlBuilder_test/process.js
@@ -0,0 +1,1266 @@
+import("system.db");
+import("system.result");
+import("system.vars");
+import("system.translate");
+import("system.logging");
+import("system.SQLTYPES");
+import("Sql_lib");
+import("UnitTest_lib");
+
+//SqlBuilder-tests:
+var newSelectTests = new TestSuite("SqlLib.newSelect", [
+    new Test("newSelect with just a string should just use it as select",
+        function(pTester)
+        {
+            var actualValue = newSelect("MySuper, Field, String")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("newSelect with just an array of strings should just use them concatenated as select",
+        function(pTester)
+        {
+            var actualValue = newSelect(["MySuper", "Field", "String"])
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("newSelect with just an SqlBuilder should use it as subselect",
+        function(pTester)
+        {
+            var actualValue = newSelect(new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz"))
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("newSelect an array of Strings and SqlBuilders should add them all",
+        function(pTester)
+        {
+            var actualValue = newSelect(["MySuper", "Field", "String", new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz")])
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String, (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var validAndUsageTests = new TestSuite("SqlLib.validAndUsage", [
+    new Test("and should just add simple strings as condition just as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
+                                .and("PERSON.LASTNAME = 'Admin'")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = 'Tim' and PERSON.LASTNAME = 'Admin'").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("and should add a condition if field and value are passed",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim")
+                                .and("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should add a condition if value is an empty string",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "")
+                                .and("PERSON.LASTNAME", "")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should add a condition if field and value as jdito-var are passed",
+        function(pTester)
+        {
+            vars.set("$global.TestUnitValueName", "Tim");
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$global.TestUnitValueName")
+
+            pTester.expectThat(actualValue.toString()).equals("( PERSON.FIRSTNAME = 'Tim' ) ").assert();
+        }
+    ),
+
+    new Test("$ should be escaped by a second $ and the string should therefore just be used as string and not as jdito variable",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$$mySuperString")
+
+            pTester.expectThat(actualValue.toString()).equals("( PERSON.FIRSTNAME = '$mySuperString' ) ").assert();
+        }
+    ),
+
+    new Test("and should add a condition if value is a jdito-var containing an empty string",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarEmptyString", "");
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$global.TestingVarEmptyString")
+                                .and("PERSON.LASTNAME", "$global.TestingVarEmptyString")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should use the given condition pattern",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
+                                .and("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME <> ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should use the given SQLTYPE if provided",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
+                                .and("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
+                                .and("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and PERSON.LASTNAME <> ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(0).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(1).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(2).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+        }
+    ),
+
+    new Test("and only with a prepared statement-array should just use it as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where([
+                                    "PERSON.FIRSTNAME = ?", [["Peter", 12]]
+                                ])
+                                .and([
+                                    "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
+                                ])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? )  and  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("and only with a SqlBulder object should just use the condition from it",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(new SqlBuilder()
+                                    .select("TEST")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a builder as value and condition (field is null|undefined) should add the whole builder as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"),
+                                    "exists ?")  // Note: you can use SqlBuilder.EXISTS() instead of  "exists ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a builder as value and field should add the whole builder as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
+                                .and(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  and  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a prepared statement-array as value and field should add the whole statement as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON.FIRSTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var validOrUsageTests = new TestSuite("SqlLib.validOrUsage", [
+    new Test("or should just add simple strings as condition just as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
+                                .or("PERSON.LASTNAME = 'Admin'")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = 'Tim' or PERSON.LASTNAME = 'Admin'").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("or should add a condition if field and value are passed",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim")
+                                .or("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or should use the given condition pattern",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
+                                .or("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME <> ? or PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or should use the given SQLTYPE if provided",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
+                                .or("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
+                                .or("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? or PERSON.LASTNAME <> ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+        }
+    ),
+
+    new Test("or only with a prepared statement-array should just use it as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where([
+                                    "PERSON.FIRSTNAME = ?", [["Peter", 12]]
+                                ])
+                                .or([
+                                    "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
+                                ])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? )  or  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("or only with a SqlBulder object should just use the condition from it",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a builder as value and condition (field is null|undefined) should add the whole builder as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"),
+                                    "exists ?")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a builder as value and field should add the whole builder as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
+                                .or(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  or  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+]);
+
+var combinedAndOrTests = new TestSuite("SqlLib.combinedAndOr", [
+    new Test("or combining two and",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", "Tim")
+                            .and("PERSON.LASTNAME", "Admin")
+                            .or(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .and("PERSON.LASTNAME", "Müller"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("(PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?) or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("and combining two or",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+                            .and(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .or("PERSON.LASTNAME", "Müller"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("some and/or combinations in one select",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", "Tim")
+                            .or("PERSON.FIRSTNAME", "Franz")
+                            .and("PERSON.LASTNAME", "Admin")
+                            .and(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .or("PERSON.LASTNAME", "Müller"))
+                            .or("PERSON.FIRSTNAME", "Franz")
+                            .and("PERSON.FIRSTNAME", "Franz")
+                            .or(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .and("PERSON.LASTNAME", "Müller")
+                                    .and(new SqlBuilder()
+                                            .where("PERSON.FIRSTNAME", "Peter")
+                                            .or("PERSON.LASTNAME", "Müller")))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  or (PERSON.FIRSTNAME = ?) and PERSON.FIRSTNAME = ? or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(11).assert();
+        }
+    ),
+]);
+
+
+var ifSetTests = new TestSuite("SqlLib.ifSet", [
+    new Test("simple and if set with all types of empty values.",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.LASTNAME", null)
+                            .andIfSet("PERSON.LASTNAME", undefined)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("jdito variable with null",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.FIRSTNAME", "$global.TestingVarNull")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("empty simple conditions",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("")
+                            .andIfSet(["", []])
+                            .andIfSet(new SqlBuilder())
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("empty subqueries",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.FIRSTNAME", ["", []])
+                            .andIfSet("PERSON.LASTNAME", new SqlBuilder())
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+]);
+
+
+function cleanWrapperTests()
+{
+    try {
+        db.runStatement("drop table SQL_LIB_TEST_TABLE");
+    } catch(ex) {}
+
+    try {
+        db.deleteData("PERSON", "PERSONID in ('TEST-5', 'TEST-6')")
+    } catch(ex) {}
+
+}
+
+
+var dbWrapperTests = new TestSuite("SqlLib.dbWrapper", [
+    new Test("cell should load only one value",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5")
+            var actualValue = builder.cell()
+
+            pTester.expectThat(actualValue).equals("Franz").assert();
+        }
+    ),
+
+    new Test("cell should just return '' if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON")
+            var actualValue = builder.cell(true)
+
+            pTester.expectThat(actualValue).equals("").assert();
+        }
+    ),
+
+    new Test("cell should return a value if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.cell(false)
+
+            pTester.expectThat(actualValue).not().equals("").assert();
+            pTester.expectThat(actualValue).not().isNull().assert();
+            pTester.expectThat(actualValue).not().isUndefined().assert();
+        }
+    ),
+
+    new Test("array should load an array of values",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5");
+
+            var actualValue = builder.array(db.ROW);
+            pTester.expectThat(actualValue).elementAt(0).equals("Franz", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(1).equals("Müller", {name: "lastname"}).assert();
+        }
+    ),
+
+    new Test("array should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+
+            var actualValue = builder.array(db.ROW, true);
+            pTester.expectThat(actualValue).hasLength(0).assert();
+        }
+    ),
+
+    new Test("array should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+
+            var actualValue = builder.array(db.ROW, false);
+            pTester.expectThat(actualValue).hasMinLength(1).assert();
+        }
+    ),
+
+    new Test("table should load an array of arrays with values",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5")
+                                .or("PERSON.PERSONID", "TEST-6")
+                                .orderBy("PERSONID asc");
+
+            var actualValue = builder.table();
+            pTester.expectThat(actualValue).elementAt(0).elementAt(0).equals("Franz", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(0).elementAt(1).equals("Müller", {name: "lastname"}).assert();
+
+            pTester.expectThat(actualValue).elementAt(1).elementAt(0).equals("Marco", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(1).elementAt(1).equals("Polo", {name: "lastname"}).assert();
+        }
+    ),
+
+    new Test("table should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.table(true);
+
+            pTester.expectThat(actualValue).hasLength(0).assert();
+        }
+    ),
+
+    new Test("table should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.table(false);
+            pTester.expectThat(actualValue).hasMinLength(1).assert();
+        }
+    ),
+
+    new Test("delete should delete the data and use the from and condition from the builder",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            var actualValue = builder.deleteData();
+            pTester.expectThat(actualValue).equals(1).assert();
+        }
+    ),
+
+    new Test("delete should delete the data from the provided table and use the condition from the builder. It ignores .from if a table is given.",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("PERSON")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            var actualValue = builder.deleteData(false, "SQL_LIB_TEST_TABLE");
+            pTester.expectThat(actualValue).equals(1).assert();
+        }
+    ),
+
+    new Test("delete should delete ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            var actualValue = builder.deleteData(false);
+            pTester.expectThat(actualValue).equals(2).assert();
+        }
+    ),
+
+    new Test("delete should delete NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            var actualValue = builder.deleteData(true);
+            pTester.expectThat(actualValue).equals(0).assert();
+        }
+    ),
+
+    new Test("update should update the data and use the from and condition from the builder",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+
+            pTester.expectThat(actualValue).equals("Fritz").assert();
+        }
+    ),
+
+    new Test("update should update the data from the provided table and use the condition from the builder. It ignores .from if a table is given.",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("PERSON")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            builder.updateData(false, "SQL_LIB_TEST_TABLE", ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+
+            pTester.expectThat(actualValue).equals("Fritz").assert();
+        }
+    ),
+
+    new Test("update should update ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+            var actualValue2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
+
+            pTester.expectThat(actualValue1).equals("Fritz", "TEST-7 should have Firstname Fritz").assert();
+            pTester.expectThat(actualValue2).equals("Fritz", "TEST-8 should have Firstname Fritz").assert();
+        }
+    ),
+
+    new Test("update should update NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')")
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            builder.updateData(true, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+            var actualValue2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
+
+            pTester.expectThat(actualValue1).equals("Ludwig", "TEST-7 should have Firstname Ludwig").assert();
+            pTester.expectThat(actualValue2).equals("Franz", "TEST-8 should have Firstname Franz").assert();
+        }
+    ),
+], function preAll()
+{
+    // remove data which may exist if previous test-run failed and postAll was not executed
+    cleanWrapperTests();
+
+    // add table for save testing of deletes
+    db.runStatement("create table SQL_LIB_TEST_TABLE (TESTID varchar(36), FIRSTNAME varchar(100), LASTNAME varchar(100))");
+
+    // add test persons
+    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-5", "Franz", "Müller", "testuser", vars.get("$sys.date")])
+    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-6", "Marco", "Polo", "testuser", vars.get("$sys.date")])
+}, undefined, undefined, function postAll()
+{
+    cleanWrapperTests();
+})
+
+
+var mandatoryErrorTests = new TestSuite("SqlLib.mandatoryError", [
+// and
+    new Test("and without parameter should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or();
+            }).throwsException(SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()).assert();
+        }
+    ),
+
+    new Test("and with null as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with undefined as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with a jdito-var containing null should error",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()).assert();
+        }
+    ),
+
+    new Test("and with an empty sql-builder as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with an empty prepared statement as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+
+// or
+    new Test("or without parameter should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or();
+            }).throwsException(SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()).assert();
+        }
+    ),
+
+    new Test("or with null as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with undefined as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with a jdito-var containing null should error",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()).assert();
+        }
+    ),
+
+    new Test("or with an empty sql-builder as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with an empty prepared statement as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+]);
+
+
+var inStatementTests = new TestSuite("SqlLib.inStatement", [
+    new Test("simple and in",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.LASTNAME", ["Franz", "Fritz"], SqlBuilder.IN()) // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
+                                .or("PERSON.LASTNAME", ["Peter", "Mayer"], SqlBuilder.IN());
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.LASTNAME in  (?, ?)  )  or  ( PERSON.LASTNAME in  (?, ?)  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("simple and not in",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.LASTNAME", ["Franz", "Fritz"], "# not in ?"); // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.LASTNAME not in  (?, ?)  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("in with subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                                            .select("PERSON.FIRSTNAME")
+                                                            .from("PERSON")
+                                                            .where("PERSON.LASTNAME", "Fritz")
+                                                    , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("in with prepared statement-array",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", ["select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ?", [["Fritz", SQLTYPES.VARCHAR]]]
+                                                    , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("andIfSet should ignore empty array",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .whereIfSet("PERSON.LASTNAME", []);
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("and should error on an empty array",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.LASTNAME", []);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+]);
+
+
+var testConstantFunctions = new TestSuite("SqlLib.testConstantFunc", [
+    new Test("SqlBuilder.IN()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.IN();
+            pTester.expectThat(actualValue).equals("# in ?").assert();
+        }
+    ),
+
+    new Test("SqlBuilder.NOT_IN()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.NOT_IN();
+            pTester.expectThat(actualValue).equals("# not in ?").assert();
+        }
+    ),
+
+    new Test("SqlBuilder.EXISTS()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.EXISTS();
+            pTester.expectThat(actualValue).equals("exists ?").assert();
+        }
+    ),
+]);
+
+
+var selectTests = new TestSuite("SqlLib.select", [
+    new Test("a sql-builder in a fields-array is translated to sql correctly",
+        function(pTester)
+        {
+            var countSubQuery = newSelect("count(*)")
+                                    .from("AB_ATTRIBUTEUSAGE")
+                                    .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", "myType")
+                                    .and("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID");
+
+            var actualValue = new SqlBuilder()
+                .select(["AB_ATTRIBUTEID", "AB_ATTRIBUTEUSAGEID", countSubQuery])
+                .from("AB_ATTRIBUTE")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select AB_ATTRIBUTEID, AB_ATTRIBUTEUSAGEID, (select count(*) from AB_ATTRIBUTEUSAGE where AB_ATTRIBUTEUSAGE.OBJECT_TYPE = ? and AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("a sql-builder in from is used as subselect",
+        function(pTester)
+        {
+            var subQuery = newSelect("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.LASTNAME", "Meier")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from(subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select FIRSTNAME from PERSON where PERSON.LASTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var joinTests = new TestSuite("SqlLib.join", [
+    new Test("SqlBuilder as on-condition should only add the conditon of the builder",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join("ORGANISATION", subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join ORGANISATION on ORGANISATION.NAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("SqlBuilder as table for join is added as subselect",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join(subQuery, "orgname.NAME = TABLE2.NAME", "orgname")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join (select NAME from ORGANISATION where ORGANISATION.NAME = ?) orgname on orgname.NAME = TABLE2.NAME").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("just use a string also containing a condition as join without additional condition",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join("TABLE1 on TABLE1.NAME = TABLE2.NAME")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join TABLE1 on TABLE1.NAME = TABLE2.NAME").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+]);
+
+
+var subqueryAsFieldTests = new TestSuite("SqlLib.subqueryAsField", [
+    new Test("Test if a Subselect as field works if pValue is provided. This should be added as subselect.",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                    .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+
+            var actualValue = new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR)
+                                         .and("PERSON.FIRSTNAME", "val3");
+
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( ( select NAME from ORGANISATION where ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and PERSON.FIRSTNAME = ? ) = ? )  and PERSON.FIRSTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(0).elementAt(0).equals("val1").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(1).elementAt(0).equals("val2").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(2).elementAt(0).equals("val3").assert();
+        }
+    ),
+
+    new Test("Test if a Subselect as field should error if no SQLTYPE is provided.",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                var subQuery = newSelect("NAME")
+                                .from("ORGANISATION")
+                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+                new SqlBuilder().where(subQuery, "val2", "# = ?");
+            }).throwsException(SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NO_FIELD_TYPE()).assert();
+        }
+    ),
+
+    new Test("Test if a Subselect as field should error if it is not a full select.",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                var subQuery = newSelect("NAME")
+                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+
+                new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR);
+            }).throwsException(SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NOT_COMPLETE()).assert();
+        }
+    ),
+]);
+
+
+var conditionFormatTests = new TestSuite("SqlLib.conditionFormat", [
+    new Test("pCondition should not fail if # an ? exist in correct order",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder()
+                    .where("PERSON.FIRSTNAME", "val1", "# = ?")
+                    .and("PERSON.FIRSTNAME", "val1", "asdf # fdsa=asdf ?fdas")
+                    ;
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should not fail if # an ? exist in correct order and there are additional, escaped # and ?",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "\\? # \\#= ?");
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should not fail if only ? exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "?")
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should fail if more than one ? exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? test ?")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+
+    new Test("pCondition should fail if more than one # exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# test #")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+
+    new Test("pCondition should fail if # and ? are in wrong order",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? = #")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+]);
+
+
+var subqueryAliasTests = new TestSuite("SqlLib.subqueryAlias", [
+    new Test("subselectAlias should be added for subquery in .select",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .select([subQuery, "FIRSTNAME"])
+                .from("PERSON")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias, FIRSTNAME").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be added for subquery in .from",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from(subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be overruled by the param in in .from",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from(subQuery, "overwriteAlias")
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be added for subquery in .join",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME, ORGANISATIONID")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from("CONTACT")
+                .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID")
+                .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID", "overwriteAlias")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) testAlias on testAlias.ORGANISATIONID = ORGANISATION_ID").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(1).elementAt("_sqlStorage").equals("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias on testAlias.ORGANISATIONID = ORGANISATION_ID").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(1).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var tester = new Tester("Test SqlBuilder");
+tester.test(newSelectTests);
+tester.test(validAndUsageTests);
+tester.test(validOrUsageTests);
+tester.test(combinedAndOrTests);
+tester.test(ifSetTests);
+tester.test(dbWrapperTests);
+tester.test(mandatoryErrorTests);
+tester.test(inStatementTests);
+tester.test(testConstantFunctions);
+tester.test(selectTests);
+tester.test(joinTests);
+tester.test(subqueryAsFieldTests);
+tester.test(conditionFormatTests);
+tester.test(subqueryAliasTests);
+
+tester.summary();
+
+result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/SqlLib_tests/process.js b/process/SqlLib_tests/process.js
deleted file mode 100644
index 924162e2a4..0000000000
--- a/process/SqlLib_tests/process.js
+++ /dev/null
@@ -1,1015 +0,0 @@
-import("system.db");
-import("system.vars");
-import("system.translate");
-import("system.logging");
-import("system.SQLTYPES");
-import("Sql_lib");
-import("UnitTest_lib");
-
-var newSelectTests = new TestSuite([
-    ["newSelect with just a string schould just use it as select", function(pTester)
-    {
-        var actual = newSelect("MySuper, Field, String")
-
-        pTester.assert("select MySuper, Field, String", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect with just an array of strings schould just use them concatenated as select", function(pTester)
-    {
-        var actual = newSelect(["MySuper", "Field", "String"])
-
-        pTester.assert("select MySuper, Field, String", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect with just an SqlBuilder should use it as subselect", function(pTester)
-    {
-        var actual = newSelect(new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz"))
-
-        pTester.assert("select (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect an array of Strings and SqlBuilders should add them all", function(pTester)
-    {
-        var actual = newSelect(["MySuper", "Field", "String", new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz")])
-
-        pTester.assert("select MySuper, Field, String, (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-]);
-
-var validAndUsageTests = new TestSuite([
-    ["and should just add simple strings as condition just as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
-                            .and("PERSON.LASTNAME = 'Admin'")
-
-        pTester.assert("PERSON.FIRSTNAME = 'Tim' and PERSON.LASTNAME = 'Admin'", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if field and value are passed", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim")
-                            .and("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if value is an empty string", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "")
-                            .and("PERSON.LASTNAME", "")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if field and value as jdito-var are passed", function(pTester)
-    {
-        vars.set("$global.TestUnitValueName", "Tim");
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$global.TestUnitValueName")
-                            
-        pTester.assert("( PERSON.FIRSTNAME = 'Tim' ) ", actual.toString());
-    }],
-
-    ["$ should be escaped by a second $ and the string should therefore just be used as string and not as jdito variable", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$$mySuperString")
-                            
-        pTester.assert("( PERSON.FIRSTNAME = '$mySuperString' ) ", actual.toString());
-    }],
-
-    ["and should add a condition if value is a jdito-var containing an empty string", function(pTester)
-    {
-        vars.set("$global.TestingVarEmptyString", "");
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$global.TestingVarEmptyString")
-                            .and("PERSON.LASTNAME", "$global.TestingVarEmptyString")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should use the given condition pattern", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
-                            .and("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME <> ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should use the given SQLTYPE if provided", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
-                            .and("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
-                            .and("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
-        
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and PERSON.LASTNAME <> ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[0][1], "sql type of param 1 is the provided type");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[1][1], "sql type of param 2 is the provided type");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[2][1], "sql type of param 3 is the provided type");
-    }],
-
-    ["and only with a prepared statement-array should just use it as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where([
-                                "PERSON.FIRSTNAME = ?", [["Peter", 12]]
-                            ])
-                            .and([
-                                "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
-                            ])
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? )  and  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and only with a SqlBulder object should just use the condition from it", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(new SqlBuilder()
-                                .select("TEST")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"))
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a builder as value and condition (field is null|undefined) should add the whole builder as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"),
-                                "exists ?")  // Note: you can use SqlBuilder.EXISTS() instead of  "exists ?"
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a builder as value and field should add the whole builder as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"))
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
-                            .and(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  and  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a prepared statement-array as value and field should add the whole statement as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]])
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON.FIRSTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var validOrUsageTests = new TestSuite([
-    ["or should just add simple strings as condition just as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
-                            .or("PERSON.LASTNAME = 'Admin'")
-
-        pTester.assert("PERSON.FIRSTNAME = 'Tim' or PERSON.LASTNAME = 'Admin'", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should add a condition if field and value are passed", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim")
-                            .or("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should use the given condition pattern", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
-                            .or("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME <> ? or PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should use the given SQLTYPE if provided", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
-                            .or("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
-                            .or("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? or PERSON.LASTNAME <> ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or only with a prepared statement-array should just use it as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where([
-                                "PERSON.FIRSTNAME = ?", [["Peter", 12]]
-                            ])
-                            .or([
-                                "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
-                            ])
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? )  or  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or only with a SqlBulder object should just use the condition from it", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a builder as value and condition (field is null|undefined) should add the whole builder as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"),
-                                "exists ?")
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a builder as value and field should add the whole builder as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
-                            .or(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  or  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var combinedAndOrTests = new TestSuite([
-    ["or combining two and", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", "Tim")
-                        .and("PERSON.LASTNAME", "Admin")
-                        .or(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .and("PERSON.LASTNAME", "Müller"))
-        
-        pTester.assert("(PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?) or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-    
-    ["and combining two or", function(pTester)
-    {                 
-        var actual = new SqlBuilder()
-                        .where(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-                        .and(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .or("PERSON.LASTNAME", "Müller"))
-        
-        pTester.assert(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["some and/or combinations in one select", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", "Tim")
-                        .or("PERSON.FIRSTNAME", "Franz")
-                        .and("PERSON.LASTNAME", "Admin")
-                        .and(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .or("PERSON.LASTNAME", "Müller"))
-                        .or("PERSON.FIRSTNAME", "Franz")
-                        .and("PERSON.FIRSTNAME", "Franz")
-                        .or(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .and("PERSON.LASTNAME", "Müller")
-                                .and(new SqlBuilder()
-                                        .where("PERSON.FIRSTNAME", "Peter")
-                                        .or("PERSON.LASTNAME", "Müller")))
-                        
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  or (PERSON.FIRSTNAME = ?) and PERSON.FIRSTNAME = ? or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(11, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var ifSetTests = new TestSuite([
-    ["simple and if set with all types of empty values.", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.LASTNAME", null)
-                        .andIfSet("PERSON.LASTNAME", undefined)
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["jdito variable with null", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.FIRSTNAME", "$global.TestingVarNull")
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["empty simple conditions", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("")
-                        .andIfSet(["", []])
-                        .andIfSet(new SqlBuilder())
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["empty subqueries", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.FIRSTNAME", ["", []])
-                        .andIfSet("PERSON.LASTNAME", new SqlBuilder())
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }]
-]);
-
-function cleanWrapperTests()
-{
-    try {
-        db.runStatement("drop table SQL_LIB_TEST_TABLE");
-    } catch(ex) {}
-    
-    try {
-        db.deleteData("PERSON", "PERSONID in ('TEST-5', 'TEST-6')")
-    } catch(ex) {}
-    
-}
-
-var dbWrapperTests = new TestSuite([
-    ["cell should load only one value", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5")
-        pTester.assert("Franz", builder.cell());
-    }],
-
-    ["cell should just return '' if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON")
-        pTester.assert("", builder.cell(true));
-    }],
-
-    ["cell should return a value if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.cell(false)
-        pTester.assert(true, actual !== "" && actual !== null && actual !== undefined);
-    }],
-
-    ["array should load an array of values", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5");
-                            
-        var actual = builder.array(db.ROW);
-        pTester.assert("Franz", actual[0], "firstname should be 'Franz'");
-        pTester.assert("Müller", actual[1], "lastname should be 'Müller'");
-    }],
-
-    ["array should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            
-        var actual = builder.array(db.ROW, true);
-        pTester.assert(0, actual.length);
-    }],
-
-    ["array should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            
-        var actual = builder.array(db.ROW, false);
-        pTester.assert(true, actual.length > 0);
-    }],
- 
-    ["table should load an array of arrays with values", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5")
-                            .or("PERSON.PERSONID", "TEST-6")
-                            .orderBy("PERSONID asc");
-                            
-        var actual = builder.table();
-        pTester.assert("Franz", actual[0][0], "firstname should be 'Franz'");
-        pTester.assert("Müller", actual[0][1], "lastname should be 'Müller'");
-        
-        pTester.assert("Marco", actual[1][0], "firstname should be 'Marco'");
-        pTester.assert("Polo", actual[1][1], "lastname should be 'Polo'");
-    }],
-
-    ["table should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.table(true);
-        pTester.assert(0, actual.length);
-    }],
-
-    ["table should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.table(false);
-        pTester.assert(true, actual.length > 0);
-    }],
-
-    ["delete should delete the data and use the from and condition from the builder", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        var deletedRows = builder.deleteData();
-        pTester.assert(1, deletedRows);
-    }],
-
-    ["delete should delete the data from the provided table and use the condition from the builder. It ignores .from if a table is given.", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("PERSON")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        var deletedRows = builder.deleteData(false, "SQL_LIB_TEST_TABLE");
-        pTester.assert(1, deletedRows);
-    }],
-
-    ["delete should delete ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        var deletedRows = builder.deleteData(false);
-        pTester.assert(2, deletedRows);
-    }],
-
-    ["delete should delete NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        var deletedRows = builder.deleteData(true);
-        pTester.assert(0, deletedRows);
-    }],
-
-    ["update should update the data and use the from and condition from the builder", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        
-        pTester.assert("Fritz", actual);
-    }],
-
-    ["update should update the data from the provided table and use the condition from the builder. It ignores .from if a table is given.", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("PERSON")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        builder.updateData(false, "SQL_LIB_TEST_TABLE", ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        
-        pTester.assert("Fritz", actual);
-    }],
-
-    ["update should update ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        var actual2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
-        
-        pTester.assert("Fritz", actual1, "TEST-7 should have Firstname Fritz");        
-        pTester.assert("Fritz", actual2, "TEST-8 should have Firstname Fritz");
-    }],
-
-    ["update should update NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')")        
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        builder.updateData(true, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        var actual2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
-        
-        pTester.assert("Ludwig", actual1, "TEST-7 should have Firstname Ludwig");        
-        pTester.assert("Franz", actual2, "TEST-8 should have Firstname Franz");
-    }]
-], function preAll() 
-{
-    // remove data which may exist if previous test-run failed and postAll was not executed
-    cleanWrapperTests()
-    
-    // add table for save testing of deletes
-    db.runStatement("create table SQL_LIB_TEST_TABLE (TESTID varchar(36), FIRSTNAME varchar(100), LASTNAME varchar(100))");
-    
-    // add test persons
-    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-5", "Franz", "Müller", "testuser", vars.get("$sys.date")])
-    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-6", "Marco", "Polo", "testuser", vars.get("$sys.date")])
-}, undefined, undefined, function postAll()
-{
-    cleanWrapperTests()
-})
-
-var mandatoryErrorTests = new TestSuite([
-// and
-    ["and without parameter should error", function(pTester)
-    {
-        new SqlBuilder().where().or();
-    }, SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()],
-
-    ["and with null as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with undefined as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with a jdito-var containing null should error", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()],
-
-    ["and with an empty sql-builder as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with an empty prepared statement as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-
-// or
-    ["or without parameter should error", function(pTester)
-    {
-        new SqlBuilder().where().or();
-    }, SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()],
-
-    ["or with null as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with undefined as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with a jdito-var containing null should error", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()],
-
-    ["or with an empty sql-builder as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with an empty prepared statement as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-]);
-
-var inStatementTests = new TestSuite([
-    ["simple and in", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.LASTNAME", ["Franz", "Fritz"], SqlBuilder.IN()) // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
-                            .or("PERSON.LASTNAME", ["Peter", "Mayer"], SqlBuilder.IN());
-                            
-        pTester.assert(" ( PERSON.LASTNAME in  (?, ?)  )  or  ( PERSON.LASTNAME in  (?, ?)  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["simple and not in", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.LASTNAME", ["Franz", "Fritz"], "# not in ?"); // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
-                            
-        pTester.assert(" ( PERSON.LASTNAME not in  (?, ?)  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["in with subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                                        .select("PERSON.FIRSTNAME")
-                                                        .from("PERSON")
-                                                        .where("PERSON.LASTNAME", "Fritz")
-                                                , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
-                            
-        pTester.assert("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["in with prepared statement-array", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", ["select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ?", [["Fritz", SQLTYPES.VARCHAR]]]
-                                                , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
-                            
-        pTester.assert("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["andIfSet should ignore empty array", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .whereIfSet("PERSON.LASTNAME", []);
-                            
-        pTester.assert("", actual._where._sqlStorage, "prepared sql should be empty");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params should be 0");
-    }],
-
-    ["and should error on an empty array", function(pTester)
-    {
-        new SqlBuilder()
-                .where("PERSON.LASTNAME", []);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()]
-]);
-
-var testConstantFunctions = new TestSuite([
-    ["SqlBuilder.IN()", function(pTester)
-    {
-        pTester.assert("# in ?", SqlBuilder.IN());
-    }],
-    
-    ["SqlBuilder.NOT_IN()", function(pTester)
-    {
-        pTester.assert("# not in ?", SqlBuilder.NOT_IN());
-    }],
-
-    ["SqlBuilder.EXISTS()", function(pTester)
-    {
-        pTester.assert("exists ?", SqlBuilder.EXISTS());
-    }]
-]);
-
-var selectTests = new TestSuite([
-    ["a sql-builder in a fields-array is translated to sql correctly", function(pTester)
-    {
-        var countSubQuery = newSelect("count(*)")
-                                .from("AB_ATTRIBUTEUSAGE")
-                                .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", "myType")
-                                .and("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID");
-    
-        var actual = new SqlBuilder()
-            .select(["AB_ATTRIBUTEID", "AB_ATTRIBUTEUSAGEID", countSubQuery])
-            .from("AB_ATTRIBUTE")
-                        
-        pTester.assert("select AB_ATTRIBUTEID, AB_ATTRIBUTEUSAGEID, (select count(*) from AB_ATTRIBUTEUSAGE where AB_ATTRIBUTEUSAGE.OBJECT_TYPE = ? and AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID)", actual._select._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["a sql-builder in from is used as subselect", function(pTester)
-    {
-        var subQuery = newSelect("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.LASTNAME", "Meier")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from(subQuery)
-            
-        pTester.assert("from (select FIRSTNAME from PERSON where PERSON.LASTNAME = ?)", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }]
-]);
-
-var joinTests = new TestSuite([
-    ["SqlBuilder as on-condition should only add the conditon of the builder", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join("ORGANISATION", subQuery)
-            
-        pTester.assert("join ORGANISATION on ORGANISATION.NAME = ?", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params");
-    }],
-
-    ["SqlBuilder as table for join is added as subselect", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join(subQuery, "orgname.NAME = TABLE2.NAME", "orgname")
-            
-        pTester.assert("join (select NAME from ORGANISATION where ORGANISATION.NAME = ?) orgname on orgname.NAME = TABLE2.NAME", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params");
-    }],
-
-    ["just use a string also containing a condition as join without additional condition", function(pTester)
-    {
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join("TABLE1 on TABLE1.NAME = TABLE2.NAME")
-            
-        pTester.assert("join TABLE1 on TABLE1.NAME = TABLE2.NAME", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(0, actual._joins[0].preparedValues.length, "number of params");
-    }]
-]);
-
-var subqueryAsFieldTests = new TestSuite([
-    ["Test if a Subselect as field works if pValue is provided. This should be added as subselect.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-    
-        var actual = new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR)
-                                     .and("PERSON.FIRSTNAME", "val3");
-                
-            
-        pTester.assert(" ( ( select NAME from ORGANISATION where ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and PERSON.FIRSTNAME = ? ) = ? )  and PERSON.FIRSTNAME = ?", actual._where._sqlStorage, "prepared select-sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-        pTester.assert("val1", actual._where.preparedValues[0][0], "param 1 is correct value");
-        pTester.assert("val2", actual._where.preparedValues[1][0], "param 2 is correct value");
-        pTester.assert("val3", actual._where.preparedValues[2][0], "param 3 is correct value");
-    }],
-
-    ["Test if a Subselect as field should error if no SQLTYPE is provided.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-        new SqlBuilder().where(subQuery, "val2", "# = ?");
-    }, SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NO_FIELD_TYPE()],
-
-    ["Test if a Subselect as field should error if it is not a full select.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-    
-        new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR);
-    }, SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NOT_COMPLETE()]
-]);
-
-var conditionFormatTests = new TestSuite([
-    ["pCondition should not fail if # an ? exist in correct order", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# = ?")
-                        .and("PERSON.FIRSTNAME", "val1", "asdf # fdsa=asdf ?fdas")
-    }],
-
-    ["pCondition should not fail if # an ? exist in correct order and there are additional, escaped # and ?", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "\\? # \\#= ?");
-    }],
-
-    ["pCondition should not fail if only ? exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "?")
-    }],
-
-    ["pCondition should fail if more than one ? exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? test ?")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()],
-
-    ["pCondition should fail if more than one # exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# test #")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()],
-
-    ["pCondition should fail if # and ? are in wrong order", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? = #")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()]
-]);
-
-var subqueryAliasTests = new TestSuite([
-    ["subselectAlias should be added for subquery in .select", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .select([subQuery, "FIRSTNAME"])
-            .from("PERSON")
-            
-        pTester.assert("select (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias, FIRSTNAME", actual._select._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be added for subquery in .from", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from(subQuery)
-            
-        pTester.assert("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be overruled by the param in in .from", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from(subQuery, "overwriteAlias")
-            
-        pTester.assert("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be added for subquery in .join", function(pTester)
-    {
-        var subQuery = newSelect("NAME, ORGANISATIONID")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from("CONTACT")
-            .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID")
-            .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID", "overwriteAlias")
-            
-        pTester.assert("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) testAlias on testAlias.ORGANISATIONID = ORGANISATION_ID", actual._joins[0]._sqlStorage, "prepared select-sql join 1");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params join 1");
-        
-        pTester.assert("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias on testAlias.ORGANISATIONID = ORGANISATION_ID", actual._joins[1]._sqlStorage, "prepared select-sql join 2");
-        pTester.assert(1, actual._joins[1].preparedValues.length, "number of params join 2");
-    }]
-])
-
-var tester = new Tester("Test SqlBuilder");
-tester.test(newSelectTests);
-tester.test(validAndUsageTests);
-tester.test(validOrUsageTests);
-tester.test(combinedAndOrTests);
-tester.test(ifSetTests);
-tester.test(dbWrapperTests);
-tester.test(mandatoryErrorTests);
-tester.test(inStatementTests);
-tester.test(testConstantFunctions);
-tester.test(selectTests);
-tester.test(joinTests);
-tester.test(subqueryAsFieldTests);
-tester.test(conditionFormatTests);
-tester.test(subqueryAliasTests);
-
-logging.log("-------------------------");
-tester.printResults();
diff --git a/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod b/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
new file mode 100644
index 0000000000..8636a3707b
--- /dev/null
+++ b/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>SqlMaskingUtils_test</name>
+  <title>[TEST] Sql_lib - SqlMaskingUtils</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/SqlMaskingUtils_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/SqlMaskingUtils_test/process.js b/process/SqlMaskingUtils_test/process.js
new file mode 100644
index 0000000000..533a1b32e9
--- /dev/null
+++ b/process/SqlMaskingUtils_test/process.js
@@ -0,0 +1,158 @@
+import("system.result");
+import("system.db");
+import("Sql_lib");
+import("UnitTest_lib");
+
+function _createDummyMaskingUtil(pDbType)
+{
+    var currentAlias = db.getCurrentAlias();
+    if (!currentAlias)
+        throw new Error("alias required for test is not set");
+    var currentAliasType = db.getDatabaseType(currentAlias);
+    if (!currentAliasType)
+        throw new Error("alias type required for test is not set");
+    var createdObject = new SqlMaskingUtils(currentAlias);
+    createdObject.dbType = pDbType;
+    return createdObject;
+}
+
+var constructorTest = new TestSuite("SqlMaskingUtils.constructor", [
+    new Test("constructor sets correct specified alias",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var createdObject = new SqlMaskingUtils(currentAlias);
+            pTester.expectThat(createdObject.alias).equals(currentAlias).assert();
+        }
+        ),
+    new Test("constructor sets correct default alias",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var createdObject = new SqlMaskingUtils();
+            pTester.expectThat(createdObject.alias).equals(currentAlias).assert();
+        }
+        ),
+    new Test("constructor sets correct alias type",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var currentAliasType = db.getDatabaseType(currentAlias);
+            if (!currentAliasType)
+                throw new Error("alias type required for test is not set");
+            var createdObject = new SqlMaskingUtils(currentAlias);
+            pTester.expectThat(createdObject.dbType).equals(currentAliasType).assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with derby",
+     function(pTester)
+     {
+        var res = _createDummyMaskingUtil(db.DBTYPE_DERBY10);
+        pTester.expectThat(res.dbType).equals(db.DBTYPE_DERBY10).assert();
+        pTester.expectThat(res.alias).isNull().assert();
+     }
+     ),
+    new Test("overwrite constructors dbType with mariaDB",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_MARIADB10);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_MARIADB10).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with mySql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_MYSQL4);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_MYSQL4).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-cluster",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_CLUSTER);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_CLUSTER).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-oci",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_OCI);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_OCI).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-thin",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_THIN);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_THIN).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with postgresql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_POSTGRESQL8);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_POSTGRESQL8).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with ms sql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_SQLSERVER2000).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        )
+    ]);
+
+
+var getConcatSymbolTest = new TestSuite("SqlMaskingUtils.getConcatSymbol", [
+    new Test("getConcatSymbol returns a non empty string",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res).not().isNull().assert();
+            pTester.expectThat(res).not().isUndefined().assert();
+            pTester.expectThat(res).isString().assert();
+            pTester.expectThat(res.length).isInteger().assert();
+            pTester.expectThat(res.length).isGreater(0).assert();
+        }
+        ),
+    new Test("+ for MS SQL",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res.trim()).equals("+").assert();
+        }
+        ),
+    new Test("|| for Oracle",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_THIN);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res.trim()).equals("||").assert();
+        }
+        )
+    ]);
+
+var tester = new Tester("Test SqlMaskingUtils");
+tester.initCoverage(SqlMaskingUtils);
+tester.test(constructorTest);
+tester.test(getConcatSymbolTest);
+//TODO: add full test coverage
+tester.summary();
+
+result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/Sql_lib/documentation.adoc b/process/Sql_lib/documentation.adoc
index 8b903c2155..417d8aa237 100644
--- a/process/Sql_lib/documentation.adoc
+++ b/process/Sql_lib/documentation.adoc
@@ -17,10 +17,10 @@ include::_default_attributes_EN.adoc[]
 
 This document describes the functionality and the usage of the SqlBuilder, which is included in the library *Sql_lib* of the ADITO xRM project (see "Projects" window, under process > libraries). The documentation may not contain all features of the SqlBuilder. It is supplemental to the documentation you find in the code itself: A usage will often be possible in an intuitive way, so just try coding using code completion and JSDoc, where all parameters are documented.
 
-You may also take a look at the library *SqlLib_tests* (also under process > libraries), as it contains many possible ways to use the SqlBuilder.
+You may also take a look at the library *Sql_test* (also under process > libraries), as it contains many possible ways to use the SqlBuilder.
 
 [NOTE]
-The tests included in the library SqlLib_tests use the UnitTest_lib for unit testing. You can use this functionality also in other contexts, according to your requirements.
+The tests included in the library Sql_test use the UnitTest_lib for unit testing. You can use this functionality also in other contexts, according to your requirements.
 
 == Benefits
 
diff --git a/process/SqlLib_tests/SqlLib_tests.aod b/process/Terminal_lib/Terminal_lib.aod
similarity index 67%
rename from process/SqlLib_tests/SqlLib_tests.aod
rename to process/Terminal_lib/Terminal_lib.aod
index 9f2866f8f9..9fa0811425 100644
--- a/process/SqlLib_tests/SqlLib_tests.aod
+++ b/process/Terminal_lib/Terminal_lib.aod
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
-  <name>SqlLib_tests</name>
+  <name>Terminal_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <process>%aditoprj%/process/SqlLib_tests/process.js</process>
-  <alias>Data_alias</alias>
+  <documentation>%aditoprj%/process/Terminal_lib/documentation.adoc</documentation>
+  <process>%aditoprj%/process/Terminal_lib/process.js</process>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/Terminal_lib/process.js b/process/Terminal_lib/process.js
new file mode 100644
index 0000000000..13a0188495
--- /dev/null
+++ b/process/Terminal_lib/process.js
@@ -0,0 +1,342 @@
+import("system.logging");
+import("Util_lib");
+
+
+/**
+ * This library gives you helpful colored output on the terminal
+ * You can use the predefined helper methods or use your own color- and format combinations
+ *
+ * @example
+ * var t = new Terminal();
+ * logging.log(t.success("It works!"));
+ * logging.log(t.color(t.fg.green).background(t.bg.red).output("I would never use green text on red background..."));
+ *
+ * @see https://en.wikipedia.org/wiki/ANSI_escape_code
+ * @class
+ */
+function Terminal()
+{
+    this.mod = {
+        reset : 0
+    };
+
+    this.fg = {
+        reset         : 39,
+        black         : 30,
+        red           : 31,
+        green         : 32,
+        yellow        : 33,
+        blue          : 34,
+        magenta       : 35,
+        cyan          : 36,
+        white         : 37,
+        brightBlack   : 90,
+        brightRed     : 91,
+        brightGreen   : 92,
+        brightYellow  : 93,
+        brightBlue    : 94,
+        brightMagenta : 95,
+        brightCyan    : 96,
+        brightWhite   : 97
+    };
+
+    this.bg = {
+        reset         : 49,
+        black         : 40,
+        red           : 41,
+        green         : 42,
+        yellow        : 43,
+        blue          : 44,
+        magenta       : 45,
+        cyan          : 46,
+        white         : 47,
+        brightBlack   : 100,
+        brightRed     : 101,
+        brightGreen   : 102,
+        brightYellow  : 103,
+        brightBlue    : 104,
+        brightMagenta : 105,
+        brightCyan    : 106,
+        brightWhite   : 107
+    };
+
+    this.formats = {
+        weightBold      : 1,
+        weightLight     : 2,
+        weightOff       : 22,
+        italic          : 3,
+        italicOff       : 23,
+        underline       : 4,
+        underlineDouble : 21,
+        underlineOff    : 24,
+        strike          : 9,
+        strikeOff       : 29
+    };
+
+    this._defaultConfig = {
+        colorText: this.fg.reset,
+        colorBackground: this.bg.reset,
+        bold: this.formats.weightOff,
+        italic: this.formats.italicOff,
+        underline: this.formats.underlineOff,
+        strike: this.formats.strikeOff
+    };
+
+    this.outputConfig = Utils.clone(this._defaultConfig);
+}
+
+
+/**
+ * Reset the output config by cloning and setting the default
+ *
+ * @return {void}
+ */
+Terminal.prototype._resetConfig = function ()
+{
+    this.outputConfig = Utils.clone(this._defaultConfig);
+}
+
+/**
+ * Set or reset the text color
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.color = function (pValue)
+{
+    this.outputConfig.colorText = this._contains(this.fg, pValue) ? pValue : this.fg.reset;
+    
+    return this;
+}
+
+/**
+ * Set or reset the background color
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.background = function (pValue)
+{
+    this.outputConfig.colorBackground = this._contains(this.bg, pValue) ? pValue : this.bg.reset;
+    
+    return this;
+}
+
+/**
+ * Set, unset or add a formatting to the output config
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.format = function (pValue)
+{    
+    var allowedWeightValues = [this.formats.weightBold, this.formats.weightLight, this.formats.weightOff];
+    this.outputConfig.bold = this._contains(allowedWeightValues, pValue) ? pValue : this.formats.weightOff;
+
+    var allowedItalicValues = [this.formats.italic, this.formats.italicOff];
+    this.outputConfig.italic = this._contains(allowedItalicValues, pValue) ? pValue : this.formats.italicOff;
+
+    var allowedUnderlineValues = [this.formats.underline, this.formats.underlineDouble, this.formats.underlineOff];
+    this.outputConfig.underline = this._contains(allowedUnderlineValues, pValue) ? pValue : this.formats.underlineOff;
+
+    var allowedStrikeValues = [this.formats.strike, this.formats.strikeOff];
+    this.outputConfig.strike = this._contains(allowedStrikeValues, pValue) ? pValue : this.formats.strikeOff;
+    
+    return this;
+}
+
+/**
+ * Returns a string wrapped in escape sequences according to previous formatting instructions
+ * Must be called after `.color()`, `.background()` and/or `.format()`.
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.output = function (pString)
+{
+    var output = "";
+    var seqValues = [];
+    
+    Object.keys(this.outputConfig).forEach(function(pKey) {
+        seqValues.push(this.outputConfig[pKey]);
+    }, this);
+    
+    output += this._generateSequence(seqValues);
+    output += pString;
+    output += this._generateSequence(this.mod.reset);
+    
+    this._resetConfig();
+    return output;
+}
+
+/**
+ * Returns the given string formatted as light-colored text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.debug = function (pString)
+{
+    return this.color(this.fg.white).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on green background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.successBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.green).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold green text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.success = function (pString)
+{
+    return this.color(this.fg.green).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on green background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.successBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.green).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold blue text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.info = function (pString)
+{
+    return this.color(this.fg.blue).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on blue background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.infoBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.blue).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold magenta text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.important = function (pString)
+{
+    return this.color(this.fg.magenta).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on magenta background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.importantBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.magenta).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold yellow text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.warning = function (pString)
+{
+    return this.color(this.fg.yellow).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on yellow background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.warningBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.yellow).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold red text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.error = function (pString)
+{
+    return this.color(this.fg.red).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on red background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.errorBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.red).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Checks if a specific value is in a given array or object
+ *
+ * @param {(Array|Object)} pType
+ * @param {Any} pValue
+ * @return {Boolean}
+ */
+Terminal.prototype._contains = function (pType, pValue)
+{
+    var res = false;
+    
+    if(Array.isArray(pType)) {
+        res = pType.indexOf(pValue) !== -1;
+    } else {
+        Object.keys(pType).forEach(function(pKey) {
+            if(pType[pKey] === pValue) {
+                res = true;
+            }
+        }, this);
+    }
+
+    return res;
+}
+
+/**
+ * Generates and returns a terminal escape sequence
+ *
+ * @param {(int|int[])} pSequences A single or multiple escape sequence commands
+ */
+Terminal.prototype._generateSequence = function (pSequences)
+{
+    var seq = Array.isArray(pSequences) ? pSequences : [pSequences];
+    
+    seq = seq.filter(function(pElement) {
+        return Number.isInteger(parseFloat(pElement)) && isFinite(pElement);
+    });
+    
+    return "\033[" + seq.join(";") + "m";
+}
diff --git a/process/UnitTest_lib/UnitTest_lib.aod b/process/UnitTest_lib/UnitTest_lib.aod
index 225ac23038..a449931676 100644
--- a/process/UnitTest_lib/UnitTest_lib.aod
+++ b/process/UnitTest_lib/UnitTest_lib.aod
@@ -2,6 +2,7 @@
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
   <name>UnitTest_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE_O</icon>
   <process>%aditoprj%/process/UnitTest_lib/process.js</process>
   <alias>Data_alias</alias>
   <variants>
diff --git a/process/UnitTest_lib/process.js b/process/UnitTest_lib/process.js
index 0ce141d482..382d37e021 100644
--- a/process/UnitTest_lib/process.js
+++ b/process/UnitTest_lib/process.js
@@ -1,235 +1,1265 @@
 import("system.logging");
+import("Terminal_lib");
+import("Util_lib");
+
+/**
+ * @param {String} pName the name/description of the test
+ * @param {Function} pCallback the actual test callback to execute
+ * @param {Function} pDataProviderCallback an optional callback to deliver multiple datasets to the test
+ * @param {Boolean} pRerunOnError an optional flag indicating if a test should get rerun without try-catch if an error occurs (default: false)
+ *
+ * @class
+ */
+function Test(pName, pCallback, pDataProviderCallback, pRerunOnError)
+{
+    this.name = pName;
+    this.callback = pCallback;
+    this.dataProviderCallback = pDataProviderCallback || function() { return null; };
+    this.rerunOnError = !!pRerunOnError;
+}
 
 /**
  * A TestSuite combines several tests
- * @param {Array} pTests this is a n array of Tests in the following form:<br/>
- *                  [<br/>
- *                      ["Test description", function(pTester) <br/>
- *                          {<br/>
- *                              // the test which may use pTester.assert(...)<br/>
- *                          }, {Optional: an expected error}<br/>
- *                      ],<br/>
- *                      [...]<br/>
- *                  ]<br/>
+ *
+ * @param {String} pName name of the TestSuite
+ * @param {Array} pTests this is a n array of Tests
+ *
+ * @example
+ * var myTest = new TestSuite("MyObject.myTest", [
+ *     new Test("Test description",
+ *         function(pTester) {
+ *             var expectValue = 5;
+ *             var var actualValue = 20;
+ *             pTester.expectThat(actualValue).isGreater(expectValue).assert();
+ *         },
+ *     ),
+ *     new Test(...)
+ * ];
+
+ * @example
+ * // Using a DataProvider
+ * var myTest = new TestSuite("MyObject.myTest", [
+ *     new Test("Test description",
+ *         function(pTester, pDataProvider) {
+ *             var obj = new MyObject("Something");
+ *             var expectValue = pDataProvider[0];
+ *             var var actualValue = obj.getNumber();
+ *             pTester.expectThat(actualValue).isGreater(expectValue).assert();
+ *         },
+ *         function dataProvider() {
+ *             return [
+ *                 [0],
+ *                 [10],
+ *                 [100],
+ *             ];
+ *         },
+ *     ),
+ *     new Test(...)
+ * ];
+ *
  * @param {functionCallback} [pPreAll] a callback, called once before all tests
  * @param {functionCallback} [pPreTest] a callback, called once before each test
  * @param {functionCallback} [pPostTest] a callback, called once after each test
  * @param {functionCallback} [pPostAll] a callback, called once after all tests
- * 
+ *
+ * TODO: set callbacks via separate methods
+ *
  * @class
  */
-function TestSuite(pTests, pPreAll, pPreTest, pPostTest, pPostAll)
+function TestSuite(pName, pTests, pPreAll, pPreTest, pPostTest, pPostAll)
 {
+    this.name = pName;
     this.tests = pTests;
-    this.preAll = (pPreAll ? pPreAll : function() {});
-    this.preTest = (pPreTest ? pPreTest : function() {});
-    this.postTest = (pPostTest ? pPostTest : function() {});
-    this.postAll = (pPostAll ? pPostAll : function() {});
+    this.preAll = pPreAll || function() {};
+    this.preTest = pPreTest || function() {};
+    this.postTest = pPostTest || function() {};
+    this.postAll = pPostAll || function() {};
 }
 
 /**
- * The tester can test TestSuites.
- * It will be passed as paramter to each test.
- * 
+ * The tester runs TestSuites.
+ * It will be passed as parameter to each test.
+ *
  * @param {String} pCollectionName
+ *
+ * @example
+ * var myTest = new TestSuite("MyObject.myTest", [...]);
+ * var tester = new Tester("Test SqlBuilder", SqlBuilder);
+ * tester.test(myTest);
+ * // More test suites using tester.test()
+ * // ...
+ *
+ * tester.summary();
+ *
+ * @class
+ *
+ * TODO: Implement `isEmpty()`
+ * TODO: Implement `hasKey()`
+ * TODO: Implement `contains()`
+ * TODO: Implement `containsIgnoreCase()`
+ * TODO: Implement `isPrimitive()`
+ * TODO: Implement `matches()`
+ * TODO: Implement `matchesIgnoreCase()`
+ * TODO: Move multiple used code blocks into separate methods (like the logging output + reset)
+ * TODO: Use more getters, especially when implementing `elementAt()`
+ * TODO: Add examples to test methods
+ */
+function Tester(pCollectionName)
+{
+    this.collectionName = pCollectionName;
+    this.instanceName = undefined;
+    this.methods = [];
+    this.methodsCalled = [];
+
+    this.actualValue = undefined;
+    this.actualDisplayValue = undefined;
+    this.actualOriginalValue = undefined;
+    this.actualOriginalDisplayValue = undefined;
+    this.actualValueElementHierarchy = [];
+    this.expectedValue = undefined;
+    this.expectedDisplayValue = undefined;
+    this._assertDescription = "";
+    this._testResult = false;
+    this._useNegation = false;
+    this.dataProvider = undefined;
+    this.currentTestSuite = undefined;
+
+    this.testCount = 0;
+    this.successCount = 0;
+    this.failCount = 0;
+    this.startTime = new Date().getTime();
+    this.endTime = null;
+
+    this.t = new Terminal();
+    this.outputEnabled = true;
+    this.output = "";
+}
+
+/**
+ * Set the value to test
+ *
+ * @param {*} pValue
+ * @return {Tester}
+ */
+Tester.prototype.expectThat = function(pValue)
+{
+    this.actualValue = pValue;
+    this.actualDisplayValue = pValue;
+    this.actualOriginalValue = pValue;
+    this.actualOriginalDisplayValue = pValue;
+    this._useNegation = false;
+
+    return this;
+}
+
+/**
+ * Retrieve the result of the current test
+ *
+ * @return {Boolean}
+ */
+Tester.prototype.getTestResult = function()
+{
+    return this._useNegation ? !this._testResult : this._testResult;
+}
+
+/**
+ * Enable or disable the output
+ *
+ * @param {Boolean} pIsEnabled whether the output should be enabled or not
+ * @return {Tester}
+ */
+Tester.prototype.setOutputEnabled = function(pIsEnabled)
+{
+    this.outputEnabled = pIsEnabled;
+    return this;
+}
+
+/**
+ * Assert makes the test eventually pass or fail by looking at the result and writing into the output
+ *
+ * @return {void}
+ */
+Tester.prototype.assert = function()
+{
+    if(this.getTestResult() === true)
+    {
+        this.successCount++;
+        this._log("success", "\t\t\u2705 " + this._assertDescription);
+    }
+    else
+    {
+        this.failCount++;
+        this._log("error", "\t\t\u274C " + this._assertDescription);
+
+        if(this.actualDisplayValue !== undefined && this.expectedDisplayValue !== undefined)
+        {
+            this._log("warning", "\t\t\t expected: " + JSON.stringify(this.expectedDisplayValue, null, "\t"));
+            this._log("error", "\t\t\t actual:   " + JSON.stringify(this.actualDisplayValue, null, "\t"));
+        }
+    }
+}
+
+/**
+ * Activate test negation
+ *
+ * @return {Tester}
+ */
+Tester.prototype.not = function()
+{
+    this._useNegation = true;
+
+    return this;
+}
+
+/**
+ * Select a child element of `actualValue` to work with
+ *
+ * @param {(String|Number)} pKey the key of the child
+ * @return {Tester}
  * 
  * @example
- * var tester = new Tester("Test SqlBuilder");
- * tester.test(newSelectTests);
- * tester.test(validAndUsageTests);
- * tester.test(validOrUsageTests);
+ * // Grab first array element to test
+ * pTester.expectThat(actualValue).elementAt(0).equals("MyValue").assert();
  * 
- * logging.log("-------------------------");
- * tester.printResults();
+ * // Grab last array element to test
+ * pTester.expectThat(actualValue).elementAt(-1).equals("MyValue").assert();
  * 
- * @class
+ * // Grab object element to test
+ * pTester.expectThat(actualValue).elementAt("myKey").equals("MyValue").assert();
+ * 
+ * // Grab nested element in array/object structure to test, in this case `actualValue[5].myKey[2].someChild`
+ * pTester.expectThat(actualValue).elementAt(5).elementAt("myKey").elementAt(2).elementAt("someChild").equals("MyValue").assert();
  */
-function Tester(pCollectionName) 
+Tester.prototype.elementAt = function(pKey)
 {
-    this.collectionName = pCollectionName;
-    this.testResults = [];
+    if(!Array.isArray(this.actualValue) && !Utils.isObject(this.actualValue))
+    {
+        var error = new Error("actualValue must be array or object to use elementAt('" + pKey + "')");
+        error.name = "UnitTest_lib Error";
+        throw error;
+    }
+    
+    var key = Array.isArray(this.actualValue) && pKey === -1 ? this.actualValue.length - 1 : pKey;
     
-    // if no assert was called during a test, no test-message would be added. -> Add a success message that no error occoured.
-    this.currentTestHadAlreadyAssert = false;
+    this.actualValueElementHierarchy.push(key);
+    this.actualValue = this.actualValue[key];
+    this.actualDisplayValue = this.actualDisplayValue[key];
+
+    return this;
 }
 
 /**
- * generates a summary of the test results
- * 
- * @return {Obect}
+ * Test if a value is equal to a given value
+ *
+ * @param {*} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.equals = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    if(Utils.isObject(this.actualValue) || Utils.isObject(this.expectedValue))
+    {
+        this.expectedDisplayValue = JSON.stringify(this.actualValue);
+        this._testResult = Utils.isEqual(this.actualValue, this.expectedValue);
+        this._generateAssertDescription({custom: pCustomDescription, operator: "===", name: "Object value"});
+    }
+    else
+    {
+        this._testResult = this.actualValue === this.expectedValue;
+        this._generateAssertDescription({custom: pCustomDescription, operator: "==="});
+    }
+
+    return this;
+}
+
+/**
+ * Test if a value is greater than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isGreater = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue > this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">"});
+
+    return this;
+}
+
+/**
+ * Test if a value is greater or equal than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isGreaterEqual = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue >= this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">="});
+
+    return this;
+}
+
+/**
+ * Test if a value is lower than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLower = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue < this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<"});
+
+    return this;
+}
+
+/**
+ * Test if a value is lower or equal than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLowerEqual = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue <= this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<="});
+
+    return this;
+}
+
+/**
+ * Test if a value is a boolean
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isBoolean = function(pCustomDescription)
+{
+    this._setExpectValue("boolean");
+    this._testResult = Utils.isBoolean(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is a number
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNumber = function(pCustomDescription)
+{
+    this._setExpectValue("number");
+    this._testResult = Utils.isNumber(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is numeric
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNumeric = function(pCustomDescription)
+{
+    this._setExpectValue("numeric");
+    this._testResult = Utils.isNumeric(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is NaN (not a number)
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNaN = function(pCustomDescription)
+{
+    this._setExpectValue("NaN");
+    this._testResult = Number.isNaN(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an integer
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isInteger = function(pCustomDescription)
+{
+    this._setExpectValue("integer");
+    this._testResult = Utils.isInteger(this.actualValue);
+
+    this.actualDisplayValue = typeof this.actualValue;
+    this.expectedDisplayValue = "number";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is", expected: this.expectedValue});
+
+    return this;
+}
+
+/**
+ * Test if a value is a float
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isFloat = function(pCustomDescription)
+{
+    this._setExpectValue("float");
+    this._testResult = Utils.isFloat(this.actualValue);
+
+    this.actualDisplayValue = typeof this.actualValue;
+    this.expectedDisplayValue = "number";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is", expected: this.expectedValue});
+
+    return this;
+}
+
+/**
+ * Test if a value is a string
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isString = function(pCustomDescription)
+{
+    this._setExpectValue("string");
+    this._testResult = Utils.isString(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an array
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isArray = function(pCustomDescription)
+{
+    this._setExpectValue("array");
+    this._testResult = Array.isArray(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an object
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isObject = function(pCustomDescription)
+{
+    this._setExpectValue("object");
+    this._testResult = Utils.isObject(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is a function
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isFunction = function(pCustomDescription)
+{
+    this._setExpectValue("function");
+    this._testResult = Utils.isFunction(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is null
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNull = function(pCustomDescription)
+{
+    this._setExpectValue("null");
+    this._testResult = this.actualValue === null;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is undefined
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isUndefined = function(pCustomDescription)
+{
+    this._setExpectValue("undefined");
+    this._testResult = this.actualValue === undefined || typeof this.actualValue === "undefined";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a string value is lowercase
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isUpperCase = function(pCustomDescription)
+{
+    this._setExpectValue("uppercase");
+    this._testResult = Utils.isString(this.actualValue)
+                        && this.actualValue === this.actualValue.toUpperCase()
+                        && this.actualValue !== this.actualValue.toLowerCase()
+                        ;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a string value is lowercase
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLowerCase = function(pCustomDescription)
+{
+    this._setExpectValue("lowercase");
+    this._testResult = Utils.isString(this.actualValue)
+                        && this.actualValue === this.actualValue.toLowerCase()
+                        && this.actualValue !== this.actualValue.toUpperCase()
+                        ;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value starts with a given string
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {Number} pExpect the expected string beginning
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.startsWith = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = Utils.isString(this.actualValue) && this.actualValue.startsWith(this.expectedValue);
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "starts with"});
+
+    return this;
+}
+
+/**
+ * Test if a value end with a given string
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {Number} pExpect the expected string beginning
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.endsWith = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = Utils.isString(this.actualValue) && this.actualValue.endsWith(this.expectedValue);
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "ends with"});
+
+    return this;
+}
+
+/**
+ * Test if value is an instance of the expected "class"
+ *
+ * @param {Number} pExpect the expected instance name
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isInstanceOf = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    // Checks the name of the constructor and runs a function to check the actual instance.
+    // To prevent security issues by using `eval()`, a double nested function was needed.
+    // The outer one to evaluate the code, the inner one to be able to pass an argument, that will be evaluated.
+    // TODO: Also check for isObject() before
+    this._testResult = Utils.isObject(this.actualValue)
+                        && this.actualValue.constructor.name === this.expectedValue
+                        && Function('"use strict"; return function(obj) {return obj instanceof ' + this.expectedValue + ';};')()(this.actualValue);
+    this.actualDisplayValue = this.actualValue.constructor.name;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is instance of"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has the expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length === this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "===", nameSuffix: ".length"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has a minimum expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasMinLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length >= this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">=", nameSuffix: ".length"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has a maximum expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasMaxLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length <= this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<=", nameSuffix: ".length"});
+
+    return this;
+}
+
+
+/**
+ * Test if a callback function throws an exception
+ *
+ * @param {Number} pExpect the expected error
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
  */
-Tester.prototype.getSummary = function ()
+Tester.prototype.throwsException = function(pExpect, pCustomDescription)
 {
-    var summary = {
-        failures : 0,
-        successes : 0,
-        failedTests : [],
-        getMessage : function ()
+    this._setExpectValue(pExpect);
+    this._generateAssertDescription({custom: pCustomDescription, operator: "throws", expected: "exception", name: " "});
+
+    if(this._useNegation)
+    {
+        try
+        {
+            this.actualValue();
+        }
+        catch(e)
+        {
+            this._testResult = true; // Actually `false` and therefore failed, but must be `true` to make negation work
+            this.actualDisplayValue = e;
+            throw e;
+        }
+
+        this._testResult = false; // Actually `true` and therefore successful, but must be `false` to make negation work
+    }
+    else
+    {
+        try
         {
-            var message = "-------------------------\n"
-                + (this.failures ? "Test failure" : "Test success")
-                + "\n-------------------------\nTests performed: " + (this.successes + this.failures)
-                + "\nTests successful: " + this.successes
-                + "\nTests failed: " + this.failures;
-            if (this.failedTests.length)
+            this.actualValue();
+        }
+        catch(e)
+        {
+            this._testResult = e.toSource() === this.expectedValue.toSource();
+
+            if (!this._testResult)
             {
-                message += "\nFailures:";
-                this.failedTests.forEach(function (testName)
-                {
-                    message += "\n\t" + testName;
-                });
+                this.actualDisplayValue = e;
+                throw e;
             }
-            return message;
         }
     }
-    this.testResults.forEach(function ([testName,, successful])
-    {
-        if (successful)
-            summary.successes++;
+
+    return this;
+}
+
+/**
+ * Executes all tests in a TestSuite
+ *
+ * @param {TestSuite} pTestSuite the TestSuite which should be tested
+ * @return {void}
+ */
+Tester.prototype.test = function(pTestSuite)
+{
+    this.currentTestSuite = pTestSuite;
+    this._log("important", "\u2692 Suite: " + this.currentTestSuite.name);
+    this._registerMethodTestCall();
+
+    this.currentTestSuite.preAll(this);
+
+    this.currentTestSuite.tests.forEach(function(pTest) {
+        this._resetTest();
+
+        this.currentTestSuite.preTest(this);
+        this.dataProvider = pTest.dataProviderCallback();
+
+        if(Array.isArray(this.dataProvider) && this.dataProvider.length > 0)
+        {
+            this.dataProvider.forEach(function(pElement, pIndex) {
+                this._runTest(pTest, pIndex);
+            }, this);
+        }
         else
         {
-            summary.failures++;
-            summary.failedTests.push(testName);
+            this._runTest(pTest);
         }
+
+        this.currentTestSuite.postTest(this);
+    }, this);
+
+    this.currentTestSuite.postAll(this);
+}
+
+/**
+ * Calculate test duration
+ *
+ * Will we used in the results and summary output.
+ *
+ * @return {Number} the duration in milliseconds
+ */
+Tester.prototype.getDuration = function()
+{
+    if(this.endTime === null)
+    {
+        this.endTime = new Date().getTime();
+    }
+
+    return this.endTime - this.startTime;
+}
+
+/**
+ * Initializes test coverage by registering available and testable methods of given class
+ *
+ * @param {Object=} pInstanceName an optional class instance to make test coverage work
+ * @return {void}
+ */
+Tester.prototype.initCoverage = function(pInstanceName)
+{
+    if(pInstanceName !== undefined)
+    {
+        this.instanceName = pInstanceName;
+
+        var instanceMethods = Object.getOwnPropertyNames(this.instanceName.prototype).filter(function(property) {
+            return typeof this.instanceName.prototype[property] === 'function';
+        }, this);
+        var staticMethods = Object.getOwnPropertyNames(this.instanceName).filter(function(property) {
+            return typeof this.instanceName[property] === 'function';
+        }, this);
+
+        this.methods = instanceMethods.concat(staticMethods);
+    }
+}
+
+/**
+ * Get the results of current tester as object
+ *
+ * @return {Object} the test results
+ */
+Tester.prototype.getResults = function()
+{
+    return {
+        testCount: this.testCount,
+        assertCount: this.successCount + this.failCount,
+        successCount: this.successCount,
+        failCount: this.failCount,
+        duration: this.getDuration(),
+        coverage: this._getCoverageRate(),
+        methodsTotal: this.methods.length,
+        methodsCalled: this.methodsCalled.length
+    };
+}
+
+/**
+ * Output the summary for a single or multiple test suites to the server log
+ *
+ * The results of multiple tests get cumulated.
+ * There will be no log output if it has been disabled.
+ *
+ * @param {(Object|Object[])} pTestSuiteResults the test suite result(s) to log a summary for
+ * @return {void}
+ */
+Tester.prototype.summary = function(pTestSuiteResults)
+{
+    var testSuiteResults = pTestSuiteResults !== undefined && Array.isArray(pTestSuiteResults) ? pTestSuiteResults : [this.getResults()];
+    var divider = testSuiteResults.length > 1 ? "=" : "-";
+    var title = testSuiteResults.length > 1 ? "All Tests" : this.collectionName;
+
+    var testCount = 0;
+    var assertCount = 0;
+    var successCount = 0;
+    var failCount = 0;
+    var duration = 0;
+
+    testSuiteResults.forEach(function(pTestResult) {
+        testCount += pTestResult.testCount;
+        assertCount += pTestResult.assertCount;
+        successCount += pTestResult.successCount;
+        failCount += pTestResult.failCount;
+        duration += pTestResult.duration;
     });
-    return summary;
+
+    this._log("info", "\n" + title + " Summary:");
+    this._log("info", divider.repeat(32));
+    this._log("", "Total:    " + this.t.important(testCount + " Tests, " + assertCount + " Assertions"));
+    this._log("", "Passed:   " + (successCount === assertCount ? this.t.success(successCount) : this.t.warning(successCount)));
+    this._log("", "Failed:   " + (failCount === 0 ? this.t.success(failCount) : this.t.error(failCount)));
+    this._log("", "Time:     " + this.t.important(duration + "ms"));
+    this._log("", "Coverage: " + this._getCoverageOutput(testSuiteResults));
+    this._log("", "\n\n");
+
+    this._print();
 }
 
 /**
- * With assert you can test if a variable is the same like an expected value.<br/>
- * The test result is added to the Tester<br/>
+ * Write a certain message type to the output
+ *
+ * If the given message type is not valid/allowed, the output will be plain unformatted text.
+ *
+ * @param {String} pType the message type
+ * @param {String} pOutput the actual message
+ * @return {void}
  * 
- * Note: the values are compared by === so also the type is checked.<br/>
- * By using assert you can Test everything you want.<br/>
+ * @private
+ */
+Tester.prototype._log = function(pType, pOutput)
+{
+    var allowedTerminalMethods = ["debug", "success", "info", "error", "warning", "important"];
+
+    if(allowedTerminalMethods.indexOf(pType) !== -1)
+    {
+        this.output += "\n" + this.t[pType](pOutput);
+    }
+    else
+    {
+        this.output += "\n" + pOutput;
+    }
+}
+
+/**
+ * Set the value to test against
+ *
+ * @param {*} pValue
+ * @return {void}
  * 
- * @param {AnyValue} pExpect the expected value
- * @param {AnyValue} pActual the actual value
- * @param {String} [pTestDescription] this is an optional description. You should use it, if you have more than one .assert in your test.
+ * @private
  */
-Tester.prototype.assert = function (pExpect, pActual, pTestDescription)
+Tester.prototype._setExpectValue = function(pValue)
 {
-    this.currentTestHadAlreadyAssert = true;
-    
-    var res = pActual === pExpect;
+    this.expectedValue = pValue;
+    this.expectedDisplayValue = pValue;
+}
+
+/**
+ * Determine, whether an error is expected in the current test run
+ *
+ * @return {Boolean}
+ * 
+ * @private
+ */
+Tester.prototype._testExpectsError = function()
+{
+    return this.expectedValue instanceof Error;
+}
+
+/**
+ * Write the ouput to the log and reset the output to an empty string
+ *
+ * @return {Tester}
+ * 
+ * @private
+ */
+Tester.prototype._print = function()
+{
+    if(this.outputEnabled)
+    {
+        logging.log(this.output);
+    }
     
-    this.testResults.push([
-        this._currentTest,
-        pTestDescription,
-        res,
-        pExpect,
-        pActual
-    ]);
+    this.output = "";
+    return this;
 }
 
 /**
- * Executes all tests in a TestSuite
- * @param {TestSuite} pTestSuite the TestSuite which should be tested
+ * Generates and sets an assert description by given config object or simply set a given custom string
+ *
+ * It also handles using the correct operators when negation via `not()` is used
+ *
+ * @param {Object} pDescriptionConfig a config object
+ * @return {void}
+ * 
+ * @private
  */
-Tester.prototype.test = function (pTestSuite)
+Tester.prototype._generateAssertDescription = function(pDescriptionConfig)
 {
-    pTestSuite.preAll(this);
+    if(Utils.isString(pDescriptionConfig.custom))
+    {
+        this._assertDescription = pDescriptionConfig.custom;
+        return;
+    }
     
-    pTestSuite.tests.forEach(function(pTest) {
-        logging.log("Testing " + pTest[0]);
-        
-        this.currentTestHadAlreadyAssert = false;
-
-        this._currentTest = pTest[0];
-        pTestSuite.preTest(this);
-        
-        if (pTest.length >= 3)
+    Object.assign(pDescriptionConfig, pDescriptionConfig.custom);
+    var valueName = pDescriptionConfig.name || "value";
+    var valueNameSuffix = pDescriptionConfig.nameSuffix || "";
+    var operator = pDescriptionConfig.operator.trim();
+    var expectedValue = pDescriptionConfig.expected || this.expectedDisplayValue;
+    expectedValue = Utils.isString(expectedValue) ? "`" + expectedValue + "`" : expectedValue + "";
+
+    if(this._useNegation)
+    {
+        switch(operator)
         {
-            var errorThrowed = false;
-            
-            try {
-                pTest[1](this);
-            } catch (ex) {
-                errorThrowed = true;
-                
-                if (ex.toSource() == pTest[2].toSource())
-                {
-                    this.testResults.push([
-                        this._currentTest,
-                        "Expected error throwed",
-                        true,
-                        pTest[2].toSource(),
-                        ex.toSource()
-                    ]);
-
-                    // don't throw as it's expected and no detailed stacktrace is needed
-                }
-                else
-                {
-                    this.testResults.push([
-                        this._currentTest,
-                        "Expected error throwed",
-                        false,
-                        pTest[2].toSource(),
-                        ex.toSource()
-                    ]);
-                    
-                    logging.log("Expected error: " + pTest[2].toSource() + ", but wrong error occoured.\nRunning test again without try catch to get detailed error stack trace")
-                    
-                    pTestSuite.preTest(this);
-                    pTest[1](this);
-                    pTestSuite.postTest(this);
-                    return;
-                }
-            }
-            
-            if (!errorThrowed)
-            {
-                // if it didn't fail
-                this.testResults.push([
-                    this._currentTest,
-                    "Expected error throwed",
-                    false,
-                    pTest[2].toSource(),
-                    "no error"
-                ]);
-            }
+            case "===":
+                operator = "!==";
+                break;
+            case ">":
+                operator = "<=";
+                break;
+            case ">=":
+                operator = "<";
+                break;
+            case "<":
+                operator = ">=";
+                break;
+            case "<=":
+                operator = ">";
+                break;
+            case "is":
+            case "type is":
+            case "has":
+                operator += " not";
+                break;
+            case "is instance of":
+                operator += "is not instance of";
+                break;
+            case "starts with":
+            case "ends with":
+            case "throws":
+            default:
+                operator = "not " + operator;
+                break;
         }
-        else
+    }
+
+    this.actualValueElementHierarchy.forEach(function(pElement) {
+        valueName += typeof pElement === "number" ? "[" + pElement + "]" : "." + pElement;
+    }, this);
+    
+    var description = valueName + valueNameSuffix + " " + operator + " " + expectedValue;
+    this._assertDescription = description.trim();
+    this.actualValueElementHierarchy = [];
+}
+
+/**
+ * Reset test-related properties to their initial state
+ *
+ * This is done before every test run to prevent side-effects or expired/invalid data and states
+ *
+ * @return {Tester}
+ * 
+ * @private
+ */
+Tester.prototype._resetTest = function()
+{
+    this.actualValue = undefined;
+    this.actualDisplayValue = undefined;
+    this.actualOriginalValue = undefined;
+    this.actualOriginalDisplayValue = undefined;
+    this.actualValueElementHierarchy = [];
+    this.expectedValue = undefined;
+    this.expectedDisplayValue = undefined;
+    this._assertDescription = "";
+    this._testResult = false;
+    this._useNegation = false;
+
+    return this;
+}
+
+/**
+ * Get the length of a given value or undefined if it is not an array, object or string
+ *
+ * @param {(Array|Object|String)} pActualValue the value to get the length from
+ * @return {Number}
+ * 
+ * @private
+ */
+Tester.prototype._getLength = function(pActualValue)
+{
+    if(Array.isArray(pActualValue) || Utils.isString(pActualValue))
+    {
+        return pActualValue.length;
+    }
+    else if(Utils.isObject(pActualValue))
+    {
+        return Object.keys(pActualValue).length;
+    }
+
+    return undefined;
+}
+
+/**
+ * Get the percentage of test coverage
+ *
+ * Will we used in the results and summary output.
+ *
+ * @return {?Number} the duration in milliseconds
+ */
+Tester.prototype._getCoverageRate = function()
+{
+    if(this.methods.length === 0 && this.methodsCalled.length === 0)
+    {
+        return null;
+    }
+
+    if(this.methods.length === 0 || this.methodsCalled.length === 0)
+    {
+        return 0.00;
+    }
+
+    var coverage = (this.methodsCalled.length / this.methods.length) * 100;
+    coverage = Number.parseFloat(Number.parseFloat(coverage).toFixed(2));
+
+    return coverage > 100 ? 100.00 : coverage;
+}
+
+/**
+ * Register, which method of the given class has been called
+ *
+ * It takes the name of the TestSuite and splits it to get the class name and the method.
+ * Then, it checks if the class has such a method. It gets added to the call-list, if it has not been added yet.
+ * This is necessary to calculate the test coverage.
+ * All available class methods get registered beforehand and will be compared to this list later in `_getCoverageRate()`.
+ *
+ * @return {void}
+ * 
+ * @private
+ */
+Tester.prototype._registerMethodTestCall = function()
+{
+    if(this.instanceName !== undefined)
+    {
+        var callParts = this.currentTestSuite.name.split(".");
+
+        if(callParts[0] === this.instanceName.prototype.constructor.name && this.methods.indexOf(callParts[1]) !== -1)
         {
-            // run without try catch as no error expected
-            pTest[1](this);
+            if(this.methodsCalled.indexOf(callParts[1]) === -1)
+            {
+                this.methodsCalled.push(callParts[1]);
+            }
         }
-        
-        if (!this.currentTestHadAlreadyAssert && pTest.length < 3) // only add message if no error expected
-        {
-            this.testResults.push([
-                    this._currentTest,
-                    "Expected no error",
-                    true,
-                    "no error",
-                    "no error"
-                ]);
+    }
+}
+
+/**
+ * Renders the output for the test coverage
+ *
+ * The results of multiple tests get cumulated.
+ *
+ * @param {Object[]} pTestSuiteResults the test suite(s) to log a summary for
+ * @return {String} the test coverage output
+ */
+Tester.prototype._getCoverageOutput = function(pTestSuiteResults)
+{
+    var coverageOutput = this.t.debug("unknown");
+    var methodsTotal = 0;
+    var methodsCalled = 0;
+    var coverage = null;
+    var avgCoverage = null;
+    var coverageMethodCount = null;
+
+    pTestSuiteResults.forEach(function(pTestResult) {
+        methodsTotal += pTestResult.methodsTotal;
+        methodsCalled += pTestResult.methodsCalled;
+
+        if(pTestResult.coverage !== null) {
+            coverage += pTestResult.coverage;
         }
-            
-        pTestSuite.postTest(this);
-    }, this);
-    
-    pTestSuite.postAll(this);
+    });
+
+    if(coverage !== null)
+    {
+        avgCoverage = coverage / pTestSuiteResults.length;
+        coverageMethodCount = "(" + methodsCalled + "/" + methodsTotal + ")";
+    }
+
+    if(avgCoverage >= 80)
+    {
+        coverageOutput = this.t.success(avgCoverage + "% " + coverageMethodCount);
+    }
+    else if(avgCoverage >= 50)
+    {
+        coverageOutput = this.t.warning(avgCoverage + "% " + coverageMethodCount);
+    }
+    else if(avgCoverage > 0)
+    {
+        coverageOutput = this.t.error(avgCoverage + "% " + coverageMethodCount);
+    }
+
+    return coverageOutput;
 }
 
 /**
- * Prints the test results to the log
+ * Generates the title for the test about to run
+ *
+ * @param {Test} pTest the test to run
+ * @param {Number} pDataProviderIndex the current index of the data provider
+ * @return {void}
+ * 
+ * @private
  */
-Tester.prototype.printResults = function ()
+Tester.prototype._generateTestTitle = function(pTest, pDataProviderIndex)
 {
-    var lastTestDescription = "";
-    logging.log("Test results for \"" + this.collectionName + "\"")
-    this.testResults.forEach(function(pResult) {
-        
-        if (lastTestDescription != pResult[0])
+    if(pDataProviderIndex !== undefined)
+    {
+        var titleValues = [];
+
+        this.dataProvider[pDataProviderIndex].forEach(function(pElement) {
+            titleValues.push(pElement === undefined ? "undefined" : JSON.stringify(pElement));
+        });
+        this._log("", this.t.info("\t\u2699 Test: " + pTest.name) + this.t.debug(" (#" + (pDataProviderIndex + 1) + ": " + titleValues.join(" | ") + ")"));
+    }
+    else
+    {
+        this._log("info", "\t\u2699 Test: " + pTest.name);
+    }
+}
+
+/**
+ * Runs a single test iteration and handles errors
+ *
+ * @param {Test} pTest the test to run
+ * @param {Number} pDataProviderIndex the current index of the data provider
+ * @return {void}
+ * 
+ * @private
+ */
+Tester.prototype._runTest = function(pTest, pDataProviderIndex)
+{
+    this._generateTestTitle(pTest, pDataProviderIndex);
+    this.testCount++;
+
+    var dataProvider = pDataProviderIndex !== undefined ? this.dataProvider[pDataProviderIndex] : undefined;
+
+    try
+    {
+        pTest.callback(this, dataProvider);
+    }
+    catch (e)
+    {
+        this.assert();
+
+        // Expected, but wrong error
+        if (this._testExpectsError() && e.toSource() !== this.expectedValue.toSource())
         {
-            logging.log("Test \"" + pResult[0] + "\":");
+            this._log("error", "Wrong error occurred");
+            this._log("warning", "\t\t expected: " + this.expectedValue.toSource());
+            this._log("error", "\t\t actual:   " + e.toSource());
         }
-        
-        var message = (pResult[1] ? " - " + pResult[1] : " - Test result ") + ": " + (pResult[2] ? "success" : "fail\nexpected: " + JSON.stringify(pResult[3], null, "\t") + "\nactual: " + JSON.stringify(pResult[4], null, "\t"));
-        
-        logging.log(message);
-        lastTestDescription = pResult[0];
-    }, this);
-    logging.log(this.getSummary().getMessage());
-}
\ No newline at end of file
+        else
+        { // Unexpected error
+            this._log("error", "Unexpected error occurred");
+        }
+
+        var exception = logging.toLogString(e["rhinoException"] !== undefined ? e["rhinoException"] : e, true);
+        this._log("error", e.name + ":\n" + exception.replace(/\s+(at|\[->\])\s/g, "\n\t$1 "));
+        this._log("error", "jDito callstack:\n" + e.stack);
+
+        if(pTest.rerunOnError)
+        {
+            this._log("debug", "Rerun without try-catch to get detailed error stack trace");
+            this._print();
+
+            this.currentTestSuite.preTest(this);
+            pTest.callback(this, dataProvider);
+            this.currentTestSuite.postTest(this);
+        }
+    }
+}
diff --git a/process/UnitTest_test/UnitTest_test.aod b/process/UnitTest_test/UnitTest_test.aod
new file mode 100644
index 0000000000..095a395529
--- /dev/null
+++ b/process/UnitTest_test/UnitTest_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>UnitTest_test</name>
+  <title>[TEST] UnitTest_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/UnitTest_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/UnitTest_test/process.js b/process/UnitTest_test/process.js
new file mode 100644
index 0000000000..7d80b7995e
--- /dev/null
+++ b/process/UnitTest_test/process.js
@@ -0,0 +1,1141 @@
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+
+
+var equals = new TestSuite("Tester.equals", [
+    new Test("should test value equality",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).equals(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            var num = 0;
+            var str = '0';
+            var objStr = new String('0');
+            var obj_1 = {a: 1, b: 2, c: 3};
+            var obj_2 = {x: null, y: "test", z: true};
+            
+            return [
+                [true,  num,     num],
+                [true,  str,     str],
+                [true,  true,    true],
+                [true,  objStr,  objStr],
+                [true,  obj_1,   obj_1],
+                [true,  obj_2,   obj_2],
+                [false, true,    false],
+                [false, obj_1,   obj_2],
+                [false, num,     objStr],
+                [false, num,     str],
+                [false, objStr,  str],
+                [false, null,    undefined],
+                [false, objStr,  null],
+                [false, objStr,  undefined],
+                [false, null,    "null"],
+            ];
+        }
+    )
+]);
+
+var isGreater = new TestSuite("Tester.isGreater", [
+    new Test("should test if value is greater than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isGreater(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  1,    0],
+                [true,  100,  10],
+                [false, 3,    3],
+                [false, 0,    5],
+                [false, 1234, 5678],
+            ];
+        }
+    )
+]);
+
+var isGreaterEqual = new TestSuite("Tester.isGreaterEqual", [
+    new Test("should test if value is greater or equal than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isGreaterEqual(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  1,    0],
+                [true,  101,  100],
+                [true,  3,    3],
+                [false, 0,    5],
+                [false, 1234, 5678],
+            ];
+        }
+    )
+]);
+
+var isLower = new TestSuite("Tester.isLower", [
+    new Test("should test if value is lower than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLower(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0,    1],
+                [true,  10,   100],
+                [false, 3,    3],
+                [false, 5,    0],
+                [false, 5678, 1234],
+            ];
+        }
+    )
+]);
+
+var isLowerEqual = new TestSuite("Tester.isLowerEqual", [
+    new Test("should test if value is greater or equal than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLowerEqual(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0,    1],
+                [true,  100,  101],
+                [true,  3,    3],
+                [false, 5,    0],
+                [false, 5678, 1234],
+            ];
+        }
+    )
+]);
+
+var isBoolean = new TestSuite("Tester.isBoolean", [
+    new Test("should test if value is a boolean",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isBoolean().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  true],
+                [true,  false],
+                [false, "true"],
+                [false, "false"],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, new Object()],
+                [false, []],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNumber = new TestSuite("Tester.isNumber", [
+    new Test("should test if value is a number",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNumber().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  33.33333],
+                [true,  0xFFFFFF],
+                [true,  0777], // Octal
+                //[true,  0o777], // New octal format since ECMAScript 2015
+                //[true,  0b11111111], // Seems like binary numbers are not supported
+                [true,  2e6], // Exponentiation
+                [true,  0.1e2], // Exponentiation
+                [true,  +Infinity],
+                [true,  -Infinity],
+                [true,  NaN], // This should actually fail. Needs fix in Utils
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNumeric = new TestSuite("Tester.isNumeric", [
+    new Test("should test if value is numeric",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNumeric().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  33.33333],
+                [true,  "0777"], // Octal
+                [true,  "2e6"], // Exponentiation
+                [true,  "0.1e2"], // Exponentiation
+                [true,  +Infinity],
+                [true,  -Infinity],
+                [true,  NaN], // This should actually fail. Needs fix in Utils
+                [true,  "50000"],
+                [true,  "0"],
+                [false, ""],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNotANumber = new TestSuite("Tester.isNaN", [
+    new Test("should test if value is not NaN",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNaN().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  NaN],
+                [false, 0],
+                [false, 100],
+                [false, 33.33333],
+                [false, "0777"], // Octal
+                [false, "2e6"], // Exponentiation
+                [false, "0.1e2"], // Exponentiation
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, "50000"],
+                [false, "0"],
+                [false,  ""],
+                [false,  new Object()],
+                [false,  []],
+                [false,  true],
+                [false,  null],
+                [false,  undefined],
+            ];
+        }
+    )
+]);
+
+var isInteger = new TestSuite("Tester.isInteger", [
+    new Test("should test if value is an integer",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isInteger().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  0xFFFFFF],
+                [true,  0777], // Octal
+                [true,  2e6], // Exponentiation
+                [true,  0.1e2], // Exponentiation
+                [true,  "0"],
+                [false, 33.33333],
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, NaN],
+                [false, ""],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isFloat = new TestSuite("Tester.isFloat", [
+    new Test("should test if value is a float",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isFloat().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  33.33333],
+                [false, 0],
+                [false, 100],
+                [false, 0xFFFFFF],
+                [false, 0777], // Octal
+                [false, 2e6], // Exponentiation
+                [false, 0.1e2], // Exponentiation
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, NaN],
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isString = new TestSuite("Tester.isString", [
+    new Test("should test if value is a string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isString().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  ""],
+                [true,  "Hello"],
+                [true,  "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isArray = new TestSuite("Tester.isArray", [
+    new Test("should test if value is an array",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isArray().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  []],
+                [true,  ["a", 2, null]],
+                [true,  new Array()],
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, new Function()],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isObject = new TestSuite("Tester.isObject", [
+    new Test("should test if value is an object",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isObject().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  {}],
+                [true,  []],
+                [true,  ["a", 2, null]],
+                [true,  new Array()],
+                [true,  new Object()],
+                [true,  new String("hello")],
+                [false, new Function()],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isFunction = new TestSuite("Tester.isFunction", [
+    new Test("should test if value is a function",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isFunction().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  new Function()],
+                [true,  function(){}],
+                [true,  Math.sin],
+                [true,  Array.isArray],
+                [false, new Array()],
+                [false, new Object()],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNull = new TestSuite("Tester.isNull", [
+    new Test("should test if value is null",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNull().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  null],
+                [false, ""],
+                [false, "Hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isUndefined = new TestSuite("Tester.isUndefined", [
+    new Test("should test if value is undefined",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isUndefined().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  undefined],
+                [false, ""],
+                [false, "Hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+            ];
+        }
+    )
+]);
+
+var isUpperCase = new TestSuite("Tester.isUpperCase", [
+    new Test("should test if value is an uppercase string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isUpperCase().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "HELLO"],
+                [false, "HeLlo"],
+                [false, "hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isLowerCase = new TestSuite("Tester.isLowerCase", [
+    new Test("should test if value is a lowercase string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLowerCase().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "hello"],
+                [false, "HELLO"],
+                [false, "HeLlo"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var startsWith = new TestSuite("Tester.startsWith", [
+    new Test("should test if value starts with a given string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).startsWith(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "Millenium Falcon", "Mill"],
+                [false, "Millenium Falcon", "MILL"],
+                [false, "Millenium Falcon", "Abc"],
+                [false, "Millenium Falcon", "0"],
+            ];
+        }
+    )
+]);
+
+var endsWith = new TestSuite("Tester.endsWith", [
+    new Test("should test if value ends with a given string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).endsWith(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "Millenium Falcon", "con"],
+                [false, "Millenium Falcon", "CON"],
+                [false, "Millenium Falcon", "Abc"],
+                [false, "Millenium Falcon", "0"],
+            ];
+        }
+    )
+]);
+
+var isInstanceOf = new TestSuite("Tester.isInstanceOf", [
+    new Test("should test if value is an instance of given class",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isInstanceOf(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  new Tester(), "Tester"],
+                [true,  [],           "Array"],
+                [true,  {},           "Object"],
+                [false, "abc",        "String"],
+                [false, true,         "Boolean"],
+                [false, 0,            "Number"],
+            ];
+        }
+    )
+]);
+
+var hasLength = new TestSuite("Tester.hasLength", [
+    new Test("should test if value has the expected length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  ["a", "z"],       2],
+                [true,  new String("?!"), 2],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+
+var hasMinLength = new TestSuite("Tester.hasMinLength", [
+    new Test("should test if value has the expected minimum length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasMinLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  "abc",            2],
+                [true,  ["a", "z"],       2],
+                [true,  ["a", "z"],       1],
+                [true,  new String("?!"), 2],
+                [false, "abc",            4],
+                [false, ["a", "z"],       5],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+
+var hasMaxLength = new TestSuite("Tester.hasMaxLength", [
+    new Test("should test if value has the expected maximum length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasMaxLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  "abc",            4],
+                [true,  ["a", "z"],       2],
+                [true,  ["a", "z"],       3],
+                [true,  new String("?!"), 2],
+                [false, "abc",            2],
+                [false, ["a", "z"],       1],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+var not = new TestSuite("Tester.not", [
+    new Test("should test negation of compare tests",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var method = pDataProvider[1];
+            var actualValue = dummyTester.expectThat(pDataProvider[2]).not()[method](pDataProvider[3]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            var num = 0;
+            var str = '0';
+            var objStr = new String('0');
+            var obj_1 = {a: 1, b: 2, c: 3};
+            var obj_2 = {x: null, y: "test", z: true};
+            
+            return [
+                [true,  "equals",         true,               false],
+                [true,  "equals",         obj_1,              obj_2],
+                [true,  "equals",         num,                objStr],
+                [false, "equals",         num,                num],
+                [false, "equals",         str,                str],
+                [false, "equals",         true,               true],
+                [true,  "isGreater",      3,                  3],
+                [true,  "isGreater",      0,                  5],
+                [true,  "isGreater",      1234,               5678],
+                [false, "isGreater",      1,                  0],
+                [false, "isGreater",      100,                10],
+                [true,  "isGreaterEqual", 0,                  5],
+                [true,  "isGreaterEqual", 1234,               5678],
+                [false, "isGreaterEqual", 1,                  0],
+                [false, "isGreaterEqual", 101,                100],
+                [false, "isGreaterEqual", 3,                  3],
+                [true,  "isLower",        3,                  3],
+                [true,  "isLower",        5,                  0],
+                [true,  "isLower",        5678,               1234],
+                [false, "isLower",        0,                  1],
+                [false, "isLower",        10,                 100],
+                [true,  "isLowerEqual",   5,                  0],
+                [true,  "isLowerEqual",   5678,               1234],
+                [false, "isLowerEqual",   0,                  1],
+                [false, "isLowerEqual",   100,                101],
+                [false, "isLowerEqual",   3,                  3],
+                [true,  "startsWith",     "Millenium Falcon", "MILL"],
+                [true,  "startsWith",     "Millenium Falcon", "Abc"],
+                [true,  "startsWith",     "Millenium Falcon", "0"],
+                [false, "startsWith",     "Millenium Falcon", "Mill"],
+                [true,  "endsWith",       "Millenium Falcon", "CON"],
+                [true,  "endsWith",       "Millenium Falcon", "Abc"],
+                [true,  "endsWith",       "Millenium Falcon", "0"],
+                [false, "endsWith",       "Millenium Falcon", "con"],
+                [true,  "isInstanceOf",   "abc",              "String"],
+                [true,  "isInstanceOf",   true,               "Boolean"],
+                [true,  "isInstanceOf",   0,                  "Number"],
+                [false, "isInstanceOf",   new Tester(),       "Tester"],
+                [false, "isInstanceOf",   [],                 "Array"],
+                [false, "isInstanceOf",   {},                 "Object"],
+                [true,  "hasLength",      0,                  1],
+                [true,  "hasLength",      true,               1],
+                [true,  "hasLength",      null,               1],
+                [true,  "hasLength",      undefined,          1],
+                [false, "hasLength",      "",                 0],
+                [false, "hasLength",      [],                 0],
+                [false, "hasLength",      {},                 0],
+                [false, "hasLength",      "abc",              3],
+                [false, "hasLength",      ["a", "z"],         2],
+                [false, "hasLength",      new String("?!"),   2],
+            ];
+        }
+    ),
+    new Test("should test negation of type tests",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var method = pDataProvider[1];
+            var actualValue = dummyTester.expectThat(pDataProvider[2]).not()[method]().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "isBoolean",   "true"],
+                [true,  "isBoolean",   "false"],
+                [true,  "isBoolean",   ""],
+                [true,  "isBoolean",   "0"],
+                [true,  "isBoolean",   0],
+                [true,  "isBoolean",   new Object()],
+                [true,  "isBoolean",   []],
+                [true,  "isBoolean",   null],
+                [true,  "isBoolean",   undefined],
+                [false, "isBoolean",   true],
+                [false, "isBoolean",   false],
+                [true,  "isNumber",    ""],
+                [true,  "isNumber",    "0"],
+                [true,  "isNumber",    new Object()],
+                [true,  "isNumber",    []],
+                [true,  "isNumber",    true],
+                [true,  "isNumber",    null],
+                [true,  "isNumber",    undefined],
+                [false, "isNumber",    0],
+                [false, "isNumber",    100],
+                [false, "isNumber",    33.33333],
+                [false, "isNumber",    0xFFFFFF],
+                [false, "isNumber",    0777], // Octal
+                [false, "isNumber",    2e6], // Exponentiation
+                [false, "isNumber",    0.1e2], // Exponentiation
+                [false, "isNumber",    +Infinity],
+                [false, "isNumber",    -Infinity],
+                [false, "isNumber",    NaN],
+                [true,  "isNumeric",   ""],
+                [true,  "isNumeric",   new Object()],
+                [true,  "isNumeric",   []],
+                [true,  "isNumeric",   true],
+                [true,  "isNumeric",   null],
+                [true,  "isNumeric",   undefined],
+                [false, "isNumeric",   0],
+                [false, "isNumeric",   100],
+                [false, "isNumeric",   33.33333],
+                [false, "isNumeric",   "0777"], // Octal
+                [false, "isNumeric",   "2e6"], // Exponentiation
+                [false, "isNumeric",   "0.1e2"], // Exponentiation
+                [false, "isNumeric",   +Infinity],
+                [false, "isNumeric",   -Infinity],
+                [false, "isNumeric",   NaN],
+                [false, "isNumeric",   "50000"],
+                [false, "isNumeric",   "0"],
+                [true,  "isNaN",       0],
+                [true,  "isNaN",       100],
+                [true,  "isNaN",       33.33333],
+                [true,  "isNaN",       "0777"], // Octal
+                [true,  "isNaN",       "2e6"], // Exponentiation
+                [true,  "isNaN",       "0.1e2"], // Exponentiation
+                [true,  "isNaN",       +Infinity],
+                [true,  "isNaN",       -Infinity],
+                [true,  "isNaN",       "50000"],
+                [true,  "isNaN",       "0"],
+                [true,  "isNaN",       ""],
+                [true,  "isNaN",       new Object()],
+                [true,  "isNaN",       []],
+                [true,  "isNaN",       true],
+                [true,  "isNaN",       null],
+                [true,  "isNaN",       undefined],
+                [false, "isNaN",       NaN],
+                [true,  "isInteger",   33.33333],
+                [true,  "isInteger",   +Infinity],
+                [true,  "isInteger",   -Infinity],
+                [true,  "isInteger",   NaN],
+                [true,  "isInteger",   ""],
+                [true,  "isInteger",   new Object()],
+                [true,  "isInteger",   []],
+                [true,  "isInteger",   true],
+                [true,  "isInteger",   null],
+                [true,  "isInteger",   undefined],
+                [false, "isInteger",   0],
+                [false, "isInteger",   100],
+                [false, "isInteger",   0xFFFFFF],
+                [false, "isInteger",   0777], // Octal
+                [false, "isInteger",   2e6], // Exponentiation
+                [false, "isInteger",   0.1e2], // Exponentiation
+                [false, "isInteger",   "0"],
+                [true,  "isFloat",     0],
+                [true,  "isFloat",     100],
+                [true,  "isFloat",     0xFFFFFF],
+                [true,  "isFloat",     0777], // Octal
+                [true,  "isFloat",     2e6], // Exponentiation
+                [true,  "isFloat",     0.1e2], // Exponentiation
+                [true,  "isFloat",     +Infinity],
+                [true,  "isFloat",     -Infinity],
+                [true,  "isFloat",     NaN],
+                [true,  "isFloat",     ""],
+                [true,  "isFloat",     "0"],
+                [true,  "isFloat",     new Object()],
+                [true,  "isFloat",     []],
+                [true,  "isFloat",     true],
+                [true,  "isFloat",     null],
+                [true,  "isFloat",     undefined],
+                [false, "isFloat",     33.33333],
+                [true,  "isString",    new String('Hello')],
+                [true,  "isString",    []],
+                [true,  "isString",    0],
+                [true,  "isString",    true],
+                [true,  "isString",    null],
+                [true,  "isString",    undefined],
+                [false, "isString",    ""],
+                [false, "isString",    "Hello"],
+                [false, "isString",    "0"],
+                [true,  "isArray",     ""],
+                [true,  "isArray",     "0"],
+                [true,  "isArray",     new Object()],
+                [true,  "isArray",     new Function()],
+                [true,  "isArray",     0],
+                [true,  "isArray",     true],
+                [true,  "isArray",     null],
+                [true,  "isArray",     undefined],
+                [false, "isArray",     []],
+                [false, "isArray",     ["a", 2, null]],
+                [false, "isArray",     new Array()],
+                [true,  "isObject",    new Function()],
+                [true,  "isObject",    ""],
+                [true,  "isObject",    "0"],
+                [true,  "isObject",    0],
+                [true,  "isObject",    true],
+                [true,  "isObject",    null],
+                [true,  "isObject",    undefined],
+                [false, "isObject",    {}],
+                [false, "isObject",    []],
+                [false, "isObject",    ["a", 2, null]],
+                [false, "isObject",    new Array()],
+                [false, "isObject",    new Object()],
+                [false, "isObject",    new String("hello")],
+                [true,  "isFunction",  new Array()],
+                [true,  "isFunction",  new Object()],
+                [true,  "isFunction",  ""],
+                [true,  "isFunction",  "0"],
+                [true,  "isFunction",  0],
+                [true,  "isFunction",  true],
+                [true,  "isFunction",  null],
+                [true,  "isFunction",  undefined],
+                [false, "isFunction",  new Function()],
+                [false, "isFunction",  function(){}],
+                [false, "isFunction",  Math.sin],
+                [false, "isFunction",  Array.isArray],
+                [true,  "isNull",      ""],
+                [true,  "isNull",      "Hello"],
+                [true,  "isNull",      "0"],
+                [true,  "isNull",      new String('Hello')],
+                [true,  "isNull",      []],
+                [true,  "isNull",      0],
+                [true,  "isNull",      true],
+                [true,  "isNull",      undefined],
+                [false, "isNull",      null],
+                [true,  "isUndefined", ""],
+                [true,  "isUndefined", "Hello"],
+                [true,  "isUndefined", "0"],
+                [true,  "isUndefined", new String('Hello')],
+                [true,  "isUndefined", []],
+                [true,  "isUndefined", 0],
+                [true,  "isUndefined", true],
+                [true,  "isUndefined", null],
+                [false, "isUndefined", undefined],
+                [true,  "isUpperCase", "HeLlo"],
+                [true,  "isUpperCase", "hello"],
+                [true,  "isUpperCase", "0"],
+                [true,  "isUpperCase", new String('Hello')],
+                [true,  "isUpperCase", []],
+                [true,  "isUpperCase", 0],
+                [true,  "isUpperCase", true],
+                [true,  "isUpperCase", null],
+                [true,  "isUpperCase", undefined],
+                [false, "isUpperCase", "HELLO"],
+                [true,  "isLowerCase", "HELLO"],
+                [true,  "isLowerCase", "HeLlo"],
+                [true,  "isLowerCase", "0"],
+                [true,  "isLowerCase", new String('Hello')],
+                [true,  "isLowerCase", []],
+                [true,  "isLowerCase", 0],
+                [true,  "isLowerCase", true],
+                [true,  "isLowerCase", null],
+                [true,  "isLowerCase", undefined],
+                [false, "isLowerCase", "hello"],
+            ];
+        }
+    ),
+    new Test("should not affect other assertions",
+    function(pTester) {
+
+        var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+        //first assertion with not()-call
+        var expectValue = true;
+        var actualValue = dummyTester.expectThat("this value").not().equals("that other value").getTestResult();
+        pTester.expectThat(actualValue).equals(expectValue).assert();
+
+        //second test without not()-call => the first not()-call should not affect the second assertion
+        expectValue = false;
+        actualValue = dummyTester.expectThat("this value").equals("that other value").getTestResult();
+        pTester.expectThat(actualValue).equals(expectValue).assert();
+    }
+    )
+]);
+
+var elementAt = new TestSuite("Tester.elementAt", [
+    new Test("should test if value element at key position passes test",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var key = pDataProvider[2];
+            var method = pDataProvider[3];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).elementAt(key)[method](pDataProvider[4]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  ["a", "z", ["x", true, 42]],                0, "isString",  undefined],
+                [true,  ["a", "z", ["x", true, 42]],                1, "equals",    "z"],
+                [true,  ["a", "z", ["x", true, 42]],                2, "isArray",   undefined],
+                [true,  ["a", "z", ["x", true, 42]],                2, "hasLength", 3],
+                [true,  ["a", "z", {"first": "x", "second": true}], 2, "isObject",  undefined],
+                [true,  ["a", "z", {"first": "x", "second": true}], 2, "hasLength", 2],
+                [false, ["a", "z", ["x", true, 42]],                0, "isNumeric", undefined],
+                [false, ["a", "z", ["x", true, 42]],                1, "equals",    "a"],
+                [false, ["a", "z", ["x", true, 42]],                2, "isString",  undefined],
+                [false, ["a", "z", ["x", true, 42]],                2, "hasLength", 1],
+                [false, ["a", "z", {"first": "x", "second": true}], 2, "isArray",   undefined],
+                [false, ["a", "z", {"first": "x", "second": true}], 2, "hasLength", 1],
+            ];
+        }
+    ),
+    new Test("should test if nested value element at key position passes test",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var key1 = pDataProvider[2];
+            var key2 = pDataProvider[3];
+            var method = pDataProvider[4];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).elementAt(key1).elementAt(key2)[method](pDataProvider[5]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  [["x", true, [42]]],            0,       0,        "isString",  undefined],
+                [true,  [["x", true, [42]]],            0,       0,        "equals",    "x"],
+                [true,  [["x", true, [42]]],            0,       1,        "isBoolean", undefined],
+                [true,  [["x", true, [42]]],            0,       1,        "equals",    true],
+                [true,  [["x", true, [42]]],            0,       2,        "isArray",   undefined],
+                [true,  [{"first": "a", "second": 42}], 0,       "first",  "equals",    "a"],
+                [true,  [{"first": "a", "second": 42}], 0,       "second", "equals",    42],
+                [true,  {"outer": {"inner": "a"}},      "outer", "inner",  "isString",  undefined],
+                [true,  {"outer": {"inner": "a"}},      "outer", "inner",  "equals",    "a"],
+                [false, [["x", true, [42]]],            0,       1,        "equals",    "a"],
+                [false, [["x", true, [42]]],            0,       2,        "isNumber",  undefined],
+                [false, {"outer": {"inner": "a"}},      "outer", "inner",  "isNumber",  undefined],
+            ];
+        }
+    )
+]);
+
+var getCoverageRate = new TestSuite("Tester._getCoverageRate", [
+    new Test("should test if coverage is correctly calculated",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            dummyTester.methods = pDataProvider[1];
+            dummyTester.methodsCalled = pDataProvider[2];
+            var actualValue = dummyTester._getCoverageRate();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [100,   ["method1", "method2", "method3"], ["method1", "method2", "method3"]],
+                [33.33, ["method1", "method2", "method3"], ["method1"]],
+                [66.67, ["method1", "method2", "method3"], ["method1", "method2"]],
+                [100,   ["method1"],                       ["method1", "method2", "method3"]],
+                [0,     ["method1"],                       []],
+                [0,     [],                                ["method1"]],
+                [null,  [],                                []],
+            ];
+        }
+    )
+]);
+
+var getLength = new TestSuite("Tester._getLength", [
+    new Test("should test if value has the expected length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[1];
+            var actualValue = dummyTester._getLength(pDataProvider[0]);
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                ["",               0],
+                [[],               0],
+                [{},               0],
+                ["abc",            3],
+                [["a", "z"],       2],
+                [new String("?!"), 2],
+                [{first: "xyz"},   1],
+                [0,                undefined],
+                [true,             undefined],
+                [null,             undefined],
+                [undefined,        undefined],
+            ];
+        }
+    )
+]);
+
+
+
+var tester = new Tester("Test UnitTest_lib");
+tester.initCoverage(Tester);
+tester.test(equals);
+tester.test(isGreater);
+tester.test(isGreaterEqual);
+tester.test(isLower);
+tester.test(isLowerEqual);
+tester.test(isBoolean);
+tester.test(isNumber);
+tester.test(isNumeric);
+tester.test(isNotANumber);
+tester.test(isInteger);
+tester.test(isFloat);
+tester.test(isString);
+tester.test(isArray);
+tester.test(isObject);
+tester.test(isFunction);
+tester.test(isNull);
+tester.test(isUndefined);
+tester.test(isUpperCase);
+tester.test(isLowerCase);
+tester.test(startsWith);
+tester.test(endsWith);
+tester.test(isInstanceOf);
+tester.test(hasLength);
+tester.test(hasMinLength);
+tester.test(hasMaxLength);
+tester.test(not);
+tester.test(elementAt);
+tester.test(getCoverageRate);
+tester.test(getLength);
+
+tester.summary();
+    
+result.object(tester.getResults());
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 9dc7208091..97545be173 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -183,6 +183,39 @@ Utils.isNumber = function (pValue)
     return typeof pValue === "number";
 }
 
+/**
+ * Checks if the given value is numeric.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is numeric
+ */
+Utils.isNumeric = function (pValue)
+{
+    return Utils.isNumber(pValue) || (!isNaN(parseFloat(pValue)) && isFinite(pValue));
+}
+
+/**
+ * Checks if the given value is an integer.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is an integer
+ */
+Utils.isInteger = function (pValue)
+{
+    return Number.isInteger(parseFloat(pValue)) && isFinite(pValue);
+}
+
+/**
+ * Checks if the given value is a floating point number.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is a float
+ */
+Utils.isFloat = function (pValue)
+{
+    return !Number.isInteger(parseFloat(pValue)) && !isNaN(parseFloat(pValue)) && isFinite(pValue);
+}
+
 /**
  * Checks if the given value is an object. Be careful, null is also considered "object".
  * 
@@ -191,7 +224,7 @@ Utils.isNumber = function (pValue)
  */
 Utils.isObject = function (pValue)
 {
-    return typeof pValue === "object";
+    return typeof pValue === "object" && pValue !== null;
 }
 
 /**
diff --git a/process/_all_test/_all_test.aod b/process/_all_test/_all_test.aod
new file mode 100644
index 0000000000..4336a9ddb9
--- /dev/null
+++ b/process/_all_test/_all_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>_all_test</name>
+  <title>[TEST] .All</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/_all_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/_all_test/process.js b/process/_all_test/process.js
new file mode 100644
index 0000000000..cbc75f3584
--- /dev/null
+++ b/process/_all_test/process.js
@@ -0,0 +1,23 @@
+import("system.logging");
+import("system.process");
+import("UnitTest_lib");
+import("Terminal_lib");
+
+
+var testResults = [];
+
+process.getProcesses([process.VARIANT_EXECUTABLE]).forEach(function(pProcessName) {
+    // Run all executable processes ending with "_test" except THIS one
+    if(pProcessName !== "_all_test" && pProcessName.substr(-5, 5) === "_test") {
+        var startConfig = process.createStartConfig().setName(pProcessName);
+        var testResult = JSON.parse(process.start(startConfig));
+        
+        if(testResult !== null && typeof testResult === "object") {
+            testResults.push(testResult);
+        }
+    }
+});
+
+var tester = new Tester("");
+tester.summary(testResults);
+
-- 
GitLab


From bc67ab8720d96985af20b85e2483beaab2b96ae5 Mon Sep 17 00:00:00 2001
From: Johannes Goderbauer <j.goderbauer@adito.de>
Date: Fri, 30 Oct 2020 08:17:53 +0000
Subject: [PATCH 234/251] Merge branch '#1065112-unit-test' into '2020.2'

#1065112 unit test

See merge request xrm/basic!461

(cherry picked from commit 4028739296154fe0f0e9ffb41e64d1a16cad0563)

10c27fe4 #1065112: Massively refactored and extended UnitTest_lib including a collection runner
410b3453 #1065112: Update existing and add new UnitTests
34d19ace #1065112: Implement code coverage for Unit Tests
6d7e775d #1065112: Implement data providers for tests
e34f25b5 #1065112: Implement new string tests
0946c2ae #1065112: Switch data provider values for more consistency
67067782 #1065112: Documentation and some bug fixing
23de5e48 #1065112: Add coverage method count to output
fd7bb172 #1065112: Merge and update equality methods and add documentation
36412ea0 #1065112: Implement more tests
35dc9252 #1065112: Fix KeywordAttribute test
60f74598 #1065112: Add documentation
b2978f57 #1065112: Refactor test coverage
b7c9e55a #1065112: Add and improve documentation
6d505996 #1065112: Fix typo in docs
d05a4851 #1065112: Introduce display values for assertion and add stacktrace to errors
9ee07194 #1065112: Fix test process config
7d4fe5e4 #1065112: Implement rerun option for tests and improve exception handling
df86e7c7 #1065112: Implement test negation and therefore needed assert description generation
a5f3c230 #1065112: Fix failing keyword tests
619c88a4 #1065112: Improve exception handling
3eeaeb20 #1065112: Update keyword tests
aad8fb8f #1065112: Implement `elementAt()` and update tests
d3314c2d #1065112: Implement `hasMinLength()` and `hasMaxLength()` and update tests
873b3d41 #1065112: Reorder and rename methods, add documentation and update tests accordingly
d403e025 #1065112: Adapt coding guidelines
e32568de Bugfix: UnitTest_lib applied not()-call for all assertions
aae3b3f4 Split Sql_test into SqlBuilder_test and SqlMaskingUtils_test
b3608380 Disabled faulty Keyword_test
---
 .../KeywordAttribute_test.aod                 |   12 +
 process/KeywordAttribute_test/process.js      |  144 ++
 process/Keyword_test/Keyword_test.aod         |   12 +
 process/Keyword_test/process.js               |  143 ++
 process/SqlBuilder_test/SqlBuilder_test.aod   |   12 +
 process/SqlBuilder_test/process.js            | 1266 +++++++++++++++
 process/SqlLib_tests/process.js               | 1015 ------------
 .../SqlMaskingUtils_test.aod                  |   12 +
 process/SqlMaskingUtils_test/process.js       |  158 ++
 process/Sql_lib/documentation.adoc            |    4 +-
 .../Terminal_lib.aod}                         |    6 +-
 process/Terminal_lib/process.js               |  342 ++++
 process/UnitTest_lib/UnitTest_lib.aod         |    1 +
 process/UnitTest_lib/process.js               | 1374 ++++++++++++++---
 process/UnitTest_test/UnitTest_test.aod       |   12 +
 process/UnitTest_test/process.js              | 1141 ++++++++++++++
 process/Util_lib/process.js                   |   35 +-
 process/_all_test/_all_test.aod               |   12 +
 process/_all_test/process.js                  |   23 +
 19 files changed, 4531 insertions(+), 1193 deletions(-)
 create mode 100644 process/KeywordAttribute_test/KeywordAttribute_test.aod
 create mode 100644 process/KeywordAttribute_test/process.js
 create mode 100644 process/Keyword_test/Keyword_test.aod
 create mode 100644 process/Keyword_test/process.js
 create mode 100644 process/SqlBuilder_test/SqlBuilder_test.aod
 create mode 100644 process/SqlBuilder_test/process.js
 delete mode 100644 process/SqlLib_tests/process.js
 create mode 100644 process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
 create mode 100644 process/SqlMaskingUtils_test/process.js
 rename process/{SqlLib_tests/SqlLib_tests.aod => Terminal_lib/Terminal_lib.aod} (67%)
 create mode 100644 process/Terminal_lib/process.js
 create mode 100644 process/UnitTest_test/UnitTest_test.aod
 create mode 100644 process/UnitTest_test/process.js
 create mode 100644 process/_all_test/_all_test.aod
 create mode 100644 process/_all_test/process.js

diff --git a/process/KeywordAttribute_test/KeywordAttribute_test.aod b/process/KeywordAttribute_test/KeywordAttribute_test.aod
new file mode 100644
index 0000000000..5956980e85
--- /dev/null
+++ b/process/KeywordAttribute_test/KeywordAttribute_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>KeywordAttribute_test</name>
+  <title>[TEST] KeywordAttribute_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/KeywordAttribute_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/KeywordAttribute_test/process.js b/process/KeywordAttribute_test/process.js
new file mode 100644
index 0000000000..888e3a79bc
--- /dev/null
+++ b/process/KeywordAttribute_test/process.js
@@ -0,0 +1,144 @@
+import("system.result");
+import("system.translate");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+import("Sql_lib");
+
+
+var constructor = new TestSuite("KeywordAttribute.constructor", [
+    new Test("should throw error if no data is found and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword container \"%1\"", ["contacts", "AddressType"]));
+            pTester.expectThat(function() {
+                new KeywordAttribute("AddressType", "contacts");
+            }).throwsException(exception).assert();
+        }
+    ),
+
+    new Test("should not throw error if no data is found but default value is defined",
+        function(pTester) {
+            pTester.expectThat(function() {
+                new KeywordAttribute("AddressType", "contact", "testDefault");
+            }).not().throwsException().assert();
+        }
+    ),
+]);
+
+
+var getValue = new TestSuite("KeywordAttribute.getValue", [
+    new Test("should throw error if attribute does not exist in container and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword container \"%1\"", ["asdf", "AddressType"]));
+
+            pTester.expectThat(function() {
+                var ka = new KeywordAttribute("AddressType", "asdf");
+                ka.getValue("abc");
+            }).throwsException(exception).assert();
+        }
+    ),
+        
+    new Test("should throw error if attribute is not assigned to keyword and no default value is defined",
+        function(pTester) {
+            var exception = new Error(translate.withArguments("no keyword attribute \"%0\" found in keyword \"%1\" from container \"%2\"", ["contact", "abc", "AddressType"]));
+
+            pTester.expectThat(function() {
+                var ka = new KeywordAttribute("AddressType", "contact");
+                ka.getValue("abc");
+            }).throwsException(exception).assert();
+        }
+    ),
+
+    new Test("should return default value if defined but attribute does not exist in container",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "asdf", "testDefault");
+            var actualValue = ka.getValue("HOMEADDR");
+
+            pTester.expectThat(actualValue).equals("testDefault").assert();
+        }
+    ),
+
+    new Test("should return default value if defined and attribute exists in container but is not assigned to keyword",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "contact", "testDefault");
+            var actualValue = ka.getValue("abc");
+
+            pTester.expectThat(actualValue).equals("testDefault").assert();
+        }
+    ),
+
+    new Test("should return keywords boolean value (actually a number)",
+        function(pTester) {
+            var ka = new KeywordAttribute("AddressType", "organisation");
+            var actualValue = ka.getValue("HOMEADDR");
+
+            pTester.expectThat(actualValue).isNumeric().assert();
+            pTester.expectThat(actualValue).equals("0").assert();
+        }
+    ),
+
+    new Test("should return keywords number value (actually a string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("PaymentTerm", "dayNumber");
+            var actualValue = ka.getValue("PAYTERM30");
+
+            pTester.expectThat(actualValue).isNumeric().assert();
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals("30.00").assert();
+        }
+    ),
+        
+    new Test("should return keywords char value (string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("TaskStatus", "icon");
+            var actualValue = ka.getValue("ASSIGNED");
+
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals("NEON:STATUS_ASSIGNED").assert();
+        }
+    ),
+        
+    new Test("should return keywords long char value (string)",
+        function(pTester) {
+            var ka = new KeywordAttribute("TicketType", "attributes");
+            var actualValue = ka.getValue("SUPPORTTICKET");
+
+            pTester.expectThat(actualValue).isString().assert();
+            pTester.expectThat(actualValue).equals('["ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"]').assert();
+        }
+    ),
+]);
+
+
+var getSqlBuilderSelect = new TestSuite("KeywordAttribute.getSqlBuilderSelect", [
+    new Test("should return a SqlBuilder instance",
+        function(pTester) {
+            var ka = new KeywordAttribute("MemberRole", "Intern");
+            /** @type {SqlBuilder} */
+            var actualValue = ka.getSqlBuilderSelect();
+            
+            var expectQueryResult = [
+                "039fd6ae-b4ad-431e-86bf-59ed2f4df0a9",
+                "8cb1b843-713a-4193-aa50-9f5ca06820f8",
+                "9c421b0b-8529-4e07-9463-28d59fd027b6",
+                "b72294cd-3a46-4f71-ab93-72824f63f7f4",
+                "f78f229f-f809-4bd2-aca8-24e2f82fa220",
+            ];
+            var actualQueryResult = actualValue.orderBy("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID").arrayColumn();
+
+            pTester.expectThat(actualValue).isInstanceOf("SqlBuilder").assert();
+            pTester.expectThat(actualQueryResult).equals(expectQueryResult).assert();
+        }
+    ),
+]);
+
+
+var tester = new Tester("Test KeywordAttribute_lib");
+tester.initCoverage(KeywordAttribute);
+tester.test(constructor);
+tester.test(getValue);
+tester.test(getSqlBuilderSelect);
+
+tester.summary();
+    
+result.object(tester.getResults());
diff --git a/process/Keyword_test/Keyword_test.aod b/process/Keyword_test/Keyword_test.aod
new file mode 100644
index 0000000000..e654f56663
--- /dev/null
+++ b/process/Keyword_test/Keyword_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>Keyword_test</name>
+  <title>[TEST] Keyword_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/Keyword_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/Keyword_test/process.js b/process/Keyword_test/process.js
new file mode 100644
index 0000000000..d1b1d910e9
--- /dev/null
+++ b/process/Keyword_test/process.js
@@ -0,0 +1,143 @@
+import("system.result");
+import("system.translate");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+
+//this test will not work currently 
+//TODO: renable and fix the tests
+
+//var getContainerNames = new TestSuite("KeywordUtils.getContainerNames", [
+//    new Test("should return an alphabetically ascending ordered list of all keyword containers",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getContainerNames();
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasMinLength(1).assert();
+//            pTester.expectThat(actualValue).elementAt(0).equals("ActivityCategory").assert();
+//            pTester.expectThat(actualValue).elementAt(-1).equals("YesNo").assert();
+//        }
+//    )
+//]);
+//
+//
+//var getCategoryNameById = new TestSuite("KeywordUtils.getCategoryNameById", [
+//    new Test("should return existing keyword category name for correct uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b0");
+//
+//            pTester.expectThat(actualValue).equals("MemberRole").assert();
+//        }
+//    ),
+//
+//    new Test("should return non-existing keyword category name for wrong uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b1");
+//
+//            pTester.expectThat(actualValue).equals("<unknown>").assert();
+//        }
+//    ),
+//
+//    new Test("should return non-existing keyword category name for missing uuid",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryNameById();
+//
+//            pTester.expectThat(actualValue).equals("<unknown>").assert();
+//        }
+//    ),
+//]);
+//
+//
+//var getCategoryIdByName = new TestSuite("KeywordUtils.getCategoryIdByName", [
+//    new Test("should return existing keyword uuid for correct category name",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getCategoryIdByName("MemberRole");
+//
+//            pTester.expectThat(actualValue).equals("a55654b1-6a19-4d0c-b08d-cfbc12b5f7b0").assert();
+//        }
+//    ),
+//
+//    new Test("should throw exception for wrong keyword category name",
+//        function(pTester) {
+//            var exception = new Error(translate.withArguments("no keyword category \"%0\" found", ["AddressTypes"]));
+//            pTester.expectThat(function() {
+//                KeywordUtils.getCategoryIdByName("AddressTypes");
+//            }).throwsException(exception).assert();
+//        }
+//    ),
+//
+//    new Test("should throw exception for missing keyword category name",
+//        function(pTester) {
+//            var exception = new Error(translate.withArguments("no keyword category \"%0\" found", [""]));
+//            pTester.expectThat(function() {
+//                KeywordUtils.getCategoryIdByName();
+//            }).throwsException(exception).assert();
+//        }
+//    ),
+//]);
+//
+//
+//var getEntryNamesAndIdsByContainer = new TestSuite("KeywordUtils.getEntryNamesAndIdsByContainer", [
+//    new Test("should return an array of all keywords and their ID's for given container",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getEntryNamesAndIdsByContainer("ActivityDirection");
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasMinLength(1, {name: "array"}).assert();
+//            pTester.expectThat(actualValue).elementAt(0).isArray().assert();
+//            pTester.expectThat(actualValue).elementAt(0).hasLength(2).assert();
+//        }
+//    ),
+//
+//    new Test("should return an empty array for non-existent container",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.getEntryNamesAndIdsByContainer("Asdf");
+//
+//            pTester.expectThat(actualValue).isArray().assert();
+//            pTester.expectThat(actualValue).hasLength(0, {name: "array"}).assert();
+//        }
+//    ),
+//]);
+//
+//
+//var exists = new TestSuite("KeywordUtils.exists", [
+//    new Test("should return a boolean indicating that a known keyword in a known container exists",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("VISIT", "ActivityCategory");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(true, "known keyword exists in known container").assert();
+//        }
+//    ),
+//
+//    new Test("should return a boolean indicating that an unknown keyword in a known container does not exist",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("ASDF", "ActivityCategory");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(false, "unknown keyword does not exist in known container").assert();
+//        }
+//    ),
+//
+//    new Test("should return a boolean indicating that a known keyword in an unknown container does not exist",
+//        function(pTester) {
+//            var actualValue = KeywordUtils.exists("VISIT", "Asdf");
+//
+//            pTester.expectThat(actualValue).isBoolean().assert();
+//            pTester.expectThat(actualValue).equals(false, "known keyword does not exist in unknown container").assert();
+//        }
+//    ),
+//]);
+//
+//
+//var tester = new Tester("Test Keyword_lib");
+//tester.initCoverage(KeywordUtils);
+//tester.test(getContainerNames);
+//tester.test(getCategoryNameById);
+//tester.test(getCategoryIdByName);
+//tester.test(getEntryNamesAndIdsByContainer);
+//tester.test(exists);
+//
+//tester.summary();
+//    
+//result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/SqlBuilder_test/SqlBuilder_test.aod b/process/SqlBuilder_test/SqlBuilder_test.aod
new file mode 100644
index 0000000000..3992282911
--- /dev/null
+++ b/process/SqlBuilder_test/SqlBuilder_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>SqlBuilder_test</name>
+  <title>[TEST] Sql_lib - SqlBuilder</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/SqlBuilder_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/SqlBuilder_test/process.js b/process/SqlBuilder_test/process.js
new file mode 100644
index 0000000000..3ec9ec86dd
--- /dev/null
+++ b/process/SqlBuilder_test/process.js
@@ -0,0 +1,1266 @@
+import("system.db");
+import("system.result");
+import("system.vars");
+import("system.translate");
+import("system.logging");
+import("system.SQLTYPES");
+import("Sql_lib");
+import("UnitTest_lib");
+
+//SqlBuilder-tests:
+var newSelectTests = new TestSuite("SqlLib.newSelect", [
+    new Test("newSelect with just a string should just use it as select",
+        function(pTester)
+        {
+            var actualValue = newSelect("MySuper, Field, String")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("newSelect with just an array of strings should just use them concatenated as select",
+        function(pTester)
+        {
+            var actualValue = newSelect(["MySuper", "Field", "String"])
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("newSelect with just an SqlBuilder should use it as subselect",
+        function(pTester)
+        {
+            var actualValue = newSelect(new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz"))
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("newSelect an array of Strings and SqlBuilders should add them all",
+        function(pTester)
+        {
+            var actualValue = newSelect(["MySuper", "Field", "String", new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz")])
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select MySuper, Field, String, (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var validAndUsageTests = new TestSuite("SqlLib.validAndUsage", [
+    new Test("and should just add simple strings as condition just as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
+                                .and("PERSON.LASTNAME = 'Admin'")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = 'Tim' and PERSON.LASTNAME = 'Admin'").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("and should add a condition if field and value are passed",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim")
+                                .and("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should add a condition if value is an empty string",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "")
+                                .and("PERSON.LASTNAME", "")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should add a condition if field and value as jdito-var are passed",
+        function(pTester)
+        {
+            vars.set("$global.TestUnitValueName", "Tim");
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$global.TestUnitValueName")
+
+            pTester.expectThat(actualValue.toString()).equals("( PERSON.FIRSTNAME = 'Tim' ) ").assert();
+        }
+    ),
+
+    new Test("$ should be escaped by a second $ and the string should therefore just be used as string and not as jdito variable",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$$mySuperString")
+
+            pTester.expectThat(actualValue.toString()).equals("( PERSON.FIRSTNAME = '$mySuperString' ) ").assert();
+        }
+    ),
+
+    new Test("and should add a condition if value is a jdito-var containing an empty string",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarEmptyString", "");
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "$global.TestingVarEmptyString")
+                                .and("PERSON.LASTNAME", "$global.TestingVarEmptyString")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should use the given condition pattern",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
+                                .and("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME <> ? and PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and should use the given SQLTYPE if provided",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
+                                .and("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
+                                .and("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and PERSON.LASTNAME <> ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(0).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(1).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(2).elementAt(1).equals(SQLTYPES.INTEGER).assert();
+        }
+    ),
+
+    new Test("and only with a prepared statement-array should just use it as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where([
+                                    "PERSON.FIRSTNAME = ?", [["Peter", 12]]
+                                ])
+                                .and([
+                                    "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
+                                ])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? )  and  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("and only with a SqlBulder object should just use the condition from it",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(new SqlBuilder()
+                                    .select("TEST")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a builder as value and condition (field is null|undefined) should add the whole builder as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"),
+                                    "exists ?")  // Note: you can use SqlBuilder.EXISTS() instead of  "exists ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a builder as value and field should add the whole builder as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .and("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
+                                .and(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  and  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("and with a prepared statement-array as value and field should add the whole statement as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON.FIRSTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var validOrUsageTests = new TestSuite("SqlLib.validOrUsage", [
+    new Test("or should just add simple strings as condition just as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
+                                .or("PERSON.LASTNAME = 'Admin'")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = 'Tim' or PERSON.LASTNAME = 'Admin'").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("or should add a condition if field and value are passed",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim")
+                                .or("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or should use the given condition pattern",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
+                                .or("PERSON.LASTNAME", "Admin")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME <> ? or PERSON.LASTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or should use the given SQLTYPE if provided",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
+                                .or("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
+                                .or("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? or PERSON.LASTNAME <> ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+        }
+    ),
+
+    new Test("or only with a prepared statement-array should just use it as it is",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where([
+                                    "PERSON.FIRSTNAME = ?", [["Peter", 12]]
+                                ])
+                                .or([
+                                    "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
+                                ])
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? )  or  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("or only with a SqlBulder object should just use the condition from it",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a builder as value and condition (field is null|undefined) should add the whole builder as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"),
+                                    "exists ?")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a builder as value and field should add the whole builder as subquery with field = (subquery)",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                    .select("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("or with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
+                                .or(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  or  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+]);
+
+var combinedAndOrTests = new TestSuite("SqlLib.combinedAndOr", [
+    new Test("or combining two and",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", "Tim")
+                            .and("PERSON.LASTNAME", "Admin")
+                            .or(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .and("PERSON.LASTNAME", "Müller"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("(PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?) or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("and combining two or",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Tim")
+                                    .or("PERSON.LASTNAME", "Admin"))
+                            .and(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .or("PERSON.LASTNAME", "Müller"))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("some and/or combinations in one select",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", "Tim")
+                            .or("PERSON.FIRSTNAME", "Franz")
+                            .and("PERSON.LASTNAME", "Admin")
+                            .and(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .or("PERSON.LASTNAME", "Müller"))
+                            .or("PERSON.FIRSTNAME", "Franz")
+                            .and("PERSON.FIRSTNAME", "Franz")
+                            .or(new SqlBuilder()
+                                    .where("PERSON.FIRSTNAME", "Peter")
+                                    .and("PERSON.LASTNAME", "Müller")
+                                    .and(new SqlBuilder()
+                                            .where("PERSON.FIRSTNAME", "Peter")
+                                            .or("PERSON.LASTNAME", "Müller")))
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME = ? or PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  or (PERSON.FIRSTNAME = ?) and PERSON.FIRSTNAME = ? or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(11).assert();
+        }
+    ),
+]);
+
+
+var ifSetTests = new TestSuite("SqlLib.ifSet", [
+    new Test("simple and if set with all types of empty values.",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.LASTNAME", null)
+                            .andIfSet("PERSON.LASTNAME", undefined)
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("jdito variable with null",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.FIRSTNAME", "$global.TestingVarNull")
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("empty simple conditions",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("")
+                            .andIfSet(["", []])
+                            .andIfSet(new SqlBuilder())
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+
+    new Test("empty subqueries",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .whereIfSet("PERSON.FIRSTNAME", ["", []])
+                            .andIfSet("PERSON.LASTNAME", new SqlBuilder())
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("", "no sql should be added").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0, "no params should be added").assert();
+        }
+    ),
+]);
+
+
+function cleanWrapperTests()
+{
+    try {
+        db.runStatement("drop table SQL_LIB_TEST_TABLE");
+    } catch(ex) {}
+
+    try {
+        db.deleteData("PERSON", "PERSONID in ('TEST-5', 'TEST-6')")
+    } catch(ex) {}
+
+}
+
+
+var dbWrapperTests = new TestSuite("SqlLib.dbWrapper", [
+    new Test("cell should load only one value",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5")
+            var actualValue = builder.cell()
+
+            pTester.expectThat(actualValue).equals("Franz").assert();
+        }
+    ),
+
+    new Test("cell should just return '' if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON")
+            var actualValue = builder.cell(true)
+
+            pTester.expectThat(actualValue).equals("").assert();
+        }
+    ),
+
+    new Test("cell should return a value if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.cell(false)
+
+            pTester.expectThat(actualValue).not().equals("").assert();
+            pTester.expectThat(actualValue).not().isNull().assert();
+            pTester.expectThat(actualValue).not().isUndefined().assert();
+        }
+    ),
+
+    new Test("array should load an array of values",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5");
+
+            var actualValue = builder.array(db.ROW);
+            pTester.expectThat(actualValue).elementAt(0).equals("Franz", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(1).equals("Müller", {name: "lastname"}).assert();
+        }
+    ),
+
+    new Test("array should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+
+            var actualValue = builder.array(db.ROW, true);
+            pTester.expectThat(actualValue).hasLength(0).assert();
+        }
+    ),
+
+    new Test("array should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+
+            var actualValue = builder.array(db.ROW, false);
+            pTester.expectThat(actualValue).hasMinLength(1).assert();
+        }
+    ),
+
+    new Test("table should load an array of arrays with values",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON")
+                                .where("PERSON.PERSONID", "TEST-5")
+                                .or("PERSON.PERSONID", "TEST-6")
+                                .orderBy("PERSONID asc");
+
+            var actualValue = builder.table();
+            pTester.expectThat(actualValue).elementAt(0).elementAt(0).equals("Franz", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(0).elementAt(1).equals("Müller", {name: "lastname"}).assert();
+
+            pTester.expectThat(actualValue).elementAt(1).elementAt(0).equals("Marco", {name: "firstname"}).assert();
+            pTester.expectThat(actualValue).elementAt(1).elementAt(1).equals("Polo", {name: "lastname"}).assert();
+        }
+    ),
+
+    new Test("table should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.table(true);
+
+            pTester.expectThat(actualValue).hasLength(0).assert();
+        }
+    ),
+
+    new Test("table should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            var builder = new SqlBuilder()
+                                .select("FIRSTNAME, LASTNAME")
+                                .from("PERSON");
+
+            var actualValue = builder.table(false);
+            pTester.expectThat(actualValue).hasMinLength(1).assert();
+        }
+    ),
+
+    new Test("delete should delete the data and use the from and condition from the builder",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            var actualValue = builder.deleteData();
+            pTester.expectThat(actualValue).equals(1).assert();
+        }
+    ),
+
+    new Test("delete should delete the data from the provided table and use the condition from the builder. It ignores .from if a table is given.",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("PERSON")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            var actualValue = builder.deleteData(false, "SQL_LIB_TEST_TABLE");
+            pTester.expectThat(actualValue).equals(1).assert();
+        }
+    ),
+
+    new Test("delete should delete ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            var actualValue = builder.deleteData(false);
+            pTester.expectThat(actualValue).equals(2).assert();
+        }
+    ),
+
+    new Test("delete should delete NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            var actualValue = builder.deleteData(true);
+            pTester.expectThat(actualValue).equals(0).assert();
+        }
+    ),
+
+    new Test("update should update the data and use the from and condition from the builder",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+
+            pTester.expectThat(actualValue).equals("Fritz").assert();
+        }
+    ),
+
+    new Test("update should update the data from the provided table and use the condition from the builder. It ignores .from if a table is given.",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("PERSON")
+                                .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
+
+            builder.updateData(false, "SQL_LIB_TEST_TABLE", ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+
+            pTester.expectThat(actualValue).equals("Fritz").assert();
+        }
+    ),
+
+    new Test("update should update ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+            var actualValue2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
+
+            pTester.expectThat(actualValue1).equals("Fritz", "TEST-7 should have Firstname Fritz").assert();
+            pTester.expectThat(actualValue2).equals("Fritz", "TEST-8 should have Firstname Fritz").assert();
+        }
+    ),
+
+    new Test("update should update NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true",
+        function(pTester)
+        {
+            db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')")
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
+            db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
+
+            var builder = new SqlBuilder()
+                                .from("SQL_LIB_TEST_TABLE")
+
+            builder.updateData(true, undefined, ["FIRSTNAME"], null, ["Fritz"]);
+
+            var actualValue1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
+            var actualValue2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
+
+            pTester.expectThat(actualValue1).equals("Ludwig", "TEST-7 should have Firstname Ludwig").assert();
+            pTester.expectThat(actualValue2).equals("Franz", "TEST-8 should have Firstname Franz").assert();
+        }
+    ),
+], function preAll()
+{
+    // remove data which may exist if previous test-run failed and postAll was not executed
+    cleanWrapperTests();
+
+    // add table for save testing of deletes
+    db.runStatement("create table SQL_LIB_TEST_TABLE (TESTID varchar(36), FIRSTNAME varchar(100), LASTNAME varchar(100))");
+
+    // add test persons
+    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-5", "Franz", "Müller", "testuser", vars.get("$sys.date")])
+    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-6", "Marco", "Polo", "testuser", vars.get("$sys.date")])
+}, undefined, undefined, function postAll()
+{
+    cleanWrapperTests();
+})
+
+
+var mandatoryErrorTests = new TestSuite("SqlLib.mandatoryError", [
+// and
+    new Test("and without parameter should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or();
+            }).throwsException(SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()).assert();
+        }
+    ),
+
+    new Test("and with null as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with undefined as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with a jdito-var containing null should error",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()).assert();
+        }
+    ),
+
+    new Test("and with an empty sql-builder as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("and with an empty prepared statement as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+
+// or
+    new Test("or without parameter should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or();
+            }).throwsException(SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()).assert();
+        }
+    ),
+
+    new Test("or with null as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with undefined as value should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with a jdito-var containing null should error",
+        function(pTester)
+        {
+            vars.set("$global.TestingVarNull", null);
+
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()).assert();
+        }
+    ),
+
+    new Test("or with an empty sql-builder as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+
+    new Test("or with an empty prepared statement as subquery should error",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+]);
+
+
+var inStatementTests = new TestSuite("SqlLib.inStatement", [
+    new Test("simple and in",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.LASTNAME", ["Franz", "Fritz"], SqlBuilder.IN()) // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
+                                .or("PERSON.LASTNAME", ["Peter", "Mayer"], SqlBuilder.IN());
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.LASTNAME in  (?, ?)  )  or  ( PERSON.LASTNAME in  (?, ?)  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(4).assert();
+        }
+    ),
+
+    new Test("simple and not in",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .where("PERSON.LASTNAME", ["Franz", "Fritz"], "# not in ?"); // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( PERSON.LASTNAME not in  (?, ?)  ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(2).assert();
+        }
+    ),
+
+    new Test("in with subquery",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", new SqlBuilder()
+                                                            .select("PERSON.FIRSTNAME")
+                                                            .from("PERSON")
+                                                            .where("PERSON.LASTNAME", "Fritz")
+                                                    , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("in with prepared statement-array",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                            .where("PERSON.FIRSTNAME", ["select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ?", [["Fritz", SQLTYPES.VARCHAR]]]
+                                                    , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("andIfSet should ignore empty array",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                                .whereIfSet("PERSON.LASTNAME", []);
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals("").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+
+    new Test("and should error on an empty array",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.LASTNAME", []);
+            }).throwsException(SqlBuilder._ERROR_VALUE_IS_MANDATORY()).assert();
+        }
+    ),
+]);
+
+
+var testConstantFunctions = new TestSuite("SqlLib.testConstantFunc", [
+    new Test("SqlBuilder.IN()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.IN();
+            pTester.expectThat(actualValue).equals("# in ?").assert();
+        }
+    ),
+
+    new Test("SqlBuilder.NOT_IN()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.NOT_IN();
+            pTester.expectThat(actualValue).equals("# not in ?").assert();
+        }
+    ),
+
+    new Test("SqlBuilder.EXISTS()",
+        function(pTester)
+        {
+            var actualValue = SqlBuilder.EXISTS();
+            pTester.expectThat(actualValue).equals("exists ?").assert();
+        }
+    ),
+]);
+
+
+var selectTests = new TestSuite("SqlLib.select", [
+    new Test("a sql-builder in a fields-array is translated to sql correctly",
+        function(pTester)
+        {
+            var countSubQuery = newSelect("count(*)")
+                                    .from("AB_ATTRIBUTEUSAGE")
+                                    .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", "myType")
+                                    .and("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID");
+
+            var actualValue = new SqlBuilder()
+                .select(["AB_ATTRIBUTEID", "AB_ATTRIBUTEUSAGEID", countSubQuery])
+                .from("AB_ATTRIBUTE")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select AB_ATTRIBUTEID, AB_ATTRIBUTEUSAGEID, (select count(*) from AB_ATTRIBUTEUSAGE where AB_ATTRIBUTEUSAGE.OBJECT_TYPE = ? and AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID)").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("a sql-builder in from is used as subselect",
+        function(pTester)
+        {
+            var subQuery = newSelect("FIRSTNAME")
+                                    .from("PERSON")
+                                    .where("PERSON.LASTNAME", "Meier")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from(subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select FIRSTNAME from PERSON where PERSON.LASTNAME = ?)").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var joinTests = new TestSuite("SqlLib.join", [
+    new Test("SqlBuilder as on-condition should only add the conditon of the builder",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join("ORGANISATION", subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join ORGANISATION on ORGANISATION.NAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("SqlBuilder as table for join is added as subselect",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join(subQuery, "orgname.NAME = TABLE2.NAME", "orgname")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join (select NAME from ORGANISATION where ORGANISATION.NAME = ?) orgname on orgname.NAME = TABLE2.NAME").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("just use a string also containing a condition as join without additional condition",
+        function(pTester)
+        {
+            var actualValue = new SqlBuilder()
+                .select("*")
+                .from("PERSON")
+                .join("TABLE1 on TABLE1.NAME = TABLE2.NAME")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join TABLE1 on TABLE1.NAME = TABLE2.NAME").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(0).assert();
+        }
+    ),
+]);
+
+
+var subqueryAsFieldTests = new TestSuite("SqlLib.subqueryAsField", [
+    new Test("Test if a Subselect as field works if pValue is provided. This should be added as subselect.",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                    .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+
+            var actualValue = new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR)
+                                         .and("PERSON.FIRSTNAME", "val3");
+
+
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("_sqlStorage").equals(" ( ( select NAME from ORGANISATION where ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and PERSON.FIRSTNAME = ? ) = ? )  and PERSON.FIRSTNAME = ?").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").hasLength(3).assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(0).elementAt(0).equals("val1").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(1).elementAt(0).equals("val2").assert();
+            pTester.expectThat(actualValue).elementAt("_where").elementAt("preparedValues").elementAt(2).elementAt(0).equals("val3").assert();
+        }
+    ),
+
+    new Test("Test if a Subselect as field should error if no SQLTYPE is provided.",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                var subQuery = newSelect("NAME")
+                                .from("ORGANISATION")
+                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+                new SqlBuilder().where(subQuery, "val2", "# = ?");
+            }).throwsException(SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NO_FIELD_TYPE()).assert();
+        }
+    ),
+
+    new Test("Test if a Subselect as field should error if it is not a full select.",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                var subQuery = newSelect("NAME")
+                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
+                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
+
+                new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR);
+            }).throwsException(SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NOT_COMPLETE()).assert();
+        }
+    ),
+]);
+
+
+var conditionFormatTests = new TestSuite("SqlLib.conditionFormat", [
+    new Test("pCondition should not fail if # an ? exist in correct order",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder()
+                    .where("PERSON.FIRSTNAME", "val1", "# = ?")
+                    .and("PERSON.FIRSTNAME", "val1", "asdf # fdsa=asdf ?fdas")
+                    ;
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should not fail if # an ? exist in correct order and there are additional, escaped # and ?",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "\\? # \\#= ?");
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should not fail if only ? exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "?")
+            }).not().throwsException().assert();
+        }
+    ),
+
+    new Test("pCondition should fail if more than one ? exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? test ?")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+
+    new Test("pCondition should fail if more than one # exists",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# test #")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+
+    new Test("pCondition should fail if # and ? are in wrong order",
+        function(pTester)
+        {
+            pTester.expectThat(function() {
+                new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? = #")
+            }).throwsException(SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()).assert();
+        }
+    ),
+]);
+
+
+var subqueryAliasTests = new TestSuite("SqlLib.subqueryAlias", [
+    new Test("subselectAlias should be added for subquery in .select",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .select([subQuery, "FIRSTNAME"])
+                .from("PERSON")
+
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("_sqlStorage").equals("select (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias, FIRSTNAME").assert();
+            pTester.expectThat(actualValue).elementAt("_select").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be added for subquery in .from",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from(subQuery)
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be overruled by the param in in .from",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from(subQuery, "overwriteAlias")
+
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("_sqlStorage").equals("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias").assert();
+            pTester.expectThat(actualValue).elementAt("_from").elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+
+    new Test("subselectAlias should be added for subquery in .join",
+        function(pTester)
+        {
+            var subQuery = newSelect("NAME, ORGANISATIONID")
+                                    .from("ORGANISATION")
+                                    .where("ORGANISATION.NAME", "Adito")
+                                    .subselectAlias("testAlias")
+
+            var actualValue = new SqlBuilder()
+                .from("CONTACT")
+                .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID")
+                .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID", "overwriteAlias")
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("_sqlStorage").equals("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) testAlias on testAlias.ORGANISATIONID = ORGANISATION_ID").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(0).elementAt("preparedValues").hasLength(1).assert();
+
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(1).elementAt("_sqlStorage").equals("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias on testAlias.ORGANISATIONID = ORGANISATION_ID").assert();
+            pTester.expectThat(actualValue).elementAt("_joins").elementAt(1).elementAt("preparedValues").hasLength(1).assert();
+        }
+    ),
+]);
+
+
+var tester = new Tester("Test SqlBuilder");
+tester.test(newSelectTests);
+tester.test(validAndUsageTests);
+tester.test(validOrUsageTests);
+tester.test(combinedAndOrTests);
+tester.test(ifSetTests);
+tester.test(dbWrapperTests);
+tester.test(mandatoryErrorTests);
+tester.test(inStatementTests);
+tester.test(testConstantFunctions);
+tester.test(selectTests);
+tester.test(joinTests);
+tester.test(subqueryAsFieldTests);
+tester.test(conditionFormatTests);
+tester.test(subqueryAliasTests);
+
+tester.summary();
+
+result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/SqlLib_tests/process.js b/process/SqlLib_tests/process.js
deleted file mode 100644
index 924162e2a4..0000000000
--- a/process/SqlLib_tests/process.js
+++ /dev/null
@@ -1,1015 +0,0 @@
-import("system.db");
-import("system.vars");
-import("system.translate");
-import("system.logging");
-import("system.SQLTYPES");
-import("Sql_lib");
-import("UnitTest_lib");
-
-var newSelectTests = new TestSuite([
-    ["newSelect with just a string schould just use it as select", function(pTester)
-    {
-        var actual = newSelect("MySuper, Field, String")
-
-        pTester.assert("select MySuper, Field, String", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect with just an array of strings schould just use them concatenated as select", function(pTester)
-    {
-        var actual = newSelect(["MySuper", "Field", "String"])
-
-        pTester.assert("select MySuper, Field, String", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect with just an SqlBuilder should use it as subselect", function(pTester)
-    {
-        var actual = newSelect(new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz"))
-
-        pTester.assert("select (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["newSelect an array of Strings and SqlBuilders should add them all", function(pTester)
-    {
-        var actual = newSelect(["MySuper", "Field", "String", new SqlBuilder().select("PERSONID").from("PERSON").where("PERSON.FIRSTNAME", "Fritz")])
-
-        pTester.assert("select MySuper, Field, String, (select PERSONID from PERSON where PERSON.FIRSTNAME = ?)", actual._select._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-]);
-
-var validAndUsageTests = new TestSuite([
-    ["and should just add simple strings as condition just as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
-                            .and("PERSON.LASTNAME = 'Admin'")
-
-        pTester.assert("PERSON.FIRSTNAME = 'Tim' and PERSON.LASTNAME = 'Admin'", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if field and value are passed", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim")
-                            .and("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if value is an empty string", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "")
-                            .and("PERSON.LASTNAME", "")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should add a condition if field and value as jdito-var are passed", function(pTester)
-    {
-        vars.set("$global.TestUnitValueName", "Tim");
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$global.TestUnitValueName")
-                            
-        pTester.assert("( PERSON.FIRSTNAME = 'Tim' ) ", actual.toString());
-    }],
-
-    ["$ should be escaped by a second $ and the string should therefore just be used as string and not as jdito variable", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$$mySuperString")
-                            
-        pTester.assert("( PERSON.FIRSTNAME = '$mySuperString' ) ", actual.toString());
-    }],
-
-    ["and should add a condition if value is a jdito-var containing an empty string", function(pTester)
-    {
-        vars.set("$global.TestingVarEmptyString", "");
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "$global.TestingVarEmptyString")
-                            .and("PERSON.LASTNAME", "$global.TestingVarEmptyString")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should use the given condition pattern", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
-                            .and("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME <> ? and PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and should use the given SQLTYPE if provided", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
-                            .and("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
-                            .and("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
-        
-        pTester.assert("PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and PERSON.LASTNAME <> ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[0][1], "sql type of param 1 is the provided type");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[1][1], "sql type of param 2 is the provided type");
-        pTester.assert(SQLTYPES.INTEGER, actual._where.preparedValues[2][1], "sql type of param 3 is the provided type");
-    }],
-
-    ["and only with a prepared statement-array should just use it as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where([
-                                "PERSON.FIRSTNAME = ?", [["Peter", 12]]
-                            ])
-                            .and([
-                                "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
-                            ])
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? )  and  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and only with a SqlBulder object should just use the condition from it", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(new SqlBuilder()
-                                .select("TEST")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"))
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a builder as value and condition (field is null|undefined) should add the whole builder as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"),
-                                "exists ?")  // Note: you can use SqlBuilder.EXISTS() instead of  "exists ?"
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a builder as value and field should add the whole builder as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .and("PERSON.LASTNAME", "Admin"))
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
-                            .and(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  and  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["and with a prepared statement-array as value and field should add the whole statement as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]])
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON.FIRSTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var validOrUsageTests = new TestSuite([
-    ["or should just add simple strings as condition just as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME = 'Tim'") // NOTE: you should not do this as this does not add a real prepared statement with "?"
-                            .or("PERSON.LASTNAME = 'Admin'")
-
-        pTester.assert("PERSON.FIRSTNAME = 'Tim' or PERSON.LASTNAME = 'Admin'", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should add a condition if field and value are passed", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim")
-                            .or("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should use the given condition pattern", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", "Tim", "# <> ?")
-                            .or("PERSON.LASTNAME", "Admin")
-                            
-        pTester.assert("PERSON.FIRSTNAME <> ? or PERSON.LASTNAME = ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or should use the given SQLTYPE if provided", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", 6, null, SQLTYPES.INTEGER)
-                            .or("PERSON.LASTNAME", 7, undefined, SQLTYPES.INTEGER)
-                            .or("PERSON.LASTNAME", 8, "# <> ?", SQLTYPES.INTEGER)
-                            
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? or PERSON.LASTNAME <> ?", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or only with a prepared statement-array should just use it as it is", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where([
-                                "PERSON.FIRSTNAME = ?", [["Peter", 12]]
-                            ])
-                            .or([
-                                "exists (select * FROM CONTACT where PERSON_ID = PERSONID)", []
-                            ])
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? )  or  ( exists (select * FROM CONTACT where PERSON_ID = PERSONID) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or only with a SqlBulder object should just use the condition from it", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-                            
-        pTester.assert(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a builder as value and condition (field is null|undefined) should add the whole builder as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"),
-                                "exists ?")
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a builder as value and field should add the whole builder as subquery with field = (subquery)", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                .select("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-        
-        pTester.assert("PERSON.FIRSTNAME =  ( select FIRSTNAME from PERSON where PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["or with a prepared statement-array as value and field is null|undefined should add the whole statement as subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where(null, ["select FIRSTNAME from PERSON.FIRSTNAME = ?", [["Peter", 12]]], "exists ?")
-                            .or(null, ["exists (select FIRSTNAME from PERSON.FIRSTNAME = ?)", [["Peter", 12]]]) // also without pCond it should work as the condition could be included in the prep statement
-        
-        pTester.assert("exists  ( select FIRSTNAME from PERSON.FIRSTNAME = ? )  or  ( exists (select FIRSTNAME from PERSON.FIRSTNAME = ?) ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var combinedAndOrTests = new TestSuite([
-    ["or combining two and", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", "Tim")
-                        .and("PERSON.LASTNAME", "Admin")
-                        .or(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .and("PERSON.LASTNAME", "Müller"))
-        
-        pTester.assert("(PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ?) or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-    
-    ["and combining two or", function(pTester)
-    {                 
-        var actual = new SqlBuilder()
-                        .where(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Tim")
-                                .or("PERSON.LASTNAME", "Admin"))
-                        .and(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .or("PERSON.LASTNAME", "Müller"))
-        
-        pTester.assert(" ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["some and/or combinations in one select", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", "Tim")
-                        .or("PERSON.FIRSTNAME", "Franz")
-                        .and("PERSON.LASTNAME", "Admin")
-                        .and(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .or("PERSON.LASTNAME", "Müller"))
-                        .or("PERSON.FIRSTNAME", "Franz")
-                        .and("PERSON.FIRSTNAME", "Franz")
-                        .or(new SqlBuilder()
-                                .where("PERSON.FIRSTNAME", "Peter")
-                                .and("PERSON.LASTNAME", "Müller")
-                                .and(new SqlBuilder()
-                                        .where("PERSON.FIRSTNAME", "Peter")
-                                        .or("PERSON.LASTNAME", "Müller")))
-                        
-        pTester.assert("PERSON.FIRSTNAME = ? or PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  or (PERSON.FIRSTNAME = ?) and PERSON.FIRSTNAME = ? or  ( PERSON.FIRSTNAME = ? and PERSON.LASTNAME = ? and  ( PERSON.FIRSTNAME = ? or PERSON.LASTNAME = ? )  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(11, actual._where.preparedValues.length, "number of params");
-    }]
-]);
-
-var ifSetTests = new TestSuite([
-    ["simple and if set with all types of empty values.", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.LASTNAME", null)
-                        .andIfSet("PERSON.LASTNAME", undefined)
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["jdito variable with null", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.FIRSTNAME", "$global.TestingVarNull")
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["empty simple conditions", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("")
-                        .andIfSet(["", []])
-                        .andIfSet(new SqlBuilder())
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }],
-
-    ["empty subqueries", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .whereIfSet("PERSON.FIRSTNAME", ["", []])
-                        .andIfSet("PERSON.LASTNAME", new SqlBuilder())
-                        
-        pTester.assert("", actual._where._sqlStorage, "no sql should be added");
-        pTester.assert(0, actual._where.preparedValues.length, "no params should be added");
-    }]
-]);
-
-function cleanWrapperTests()
-{
-    try {
-        db.runStatement("drop table SQL_LIB_TEST_TABLE");
-    } catch(ex) {}
-    
-    try {
-        db.deleteData("PERSON", "PERSONID in ('TEST-5', 'TEST-6')")
-    } catch(ex) {}
-    
-}
-
-var dbWrapperTests = new TestSuite([
-    ["cell should load only one value", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5")
-        pTester.assert("Franz", builder.cell());
-    }],
-
-    ["cell should just return '' if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON")
-        pTester.assert("", builder.cell(true));
-    }],
-
-    ["cell should return a value if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.cell(false)
-        pTester.assert(true, actual !== "" && actual !== null && actual !== undefined);
-    }],
-
-    ["array should load an array of values", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5");
-                            
-        var actual = builder.array(db.ROW);
-        pTester.assert("Franz", actual[0], "firstname should be 'Franz'");
-        pTester.assert("Müller", actual[1], "lastname should be 'Müller'");
-    }],
-
-    ["array should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            
-        var actual = builder.array(db.ROW, true);
-        pTester.assert(0, actual.length);
-    }],
-
-    ["array should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            
-        var actual = builder.array(db.ROW, false);
-        pTester.assert(true, actual.length > 0);
-    }],
- 
-    ["table should load an array of arrays with values", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON")
-                            .where("PERSON.PERSONID", "TEST-5")
-                            .or("PERSON.PERSONID", "TEST-6")
-                            .orderBy("PERSONID asc");
-                            
-        var actual = builder.table();
-        pTester.assert("Franz", actual[0][0], "firstname should be 'Franz'");
-        pTester.assert("Müller", actual[0][1], "lastname should be 'Müller'");
-        
-        pTester.assert("Marco", actual[1][0], "firstname should be 'Marco'");
-        pTester.assert("Polo", actual[1][1], "lastname should be 'Polo'");
-    }],
-
-    ["table should return an empty array if no condition set but pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.table(true);
-        pTester.assert(0, actual.length);
-    }],
-
-    ["table should return a non-empty array if no condition set and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        var builder = new SqlBuilder()
-                            .select("FIRSTNAME, LASTNAME")
-                            .from("PERSON");
-                            
-        var actual = builder.table(false);
-        pTester.assert(true, actual.length > 0);
-    }],
-
-    ["delete should delete the data and use the from and condition from the builder", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        var deletedRows = builder.deleteData();
-        pTester.assert(1, deletedRows);
-    }],
-
-    ["delete should delete the data from the provided table and use the condition from the builder. It ignores .from if a table is given.", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("PERSON")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        var deletedRows = builder.deleteData(false, "SQL_LIB_TEST_TABLE");
-        pTester.assert(1, deletedRows);
-    }],
-
-    ["delete should delete ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        var deletedRows = builder.deleteData(false);
-        pTester.assert(2, deletedRows);
-    }],
-
-    ["delete should delete NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        var deletedRows = builder.deleteData(true);
-        pTester.assert(0, deletedRows);
-    }],
-
-    ["update should update the data and use the from and condition from the builder", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        
-        pTester.assert("Fritz", actual);
-    }],
-
-    ["update should update the data from the provided table and use the condition from the builder. It ignores .from if a table is given.", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID = 'TEST-7'");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("PERSON")
-                            .where("SQL_LIB_TEST_TABLE.TESTID", "TEST-7");
-                            
-        builder.updateData(false, "SQL_LIB_TEST_TABLE", ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        
-        pTester.assert("Fritz", actual);
-    }],
-
-    ["update should update ALL data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is false", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')");
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        builder.updateData(false, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        var actual2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
-        
-        pTester.assert("Fritz", actual1, "TEST-7 should have Firstname Fritz");        
-        pTester.assert("Fritz", actual2, "TEST-8 should have Firstname Fritz");
-    }],
-
-    ["update should update NO data from a table if the builder has no condition and pExecuteOnlyIfConditionExists is true", function(pTester)
-    {
-        db.deleteData("SQL_LIB_TEST_TABLE", "TESTID in ('TEST-7', 'TEST-8')")        
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-7", "Ludwig", "Fischer"]);
-        db.insertData("SQL_LIB_TEST_TABLE", ["TESTID", "FIRSTNAME", "LASTNAME"], null, ["TEST-8", "Franz", "Fischer"]);
-        
-        var builder = new SqlBuilder()
-                            .from("SQL_LIB_TEST_TABLE")
-                            
-        builder.updateData(true, undefined, ["FIRSTNAME"], null, ["Fritz"]);
-        
-        var actual1 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-7'")
-        var actual2 = db.cell("select FIRSTNAME from SQL_LIB_TEST_TABLE where SQL_LIB_TEST_TABLE.TESTID = 'TEST-8'")
-        
-        pTester.assert("Ludwig", actual1, "TEST-7 should have Firstname Ludwig");        
-        pTester.assert("Franz", actual2, "TEST-8 should have Firstname Franz");
-    }]
-], function preAll() 
-{
-    // remove data which may exist if previous test-run failed and postAll was not executed
-    cleanWrapperTests()
-    
-    // add table for save testing of deletes
-    db.runStatement("create table SQL_LIB_TEST_TABLE (TESTID varchar(36), FIRSTNAME varchar(100), LASTNAME varchar(100))");
-    
-    // add test persons
-    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-5", "Franz", "Müller", "testuser", vars.get("$sys.date")])
-    db.insertData("PERSON", ["PERSONID", "FIRSTNAME", "LASTNAME", "USER_NEW", "DATE_NEW"], null, ["TEST-6", "Marco", "Polo", "testuser", vars.get("$sys.date")])
-}, undefined, undefined, function postAll()
-{
-    cleanWrapperTests()
-})
-
-var mandatoryErrorTests = new TestSuite([
-// and
-    ["and without parameter should error", function(pTester)
-    {
-        new SqlBuilder().where().or();
-    }, SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()],
-
-    ["and with null as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with undefined as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with a jdito-var containing null should error", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()],
-
-    ["and with an empty sql-builder as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["and with an empty prepared statement as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-
-// or
-    ["or without parameter should error", function(pTester)
-    {
-        new SqlBuilder().where().or();
-    }, SqlBuilder._ERROR_NO_PARAMETER_PROVIDED()],
-
-    ["or with null as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", null);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with undefined as value should error", function(pTester)
-    {
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", undefined);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with a jdito-var containing null should error", function(pTester)
-    {
-        vars.set("$global.TestingVarNull", null);
-        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", "$global.TestingVarNull");
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY_JDITO_VAR()],
-
-    ["or with an empty sql-builder as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", new SqlBuilder());
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-
-    ["or with an empty prepared statement as subquery should error", function(pTester)
-    {        
-        new SqlBuilder().where().or("PERSON.FIRSTNAME", ["", []]);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()],
-]);
-
-var inStatementTests = new TestSuite([
-    ["simple and in", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.LASTNAME", ["Franz", "Fritz"], SqlBuilder.IN()) // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
-                            .or("PERSON.LASTNAME", ["Peter", "Mayer"], SqlBuilder.IN());
-                            
-        pTester.assert(" ( PERSON.LASTNAME in  (?, ?)  )  or  ( PERSON.LASTNAME in  (?, ?)  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(4, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["simple and not in", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .where("PERSON.LASTNAME", ["Franz", "Fritz"], "# not in ?"); // Note: you can use SqlBuilder.IN(), SqlBuilder.NOT_IN(), "# in ?", etc. as 3rd parameter
-                            
-        pTester.assert(" ( PERSON.LASTNAME not in  (?, ?)  ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(2, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["in with subquery", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", new SqlBuilder()
-                                                        .select("PERSON.FIRSTNAME")
-                                                        .from("PERSON")
-                                                        .where("PERSON.LASTNAME", "Fritz")
-                                                , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
-                            
-        pTester.assert("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["in with prepared statement-array", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                        .where("PERSON.FIRSTNAME", ["select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ?", [["Fritz", SQLTYPES.VARCHAR]]]
-                                                , "# in ?"); // Note: you can use SqlBuilder.IN() instead of "# in ?"
-                            
-        pTester.assert("PERSON.FIRSTNAME in  ( select PERSON.FIRSTNAME from PERSON where PERSON.LASTNAME = ? ) ", actual._where._sqlStorage, "prepared sql");
-        pTester.assert(1, actual._where.preparedValues.length, "number of params");
-    }],
-
-    ["andIfSet should ignore empty array", function(pTester)
-    {
-        var actual = new SqlBuilder()
-                            .whereIfSet("PERSON.LASTNAME", []);
-                            
-        pTester.assert("", actual._where._sqlStorage, "prepared sql should be empty");
-        pTester.assert(0, actual._where.preparedValues.length, "number of params should be 0");
-    }],
-
-    ["and should error on an empty array", function(pTester)
-    {
-        new SqlBuilder()
-                .where("PERSON.LASTNAME", []);
-    }, SqlBuilder._ERROR_VALUE_IS_MANDATORY()]
-]);
-
-var testConstantFunctions = new TestSuite([
-    ["SqlBuilder.IN()", function(pTester)
-    {
-        pTester.assert("# in ?", SqlBuilder.IN());
-    }],
-    
-    ["SqlBuilder.NOT_IN()", function(pTester)
-    {
-        pTester.assert("# not in ?", SqlBuilder.NOT_IN());
-    }],
-
-    ["SqlBuilder.EXISTS()", function(pTester)
-    {
-        pTester.assert("exists ?", SqlBuilder.EXISTS());
-    }]
-]);
-
-var selectTests = new TestSuite([
-    ["a sql-builder in a fields-array is translated to sql correctly", function(pTester)
-    {
-        var countSubQuery = newSelect("count(*)")
-                                .from("AB_ATTRIBUTEUSAGE")
-                                .where("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", "myType")
-                                .and("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID");
-    
-        var actual = new SqlBuilder()
-            .select(["AB_ATTRIBUTEID", "AB_ATTRIBUTEUSAGEID", countSubQuery])
-            .from("AB_ATTRIBUTE")
-                        
-        pTester.assert("select AB_ATTRIBUTEID, AB_ATTRIBUTEUSAGEID, (select count(*) from AB_ATTRIBUTEUSAGE where AB_ATTRIBUTEUSAGE.OBJECT_TYPE = ? and AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID)", actual._select._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["a sql-builder in from is used as subselect", function(pTester)
-    {
-        var subQuery = newSelect("FIRSTNAME")
-                                .from("PERSON")
-                                .where("PERSON.LASTNAME", "Meier")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from(subQuery)
-            
-        pTester.assert("from (select FIRSTNAME from PERSON where PERSON.LASTNAME = ?)", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }]
-]);
-
-var joinTests = new TestSuite([
-    ["SqlBuilder as on-condition should only add the conditon of the builder", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join("ORGANISATION", subQuery)
-            
-        pTester.assert("join ORGANISATION on ORGANISATION.NAME = ?", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params");
-    }],
-
-    ["SqlBuilder as table for join is added as subselect", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-    
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join(subQuery, "orgname.NAME = TABLE2.NAME", "orgname")
-            
-        pTester.assert("join (select NAME from ORGANISATION where ORGANISATION.NAME = ?) orgname on orgname.NAME = TABLE2.NAME", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params");
-    }],
-
-    ["just use a string also containing a condition as join without additional condition", function(pTester)
-    {
-        var actual = new SqlBuilder()
-            .select("*")
-            .from("PERSON")
-            .join("TABLE1 on TABLE1.NAME = TABLE2.NAME")
-            
-        pTester.assert("join TABLE1 on TABLE1.NAME = TABLE2.NAME", actual._joins[0]._sqlStorage, "prepared select-sql");
-        pTester.assert(0, actual._joins[0].preparedValues.length, "number of params");
-    }]
-]);
-
-var subqueryAsFieldTests = new TestSuite([
-    ["Test if a Subselect as field works if pValue is provided. This should be added as subselect.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-    
-        var actual = new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR)
-                                     .and("PERSON.FIRSTNAME", "val3");
-                
-            
-        pTester.assert(" ( ( select NAME from ORGANISATION where ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and PERSON.FIRSTNAME = ? ) = ? )  and PERSON.FIRSTNAME = ?", actual._where._sqlStorage, "prepared select-sql");
-        pTester.assert(3, actual._where.preparedValues.length, "number of params");
-        pTester.assert("val1", actual._where.preparedValues[0][0], "param 1 is correct value");
-        pTester.assert("val2", actual._where.preparedValues[1][0], "param 2 is correct value");
-        pTester.assert("val3", actual._where.preparedValues[2][0], "param 3 is correct value");
-    }],
-
-    ["Test if a Subselect as field should error if no SQLTYPE is provided.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-        new SqlBuilder().where(subQuery, "val2", "# = ?");
-    }, SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NO_FIELD_TYPE()],
-
-    ["Test if a Subselect as field should error if it is not a full select.", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .where("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
-                                .and("PERSON.FIRSTNAME", "val1") // test if the value is added at the correct place
-    
-        new SqlBuilder().where(subQuery, "val2", "# = ?", SQLTYPES.VARCHAR);
-    }, SqlBuilder._ERROR_SUBSELECT_AS_FIELD_NOT_COMPLETE()]
-]);
-
-var conditionFormatTests = new TestSuite([
-    ["pCondition should not fail if # an ? exist in correct order", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# = ?")
-                        .and("PERSON.FIRSTNAME", "val1", "asdf # fdsa=asdf ?fdas")
-    }],
-
-    ["pCondition should not fail if # an ? exist in correct order and there are additional, escaped # and ?", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "\\? # \\#= ?");
-    }],
-
-    ["pCondition should not fail if only ? exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "?")
-    }],
-
-    ["pCondition should fail if more than one ? exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? test ?")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()],
-
-    ["pCondition should fail if more than one # exists", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "# test #")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()],
-
-    ["pCondition should fail if # and ? are in wrong order", function(pTester)
-    {
-        new SqlBuilder().where("PERSON.FIRSTNAME", "val1", "? = #")
-    }, SqlBuilder._ERROR_CONDITION_WRONG_FORMAT()]
-]);
-
-var subqueryAliasTests = new TestSuite([
-    ["subselectAlias should be added for subquery in .select", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .select([subQuery, "FIRSTNAME"])
-            .from("PERSON")
-            
-        pTester.assert("select (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias, FIRSTNAME", actual._select._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._select.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be added for subquery in .from", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from(subQuery)
-            
-        pTester.assert("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) testAlias", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be overruled by the param in in .from", function(pTester)
-    {
-        var subQuery = newSelect("NAME")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from(subQuery, "overwriteAlias")
-            
-        pTester.assert("from (select NAME from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias", actual._from._sqlStorage, "prepared select-sql");
-        pTester.assert(1, actual._from.preparedValues.length, "number of params");
-    }],
-
-    ["subselectAlias should be added for subquery in .join", function(pTester)
-    {
-        var subQuery = newSelect("NAME, ORGANISATIONID")
-                                .from("ORGANISATION")
-                                .where("ORGANISATION.NAME", "Adito")
-                                .subselectAlias("testAlias")
-    
-        var actual = new SqlBuilder()
-            .from("CONTACT")
-            .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID")
-            .join(subQuery, "testAlias.ORGANISATIONID = ORGANISATION_ID", "overwriteAlias")
-            
-        pTester.assert("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) testAlias on testAlias.ORGANISATIONID = ORGANISATION_ID", actual._joins[0]._sqlStorage, "prepared select-sql join 1");
-        pTester.assert(1, actual._joins[0].preparedValues.length, "number of params join 1");
-        
-        pTester.assert("join (select NAME, ORGANISATIONID from ORGANISATION where ORGANISATION.NAME = ?) overwriteAlias on testAlias.ORGANISATIONID = ORGANISATION_ID", actual._joins[1]._sqlStorage, "prepared select-sql join 2");
-        pTester.assert(1, actual._joins[1].preparedValues.length, "number of params join 2");
-    }]
-])
-
-var tester = new Tester("Test SqlBuilder");
-tester.test(newSelectTests);
-tester.test(validAndUsageTests);
-tester.test(validOrUsageTests);
-tester.test(combinedAndOrTests);
-tester.test(ifSetTests);
-tester.test(dbWrapperTests);
-tester.test(mandatoryErrorTests);
-tester.test(inStatementTests);
-tester.test(testConstantFunctions);
-tester.test(selectTests);
-tester.test(joinTests);
-tester.test(subqueryAsFieldTests);
-tester.test(conditionFormatTests);
-tester.test(subqueryAliasTests);
-
-logging.log("-------------------------");
-tester.printResults();
diff --git a/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod b/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
new file mode 100644
index 0000000000..8636a3707b
--- /dev/null
+++ b/process/SqlMaskingUtils_test/SqlMaskingUtils_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>SqlMaskingUtils_test</name>
+  <title>[TEST] Sql_lib - SqlMaskingUtils</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/SqlMaskingUtils_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/SqlMaskingUtils_test/process.js b/process/SqlMaskingUtils_test/process.js
new file mode 100644
index 0000000000..533a1b32e9
--- /dev/null
+++ b/process/SqlMaskingUtils_test/process.js
@@ -0,0 +1,158 @@
+import("system.result");
+import("system.db");
+import("Sql_lib");
+import("UnitTest_lib");
+
+function _createDummyMaskingUtil(pDbType)
+{
+    var currentAlias = db.getCurrentAlias();
+    if (!currentAlias)
+        throw new Error("alias required for test is not set");
+    var currentAliasType = db.getDatabaseType(currentAlias);
+    if (!currentAliasType)
+        throw new Error("alias type required for test is not set");
+    var createdObject = new SqlMaskingUtils(currentAlias);
+    createdObject.dbType = pDbType;
+    return createdObject;
+}
+
+var constructorTest = new TestSuite("SqlMaskingUtils.constructor", [
+    new Test("constructor sets correct specified alias",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var createdObject = new SqlMaskingUtils(currentAlias);
+            pTester.expectThat(createdObject.alias).equals(currentAlias).assert();
+        }
+        ),
+    new Test("constructor sets correct default alias",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var createdObject = new SqlMaskingUtils();
+            pTester.expectThat(createdObject.alias).equals(currentAlias).assert();
+        }
+        ),
+    new Test("constructor sets correct alias type",
+        function(pTester)
+        {
+            var currentAlias = db.getCurrentAlias();
+            if (!currentAlias)
+                throw new Error("alias required for test is not set");
+            var currentAliasType = db.getDatabaseType(currentAlias);
+            if (!currentAliasType)
+                throw new Error("alias type required for test is not set");
+            var createdObject = new SqlMaskingUtils(currentAlias);
+            pTester.expectThat(createdObject.dbType).equals(currentAliasType).assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with derby",
+     function(pTester)
+     {
+        var res = _createDummyMaskingUtil(db.DBTYPE_DERBY10);
+        pTester.expectThat(res.dbType).equals(db.DBTYPE_DERBY10).assert();
+        pTester.expectThat(res.alias).isNull().assert();
+     }
+     ),
+    new Test("overwrite constructors dbType with mariaDB",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_MARIADB10);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_MARIADB10).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with mySql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_MYSQL4);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_MYSQL4).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-cluster",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_CLUSTER);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_CLUSTER).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-oci",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_OCI);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_OCI).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with oracle-thin",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_THIN);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_ORACLE10_THIN).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with postgresql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_POSTGRESQL8);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_POSTGRESQL8).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        ),
+    new Test("overwrite constructors dbType with ms sql",
+        function(pTester)
+        {
+            var res = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            pTester.expectThat(res.dbType).equals(db.DBTYPE_SQLSERVER2000).assert();
+            pTester.expectThat(res.alias).isNull().assert();
+        }
+        )
+    ]);
+
+
+var getConcatSymbolTest = new TestSuite("SqlMaskingUtils.getConcatSymbol", [
+    new Test("getConcatSymbol returns a non empty string",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res).not().isNull().assert();
+            pTester.expectThat(res).not().isUndefined().assert();
+            pTester.expectThat(res).isString().assert();
+            pTester.expectThat(res.length).isInteger().assert();
+            pTester.expectThat(res.length).isGreater(0).assert();
+        }
+        ),
+    new Test("+ for MS SQL",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_SQLSERVER2000);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res.trim()).equals("+").assert();
+        }
+        ),
+    new Test("|| for Oracle",
+        function(pTester)
+        {
+            var maskingHelper = _createDummyMaskingUtil(db.DBTYPE_ORACLE10_THIN);
+            var res = maskingHelper.getConcatSymbol();
+            pTester.expectThat(res.trim()).equals("||").assert();
+        }
+        )
+    ]);
+
+var tester = new Tester("Test SqlMaskingUtils");
+tester.initCoverage(SqlMaskingUtils);
+tester.test(constructorTest);
+tester.test(getConcatSymbolTest);
+//TODO: add full test coverage
+tester.summary();
+
+result.object(tester.getResults());
\ No newline at end of file
diff --git a/process/Sql_lib/documentation.adoc b/process/Sql_lib/documentation.adoc
index 8b903c2155..417d8aa237 100644
--- a/process/Sql_lib/documentation.adoc
+++ b/process/Sql_lib/documentation.adoc
@@ -17,10 +17,10 @@ include::_default_attributes_EN.adoc[]
 
 This document describes the functionality and the usage of the SqlBuilder, which is included in the library *Sql_lib* of the ADITO xRM project (see "Projects" window, under process > libraries). The documentation may not contain all features of the SqlBuilder. It is supplemental to the documentation you find in the code itself: A usage will often be possible in an intuitive way, so just try coding using code completion and JSDoc, where all parameters are documented.
 
-You may also take a look at the library *SqlLib_tests* (also under process > libraries), as it contains many possible ways to use the SqlBuilder.
+You may also take a look at the library *Sql_test* (also under process > libraries), as it contains many possible ways to use the SqlBuilder.
 
 [NOTE]
-The tests included in the library SqlLib_tests use the UnitTest_lib for unit testing. You can use this functionality also in other contexts, according to your requirements.
+The tests included in the library Sql_test use the UnitTest_lib for unit testing. You can use this functionality also in other contexts, according to your requirements.
 
 == Benefits
 
diff --git a/process/SqlLib_tests/SqlLib_tests.aod b/process/Terminal_lib/Terminal_lib.aod
similarity index 67%
rename from process/SqlLib_tests/SqlLib_tests.aod
rename to process/Terminal_lib/Terminal_lib.aod
index 9f2866f8f9..9fa0811425 100644
--- a/process/SqlLib_tests/SqlLib_tests.aod
+++ b/process/Terminal_lib/Terminal_lib.aod
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
-  <name>SqlLib_tests</name>
+  <name>Terminal_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <process>%aditoprj%/process/SqlLib_tests/process.js</process>
-  <alias>Data_alias</alias>
+  <documentation>%aditoprj%/process/Terminal_lib/documentation.adoc</documentation>
+  <process>%aditoprj%/process/Terminal_lib/process.js</process>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/Terminal_lib/process.js b/process/Terminal_lib/process.js
new file mode 100644
index 0000000000..13a0188495
--- /dev/null
+++ b/process/Terminal_lib/process.js
@@ -0,0 +1,342 @@
+import("system.logging");
+import("Util_lib");
+
+
+/**
+ * This library gives you helpful colored output on the terminal
+ * You can use the predefined helper methods or use your own color- and format combinations
+ *
+ * @example
+ * var t = new Terminal();
+ * logging.log(t.success("It works!"));
+ * logging.log(t.color(t.fg.green).background(t.bg.red).output("I would never use green text on red background..."));
+ *
+ * @see https://en.wikipedia.org/wiki/ANSI_escape_code
+ * @class
+ */
+function Terminal()
+{
+    this.mod = {
+        reset : 0
+    };
+
+    this.fg = {
+        reset         : 39,
+        black         : 30,
+        red           : 31,
+        green         : 32,
+        yellow        : 33,
+        blue          : 34,
+        magenta       : 35,
+        cyan          : 36,
+        white         : 37,
+        brightBlack   : 90,
+        brightRed     : 91,
+        brightGreen   : 92,
+        brightYellow  : 93,
+        brightBlue    : 94,
+        brightMagenta : 95,
+        brightCyan    : 96,
+        brightWhite   : 97
+    };
+
+    this.bg = {
+        reset         : 49,
+        black         : 40,
+        red           : 41,
+        green         : 42,
+        yellow        : 43,
+        blue          : 44,
+        magenta       : 45,
+        cyan          : 46,
+        white         : 47,
+        brightBlack   : 100,
+        brightRed     : 101,
+        brightGreen   : 102,
+        brightYellow  : 103,
+        brightBlue    : 104,
+        brightMagenta : 105,
+        brightCyan    : 106,
+        brightWhite   : 107
+    };
+
+    this.formats = {
+        weightBold      : 1,
+        weightLight     : 2,
+        weightOff       : 22,
+        italic          : 3,
+        italicOff       : 23,
+        underline       : 4,
+        underlineDouble : 21,
+        underlineOff    : 24,
+        strike          : 9,
+        strikeOff       : 29
+    };
+
+    this._defaultConfig = {
+        colorText: this.fg.reset,
+        colorBackground: this.bg.reset,
+        bold: this.formats.weightOff,
+        italic: this.formats.italicOff,
+        underline: this.formats.underlineOff,
+        strike: this.formats.strikeOff
+    };
+
+    this.outputConfig = Utils.clone(this._defaultConfig);
+}
+
+
+/**
+ * Reset the output config by cloning and setting the default
+ *
+ * @return {void}
+ */
+Terminal.prototype._resetConfig = function ()
+{
+    this.outputConfig = Utils.clone(this._defaultConfig);
+}
+
+/**
+ * Set or reset the text color
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.color = function (pValue)
+{
+    this.outputConfig.colorText = this._contains(this.fg, pValue) ? pValue : this.fg.reset;
+    
+    return this;
+}
+
+/**
+ * Set or reset the background color
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.background = function (pValue)
+{
+    this.outputConfig.colorBackground = this._contains(this.bg, pValue) ? pValue : this.bg.reset;
+    
+    return this;
+}
+
+/**
+ * Set, unset or add a formatting to the output config
+ *
+ * @param {int} pValue
+ * @return {Terminal}
+ */
+Terminal.prototype.format = function (pValue)
+{    
+    var allowedWeightValues = [this.formats.weightBold, this.formats.weightLight, this.formats.weightOff];
+    this.outputConfig.bold = this._contains(allowedWeightValues, pValue) ? pValue : this.formats.weightOff;
+
+    var allowedItalicValues = [this.formats.italic, this.formats.italicOff];
+    this.outputConfig.italic = this._contains(allowedItalicValues, pValue) ? pValue : this.formats.italicOff;
+
+    var allowedUnderlineValues = [this.formats.underline, this.formats.underlineDouble, this.formats.underlineOff];
+    this.outputConfig.underline = this._contains(allowedUnderlineValues, pValue) ? pValue : this.formats.underlineOff;
+
+    var allowedStrikeValues = [this.formats.strike, this.formats.strikeOff];
+    this.outputConfig.strike = this._contains(allowedStrikeValues, pValue) ? pValue : this.formats.strikeOff;
+    
+    return this;
+}
+
+/**
+ * Returns a string wrapped in escape sequences according to previous formatting instructions
+ * Must be called after `.color()`, `.background()` and/or `.format()`.
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.output = function (pString)
+{
+    var output = "";
+    var seqValues = [];
+    
+    Object.keys(this.outputConfig).forEach(function(pKey) {
+        seqValues.push(this.outputConfig[pKey]);
+    }, this);
+    
+    output += this._generateSequence(seqValues);
+    output += pString;
+    output += this._generateSequence(this.mod.reset);
+    
+    this._resetConfig();
+    return output;
+}
+
+/**
+ * Returns the given string formatted as light-colored text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.debug = function (pString)
+{
+    return this.color(this.fg.white).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on green background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.successBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.green).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold green text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.success = function (pString)
+{
+    return this.color(this.fg.green).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on green background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.successBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.green).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold blue text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.info = function (pString)
+{
+    return this.color(this.fg.blue).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on blue background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.infoBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.blue).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold magenta text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.important = function (pString)
+{
+    return this.color(this.fg.magenta).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on magenta background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.importantBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.magenta).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold yellow text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.warning = function (pString)
+{
+    return this.color(this.fg.yellow).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold black text on yellow background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.warningBlock = function (pString)
+{
+    return this.color(this.fg.brightBlack).background(this.bg.yellow).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Returns the given string formatted as bold red text
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.error = function (pString)
+{
+    return this.color(this.fg.red).format(this.formats.weightBold).output(pString);
+}
+
+/**
+ * Returns the given string formatted as bold white text on red background
+ *
+ * @param {String} pString the string to format
+ * @return {String}
+ */
+Terminal.prototype.errorBlock = function (pString)
+{
+    return this.color(this.fg.brightWhite).background(this.bg.red).format(this.formats.weightBold).output(" " + pString + " ");
+}
+
+/**
+ * Checks if a specific value is in a given array or object
+ *
+ * @param {(Array|Object)} pType
+ * @param {Any} pValue
+ * @return {Boolean}
+ */
+Terminal.prototype._contains = function (pType, pValue)
+{
+    var res = false;
+    
+    if(Array.isArray(pType)) {
+        res = pType.indexOf(pValue) !== -1;
+    } else {
+        Object.keys(pType).forEach(function(pKey) {
+            if(pType[pKey] === pValue) {
+                res = true;
+            }
+        }, this);
+    }
+
+    return res;
+}
+
+/**
+ * Generates and returns a terminal escape sequence
+ *
+ * @param {(int|int[])} pSequences A single or multiple escape sequence commands
+ */
+Terminal.prototype._generateSequence = function (pSequences)
+{
+    var seq = Array.isArray(pSequences) ? pSequences : [pSequences];
+    
+    seq = seq.filter(function(pElement) {
+        return Number.isInteger(parseFloat(pElement)) && isFinite(pElement);
+    });
+    
+    return "\033[" + seq.join(";") + "m";
+}
diff --git a/process/UnitTest_lib/UnitTest_lib.aod b/process/UnitTest_lib/UnitTest_lib.aod
index 225ac23038..a449931676 100644
--- a/process/UnitTest_lib/UnitTest_lib.aod
+++ b/process/UnitTest_lib/UnitTest_lib.aod
@@ -2,6 +2,7 @@
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
   <name>UnitTest_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE_O</icon>
   <process>%aditoprj%/process/UnitTest_lib/process.js</process>
   <alias>Data_alias</alias>
   <variants>
diff --git a/process/UnitTest_lib/process.js b/process/UnitTest_lib/process.js
index 0ce141d482..382d37e021 100644
--- a/process/UnitTest_lib/process.js
+++ b/process/UnitTest_lib/process.js
@@ -1,235 +1,1265 @@
 import("system.logging");
+import("Terminal_lib");
+import("Util_lib");
+
+/**
+ * @param {String} pName the name/description of the test
+ * @param {Function} pCallback the actual test callback to execute
+ * @param {Function} pDataProviderCallback an optional callback to deliver multiple datasets to the test
+ * @param {Boolean} pRerunOnError an optional flag indicating if a test should get rerun without try-catch if an error occurs (default: false)
+ *
+ * @class
+ */
+function Test(pName, pCallback, pDataProviderCallback, pRerunOnError)
+{
+    this.name = pName;
+    this.callback = pCallback;
+    this.dataProviderCallback = pDataProviderCallback || function() { return null; };
+    this.rerunOnError = !!pRerunOnError;
+}
 
 /**
  * A TestSuite combines several tests
- * @param {Array} pTests this is a n array of Tests in the following form:<br/>
- *                  [<br/>
- *                      ["Test description", function(pTester) <br/>
- *                          {<br/>
- *                              // the test which may use pTester.assert(...)<br/>
- *                          }, {Optional: an expected error}<br/>
- *                      ],<br/>
- *                      [...]<br/>
- *                  ]<br/>
+ *
+ * @param {String} pName name of the TestSuite
+ * @param {Array} pTests this is a n array of Tests
+ *
+ * @example
+ * var myTest = new TestSuite("MyObject.myTest", [
+ *     new Test("Test description",
+ *         function(pTester) {
+ *             var expectValue = 5;
+ *             var var actualValue = 20;
+ *             pTester.expectThat(actualValue).isGreater(expectValue).assert();
+ *         },
+ *     ),
+ *     new Test(...)
+ * ];
+
+ * @example
+ * // Using a DataProvider
+ * var myTest = new TestSuite("MyObject.myTest", [
+ *     new Test("Test description",
+ *         function(pTester, pDataProvider) {
+ *             var obj = new MyObject("Something");
+ *             var expectValue = pDataProvider[0];
+ *             var var actualValue = obj.getNumber();
+ *             pTester.expectThat(actualValue).isGreater(expectValue).assert();
+ *         },
+ *         function dataProvider() {
+ *             return [
+ *                 [0],
+ *                 [10],
+ *                 [100],
+ *             ];
+ *         },
+ *     ),
+ *     new Test(...)
+ * ];
+ *
  * @param {functionCallback} [pPreAll] a callback, called once before all tests
  * @param {functionCallback} [pPreTest] a callback, called once before each test
  * @param {functionCallback} [pPostTest] a callback, called once after each test
  * @param {functionCallback} [pPostAll] a callback, called once after all tests
- * 
+ *
+ * TODO: set callbacks via separate methods
+ *
  * @class
  */
-function TestSuite(pTests, pPreAll, pPreTest, pPostTest, pPostAll)
+function TestSuite(pName, pTests, pPreAll, pPreTest, pPostTest, pPostAll)
 {
+    this.name = pName;
     this.tests = pTests;
-    this.preAll = (pPreAll ? pPreAll : function() {});
-    this.preTest = (pPreTest ? pPreTest : function() {});
-    this.postTest = (pPostTest ? pPostTest : function() {});
-    this.postAll = (pPostAll ? pPostAll : function() {});
+    this.preAll = pPreAll || function() {};
+    this.preTest = pPreTest || function() {};
+    this.postTest = pPostTest || function() {};
+    this.postAll = pPostAll || function() {};
 }
 
 /**
- * The tester can test TestSuites.
- * It will be passed as paramter to each test.
- * 
+ * The tester runs TestSuites.
+ * It will be passed as parameter to each test.
+ *
  * @param {String} pCollectionName
+ *
+ * @example
+ * var myTest = new TestSuite("MyObject.myTest", [...]);
+ * var tester = new Tester("Test SqlBuilder", SqlBuilder);
+ * tester.test(myTest);
+ * // More test suites using tester.test()
+ * // ...
+ *
+ * tester.summary();
+ *
+ * @class
+ *
+ * TODO: Implement `isEmpty()`
+ * TODO: Implement `hasKey()`
+ * TODO: Implement `contains()`
+ * TODO: Implement `containsIgnoreCase()`
+ * TODO: Implement `isPrimitive()`
+ * TODO: Implement `matches()`
+ * TODO: Implement `matchesIgnoreCase()`
+ * TODO: Move multiple used code blocks into separate methods (like the logging output + reset)
+ * TODO: Use more getters, especially when implementing `elementAt()`
+ * TODO: Add examples to test methods
+ */
+function Tester(pCollectionName)
+{
+    this.collectionName = pCollectionName;
+    this.instanceName = undefined;
+    this.methods = [];
+    this.methodsCalled = [];
+
+    this.actualValue = undefined;
+    this.actualDisplayValue = undefined;
+    this.actualOriginalValue = undefined;
+    this.actualOriginalDisplayValue = undefined;
+    this.actualValueElementHierarchy = [];
+    this.expectedValue = undefined;
+    this.expectedDisplayValue = undefined;
+    this._assertDescription = "";
+    this._testResult = false;
+    this._useNegation = false;
+    this.dataProvider = undefined;
+    this.currentTestSuite = undefined;
+
+    this.testCount = 0;
+    this.successCount = 0;
+    this.failCount = 0;
+    this.startTime = new Date().getTime();
+    this.endTime = null;
+
+    this.t = new Terminal();
+    this.outputEnabled = true;
+    this.output = "";
+}
+
+/**
+ * Set the value to test
+ *
+ * @param {*} pValue
+ * @return {Tester}
+ */
+Tester.prototype.expectThat = function(pValue)
+{
+    this.actualValue = pValue;
+    this.actualDisplayValue = pValue;
+    this.actualOriginalValue = pValue;
+    this.actualOriginalDisplayValue = pValue;
+    this._useNegation = false;
+
+    return this;
+}
+
+/**
+ * Retrieve the result of the current test
+ *
+ * @return {Boolean}
+ */
+Tester.prototype.getTestResult = function()
+{
+    return this._useNegation ? !this._testResult : this._testResult;
+}
+
+/**
+ * Enable or disable the output
+ *
+ * @param {Boolean} pIsEnabled whether the output should be enabled or not
+ * @return {Tester}
+ */
+Tester.prototype.setOutputEnabled = function(pIsEnabled)
+{
+    this.outputEnabled = pIsEnabled;
+    return this;
+}
+
+/**
+ * Assert makes the test eventually pass or fail by looking at the result and writing into the output
+ *
+ * @return {void}
+ */
+Tester.prototype.assert = function()
+{
+    if(this.getTestResult() === true)
+    {
+        this.successCount++;
+        this._log("success", "\t\t\u2705 " + this._assertDescription);
+    }
+    else
+    {
+        this.failCount++;
+        this._log("error", "\t\t\u274C " + this._assertDescription);
+
+        if(this.actualDisplayValue !== undefined && this.expectedDisplayValue !== undefined)
+        {
+            this._log("warning", "\t\t\t expected: " + JSON.stringify(this.expectedDisplayValue, null, "\t"));
+            this._log("error", "\t\t\t actual:   " + JSON.stringify(this.actualDisplayValue, null, "\t"));
+        }
+    }
+}
+
+/**
+ * Activate test negation
+ *
+ * @return {Tester}
+ */
+Tester.prototype.not = function()
+{
+    this._useNegation = true;
+
+    return this;
+}
+
+/**
+ * Select a child element of `actualValue` to work with
+ *
+ * @param {(String|Number)} pKey the key of the child
+ * @return {Tester}
  * 
  * @example
- * var tester = new Tester("Test SqlBuilder");
- * tester.test(newSelectTests);
- * tester.test(validAndUsageTests);
- * tester.test(validOrUsageTests);
+ * // Grab first array element to test
+ * pTester.expectThat(actualValue).elementAt(0).equals("MyValue").assert();
  * 
- * logging.log("-------------------------");
- * tester.printResults();
+ * // Grab last array element to test
+ * pTester.expectThat(actualValue).elementAt(-1).equals("MyValue").assert();
  * 
- * @class
+ * // Grab object element to test
+ * pTester.expectThat(actualValue).elementAt("myKey").equals("MyValue").assert();
+ * 
+ * // Grab nested element in array/object structure to test, in this case `actualValue[5].myKey[2].someChild`
+ * pTester.expectThat(actualValue).elementAt(5).elementAt("myKey").elementAt(2).elementAt("someChild").equals("MyValue").assert();
  */
-function Tester(pCollectionName) 
+Tester.prototype.elementAt = function(pKey)
 {
-    this.collectionName = pCollectionName;
-    this.testResults = [];
+    if(!Array.isArray(this.actualValue) && !Utils.isObject(this.actualValue))
+    {
+        var error = new Error("actualValue must be array or object to use elementAt('" + pKey + "')");
+        error.name = "UnitTest_lib Error";
+        throw error;
+    }
+    
+    var key = Array.isArray(this.actualValue) && pKey === -1 ? this.actualValue.length - 1 : pKey;
     
-    // if no assert was called during a test, no test-message would be added. -> Add a success message that no error occoured.
-    this.currentTestHadAlreadyAssert = false;
+    this.actualValueElementHierarchy.push(key);
+    this.actualValue = this.actualValue[key];
+    this.actualDisplayValue = this.actualDisplayValue[key];
+
+    return this;
 }
 
 /**
- * generates a summary of the test results
- * 
- * @return {Obect}
+ * Test if a value is equal to a given value
+ *
+ * @param {*} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.equals = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    if(Utils.isObject(this.actualValue) || Utils.isObject(this.expectedValue))
+    {
+        this.expectedDisplayValue = JSON.stringify(this.actualValue);
+        this._testResult = Utils.isEqual(this.actualValue, this.expectedValue);
+        this._generateAssertDescription({custom: pCustomDescription, operator: "===", name: "Object value"});
+    }
+    else
+    {
+        this._testResult = this.actualValue === this.expectedValue;
+        this._generateAssertDescription({custom: pCustomDescription, operator: "==="});
+    }
+
+    return this;
+}
+
+/**
+ * Test if a value is greater than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isGreater = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue > this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">"});
+
+    return this;
+}
+
+/**
+ * Test if a value is greater or equal than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isGreaterEqual = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue >= this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">="});
+
+    return this;
+}
+
+/**
+ * Test if a value is lower than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLower = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue < this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<"});
+
+    return this;
+}
+
+/**
+ * Test if a value is lower or equal than a given compare value
+ *
+ * @param {Number} pExpect the value to compare
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLowerEqual = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = this.actualValue <= this.expectedValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<="});
+
+    return this;
+}
+
+/**
+ * Test if a value is a boolean
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isBoolean = function(pCustomDescription)
+{
+    this._setExpectValue("boolean");
+    this._testResult = Utils.isBoolean(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is a number
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNumber = function(pCustomDescription)
+{
+    this._setExpectValue("number");
+    this._testResult = Utils.isNumber(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is numeric
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNumeric = function(pCustomDescription)
+{
+    this._setExpectValue("numeric");
+    this._testResult = Utils.isNumeric(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is NaN (not a number)
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNaN = function(pCustomDescription)
+{
+    this._setExpectValue("NaN");
+    this._testResult = Number.isNaN(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an integer
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isInteger = function(pCustomDescription)
+{
+    this._setExpectValue("integer");
+    this._testResult = Utils.isInteger(this.actualValue);
+
+    this.actualDisplayValue = typeof this.actualValue;
+    this.expectedDisplayValue = "number";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is", expected: this.expectedValue});
+
+    return this;
+}
+
+/**
+ * Test if a value is a float
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isFloat = function(pCustomDescription)
+{
+    this._setExpectValue("float");
+    this._testResult = Utils.isFloat(this.actualValue);
+
+    this.actualDisplayValue = typeof this.actualValue;
+    this.expectedDisplayValue = "number";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is", expected: this.expectedValue});
+
+    return this;
+}
+
+/**
+ * Test if a value is a string
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isString = function(pCustomDescription)
+{
+    this._setExpectValue("string");
+    this._testResult = Utils.isString(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an array
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isArray = function(pCustomDescription)
+{
+    this._setExpectValue("array");
+    this._testResult = Array.isArray(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is an object
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isObject = function(pCustomDescription)
+{
+    this._setExpectValue("object");
+    this._testResult = Utils.isObject(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is a function
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isFunction = function(pCustomDescription)
+{
+    this._setExpectValue("function");
+    this._testResult = Utils.isFunction(this.actualValue);
+    this.actualDisplayValue = typeof this.actualValue;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "type is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is null
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isNull = function(pCustomDescription)
+{
+    this._setExpectValue("null");
+    this._testResult = this.actualValue === null;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value is undefined
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isUndefined = function(pCustomDescription)
+{
+    this._setExpectValue("undefined");
+    this._testResult = this.actualValue === undefined || typeof this.actualValue === "undefined";
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a string value is lowercase
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isUpperCase = function(pCustomDescription)
+{
+    this._setExpectValue("uppercase");
+    this._testResult = Utils.isString(this.actualValue)
+                        && this.actualValue === this.actualValue.toUpperCase()
+                        && this.actualValue !== this.actualValue.toLowerCase()
+                        ;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a string value is lowercase
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isLowerCase = function(pCustomDescription)
+{
+    this._setExpectValue("lowercase");
+    this._testResult = Utils.isString(this.actualValue)
+                        && this.actualValue === this.actualValue.toLowerCase()
+                        && this.actualValue !== this.actualValue.toUpperCase()
+                        ;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is"});
+
+    return this;
+}
+
+/**
+ * Test if a value starts with a given string
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {Number} pExpect the expected string beginning
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.startsWith = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = Utils.isString(this.actualValue) && this.actualValue.startsWith(this.expectedValue);
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "starts with"});
+
+    return this;
+}
+
+/**
+ * Test if a value end with a given string
+ *
+ * An additional check of the opposite must be made to prevent strings with non-letter characters passing the test
+ *
+ * @param {Number} pExpect the expected string beginning
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.endsWith = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+    this._testResult = Utils.isString(this.actualValue) && this.actualValue.endsWith(this.expectedValue);
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "ends with"});
+
+    return this;
+}
+
+/**
+ * Test if value is an instance of the expected "class"
+ *
+ * @param {Number} pExpect the expected instance name
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.isInstanceOf = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    // Checks the name of the constructor and runs a function to check the actual instance.
+    // To prevent security issues by using `eval()`, a double nested function was needed.
+    // The outer one to evaluate the code, the inner one to be able to pass an argument, that will be evaluated.
+    // TODO: Also check for isObject() before
+    this._testResult = Utils.isObject(this.actualValue)
+                        && this.actualValue.constructor.name === this.expectedValue
+                        && Function('"use strict"; return function(obj) {return obj instanceof ' + this.expectedValue + ';};')()(this.actualValue);
+    this.actualDisplayValue = this.actualValue.constructor.name;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "is instance of"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has the expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length === this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "===", nameSuffix: ".length"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has a minimum expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasMinLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length >= this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: ">=", nameSuffix: ".length"});
+
+    return this;
+}
+
+/**
+ * Test if value (array, string, object) has a maximum expected length
+ *
+ * @param {Number} pExpect the expected length
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
+ */
+Tester.prototype.hasMaxLength = function(pExpect, pCustomDescription)
+{
+    this._setExpectValue(pExpect);
+
+    var length = this._getLength(this.actualValue);
+    this._testResult = length <= this.expectedValue;
+    this.actualDisplayValue = length;
+
+    this._generateAssertDescription({custom: pCustomDescription, operator: "<=", nameSuffix: ".length"});
+
+    return this;
+}
+
+
+/**
+ * Test if a callback function throws an exception
+ *
+ * @param {Number} pExpect the expected error
+ * @param {(String|Object)} pCustomDescription an optional custom assert description or config object overwrite
+ * @return {Tester}
  */
-Tester.prototype.getSummary = function ()
+Tester.prototype.throwsException = function(pExpect, pCustomDescription)
 {
-    var summary = {
-        failures : 0,
-        successes : 0,
-        failedTests : [],
-        getMessage : function ()
+    this._setExpectValue(pExpect);
+    this._generateAssertDescription({custom: pCustomDescription, operator: "throws", expected: "exception", name: " "});
+
+    if(this._useNegation)
+    {
+        try
+        {
+            this.actualValue();
+        }
+        catch(e)
+        {
+            this._testResult = true; // Actually `false` and therefore failed, but must be `true` to make negation work
+            this.actualDisplayValue = e;
+            throw e;
+        }
+
+        this._testResult = false; // Actually `true` and therefore successful, but must be `false` to make negation work
+    }
+    else
+    {
+        try
         {
-            var message = "-------------------------\n"
-                + (this.failures ? "Test failure" : "Test success")
-                + "\n-------------------------\nTests performed: " + (this.successes + this.failures)
-                + "\nTests successful: " + this.successes
-                + "\nTests failed: " + this.failures;
-            if (this.failedTests.length)
+            this.actualValue();
+        }
+        catch(e)
+        {
+            this._testResult = e.toSource() === this.expectedValue.toSource();
+
+            if (!this._testResult)
             {
-                message += "\nFailures:";
-                this.failedTests.forEach(function (testName)
-                {
-                    message += "\n\t" + testName;
-                });
+                this.actualDisplayValue = e;
+                throw e;
             }
-            return message;
         }
     }
-    this.testResults.forEach(function ([testName,, successful])
-    {
-        if (successful)
-            summary.successes++;
+
+    return this;
+}
+
+/**
+ * Executes all tests in a TestSuite
+ *
+ * @param {TestSuite} pTestSuite the TestSuite which should be tested
+ * @return {void}
+ */
+Tester.prototype.test = function(pTestSuite)
+{
+    this.currentTestSuite = pTestSuite;
+    this._log("important", "\u2692 Suite: " + this.currentTestSuite.name);
+    this._registerMethodTestCall();
+
+    this.currentTestSuite.preAll(this);
+
+    this.currentTestSuite.tests.forEach(function(pTest) {
+        this._resetTest();
+
+        this.currentTestSuite.preTest(this);
+        this.dataProvider = pTest.dataProviderCallback();
+
+        if(Array.isArray(this.dataProvider) && this.dataProvider.length > 0)
+        {
+            this.dataProvider.forEach(function(pElement, pIndex) {
+                this._runTest(pTest, pIndex);
+            }, this);
+        }
         else
         {
-            summary.failures++;
-            summary.failedTests.push(testName);
+            this._runTest(pTest);
         }
+
+        this.currentTestSuite.postTest(this);
+    }, this);
+
+    this.currentTestSuite.postAll(this);
+}
+
+/**
+ * Calculate test duration
+ *
+ * Will we used in the results and summary output.
+ *
+ * @return {Number} the duration in milliseconds
+ */
+Tester.prototype.getDuration = function()
+{
+    if(this.endTime === null)
+    {
+        this.endTime = new Date().getTime();
+    }
+
+    return this.endTime - this.startTime;
+}
+
+/**
+ * Initializes test coverage by registering available and testable methods of given class
+ *
+ * @param {Object=} pInstanceName an optional class instance to make test coverage work
+ * @return {void}
+ */
+Tester.prototype.initCoverage = function(pInstanceName)
+{
+    if(pInstanceName !== undefined)
+    {
+        this.instanceName = pInstanceName;
+
+        var instanceMethods = Object.getOwnPropertyNames(this.instanceName.prototype).filter(function(property) {
+            return typeof this.instanceName.prototype[property] === 'function';
+        }, this);
+        var staticMethods = Object.getOwnPropertyNames(this.instanceName).filter(function(property) {
+            return typeof this.instanceName[property] === 'function';
+        }, this);
+
+        this.methods = instanceMethods.concat(staticMethods);
+    }
+}
+
+/**
+ * Get the results of current tester as object
+ *
+ * @return {Object} the test results
+ */
+Tester.prototype.getResults = function()
+{
+    return {
+        testCount: this.testCount,
+        assertCount: this.successCount + this.failCount,
+        successCount: this.successCount,
+        failCount: this.failCount,
+        duration: this.getDuration(),
+        coverage: this._getCoverageRate(),
+        methodsTotal: this.methods.length,
+        methodsCalled: this.methodsCalled.length
+    };
+}
+
+/**
+ * Output the summary for a single or multiple test suites to the server log
+ *
+ * The results of multiple tests get cumulated.
+ * There will be no log output if it has been disabled.
+ *
+ * @param {(Object|Object[])} pTestSuiteResults the test suite result(s) to log a summary for
+ * @return {void}
+ */
+Tester.prototype.summary = function(pTestSuiteResults)
+{
+    var testSuiteResults = pTestSuiteResults !== undefined && Array.isArray(pTestSuiteResults) ? pTestSuiteResults : [this.getResults()];
+    var divider = testSuiteResults.length > 1 ? "=" : "-";
+    var title = testSuiteResults.length > 1 ? "All Tests" : this.collectionName;
+
+    var testCount = 0;
+    var assertCount = 0;
+    var successCount = 0;
+    var failCount = 0;
+    var duration = 0;
+
+    testSuiteResults.forEach(function(pTestResult) {
+        testCount += pTestResult.testCount;
+        assertCount += pTestResult.assertCount;
+        successCount += pTestResult.successCount;
+        failCount += pTestResult.failCount;
+        duration += pTestResult.duration;
     });
-    return summary;
+
+    this._log("info", "\n" + title + " Summary:");
+    this._log("info", divider.repeat(32));
+    this._log("", "Total:    " + this.t.important(testCount + " Tests, " + assertCount + " Assertions"));
+    this._log("", "Passed:   " + (successCount === assertCount ? this.t.success(successCount) : this.t.warning(successCount)));
+    this._log("", "Failed:   " + (failCount === 0 ? this.t.success(failCount) : this.t.error(failCount)));
+    this._log("", "Time:     " + this.t.important(duration + "ms"));
+    this._log("", "Coverage: " + this._getCoverageOutput(testSuiteResults));
+    this._log("", "\n\n");
+
+    this._print();
 }
 
 /**
- * With assert you can test if a variable is the same like an expected value.<br/>
- * The test result is added to the Tester<br/>
+ * Write a certain message type to the output
+ *
+ * If the given message type is not valid/allowed, the output will be plain unformatted text.
+ *
+ * @param {String} pType the message type
+ * @param {String} pOutput the actual message
+ * @return {void}
  * 
- * Note: the values are compared by === so also the type is checked.<br/>
- * By using assert you can Test everything you want.<br/>
+ * @private
+ */
+Tester.prototype._log = function(pType, pOutput)
+{
+    var allowedTerminalMethods = ["debug", "success", "info", "error", "warning", "important"];
+
+    if(allowedTerminalMethods.indexOf(pType) !== -1)
+    {
+        this.output += "\n" + this.t[pType](pOutput);
+    }
+    else
+    {
+        this.output += "\n" + pOutput;
+    }
+}
+
+/**
+ * Set the value to test against
+ *
+ * @param {*} pValue
+ * @return {void}
  * 
- * @param {AnyValue} pExpect the expected value
- * @param {AnyValue} pActual the actual value
- * @param {String} [pTestDescription] this is an optional description. You should use it, if you have more than one .assert in your test.
+ * @private
  */
-Tester.prototype.assert = function (pExpect, pActual, pTestDescription)
+Tester.prototype._setExpectValue = function(pValue)
 {
-    this.currentTestHadAlreadyAssert = true;
-    
-    var res = pActual === pExpect;
+    this.expectedValue = pValue;
+    this.expectedDisplayValue = pValue;
+}
+
+/**
+ * Determine, whether an error is expected in the current test run
+ *
+ * @return {Boolean}
+ * 
+ * @private
+ */
+Tester.prototype._testExpectsError = function()
+{
+    return this.expectedValue instanceof Error;
+}
+
+/**
+ * Write the ouput to the log and reset the output to an empty string
+ *
+ * @return {Tester}
+ * 
+ * @private
+ */
+Tester.prototype._print = function()
+{
+    if(this.outputEnabled)
+    {
+        logging.log(this.output);
+    }
     
-    this.testResults.push([
-        this._currentTest,
-        pTestDescription,
-        res,
-        pExpect,
-        pActual
-    ]);
+    this.output = "";
+    return this;
 }
 
 /**
- * Executes all tests in a TestSuite
- * @param {TestSuite} pTestSuite the TestSuite which should be tested
+ * Generates and sets an assert description by given config object or simply set a given custom string
+ *
+ * It also handles using the correct operators when negation via `not()` is used
+ *
+ * @param {Object} pDescriptionConfig a config object
+ * @return {void}
+ * 
+ * @private
  */
-Tester.prototype.test = function (pTestSuite)
+Tester.prototype._generateAssertDescription = function(pDescriptionConfig)
 {
-    pTestSuite.preAll(this);
+    if(Utils.isString(pDescriptionConfig.custom))
+    {
+        this._assertDescription = pDescriptionConfig.custom;
+        return;
+    }
     
-    pTestSuite.tests.forEach(function(pTest) {
-        logging.log("Testing " + pTest[0]);
-        
-        this.currentTestHadAlreadyAssert = false;
-
-        this._currentTest = pTest[0];
-        pTestSuite.preTest(this);
-        
-        if (pTest.length >= 3)
+    Object.assign(pDescriptionConfig, pDescriptionConfig.custom);
+    var valueName = pDescriptionConfig.name || "value";
+    var valueNameSuffix = pDescriptionConfig.nameSuffix || "";
+    var operator = pDescriptionConfig.operator.trim();
+    var expectedValue = pDescriptionConfig.expected || this.expectedDisplayValue;
+    expectedValue = Utils.isString(expectedValue) ? "`" + expectedValue + "`" : expectedValue + "";
+
+    if(this._useNegation)
+    {
+        switch(operator)
         {
-            var errorThrowed = false;
-            
-            try {
-                pTest[1](this);
-            } catch (ex) {
-                errorThrowed = true;
-                
-                if (ex.toSource() == pTest[2].toSource())
-                {
-                    this.testResults.push([
-                        this._currentTest,
-                        "Expected error throwed",
-                        true,
-                        pTest[2].toSource(),
-                        ex.toSource()
-                    ]);
-
-                    // don't throw as it's expected and no detailed stacktrace is needed
-                }
-                else
-                {
-                    this.testResults.push([
-                        this._currentTest,
-                        "Expected error throwed",
-                        false,
-                        pTest[2].toSource(),
-                        ex.toSource()
-                    ]);
-                    
-                    logging.log("Expected error: " + pTest[2].toSource() + ", but wrong error occoured.\nRunning test again without try catch to get detailed error stack trace")
-                    
-                    pTestSuite.preTest(this);
-                    pTest[1](this);
-                    pTestSuite.postTest(this);
-                    return;
-                }
-            }
-            
-            if (!errorThrowed)
-            {
-                // if it didn't fail
-                this.testResults.push([
-                    this._currentTest,
-                    "Expected error throwed",
-                    false,
-                    pTest[2].toSource(),
-                    "no error"
-                ]);
-            }
+            case "===":
+                operator = "!==";
+                break;
+            case ">":
+                operator = "<=";
+                break;
+            case ">=":
+                operator = "<";
+                break;
+            case "<":
+                operator = ">=";
+                break;
+            case "<=":
+                operator = ">";
+                break;
+            case "is":
+            case "type is":
+            case "has":
+                operator += " not";
+                break;
+            case "is instance of":
+                operator += "is not instance of";
+                break;
+            case "starts with":
+            case "ends with":
+            case "throws":
+            default:
+                operator = "not " + operator;
+                break;
         }
-        else
+    }
+
+    this.actualValueElementHierarchy.forEach(function(pElement) {
+        valueName += typeof pElement === "number" ? "[" + pElement + "]" : "." + pElement;
+    }, this);
+    
+    var description = valueName + valueNameSuffix + " " + operator + " " + expectedValue;
+    this._assertDescription = description.trim();
+    this.actualValueElementHierarchy = [];
+}
+
+/**
+ * Reset test-related properties to their initial state
+ *
+ * This is done before every test run to prevent side-effects or expired/invalid data and states
+ *
+ * @return {Tester}
+ * 
+ * @private
+ */
+Tester.prototype._resetTest = function()
+{
+    this.actualValue = undefined;
+    this.actualDisplayValue = undefined;
+    this.actualOriginalValue = undefined;
+    this.actualOriginalDisplayValue = undefined;
+    this.actualValueElementHierarchy = [];
+    this.expectedValue = undefined;
+    this.expectedDisplayValue = undefined;
+    this._assertDescription = "";
+    this._testResult = false;
+    this._useNegation = false;
+
+    return this;
+}
+
+/**
+ * Get the length of a given value or undefined if it is not an array, object or string
+ *
+ * @param {(Array|Object|String)} pActualValue the value to get the length from
+ * @return {Number}
+ * 
+ * @private
+ */
+Tester.prototype._getLength = function(pActualValue)
+{
+    if(Array.isArray(pActualValue) || Utils.isString(pActualValue))
+    {
+        return pActualValue.length;
+    }
+    else if(Utils.isObject(pActualValue))
+    {
+        return Object.keys(pActualValue).length;
+    }
+
+    return undefined;
+}
+
+/**
+ * Get the percentage of test coverage
+ *
+ * Will we used in the results and summary output.
+ *
+ * @return {?Number} the duration in milliseconds
+ */
+Tester.prototype._getCoverageRate = function()
+{
+    if(this.methods.length === 0 && this.methodsCalled.length === 0)
+    {
+        return null;
+    }
+
+    if(this.methods.length === 0 || this.methodsCalled.length === 0)
+    {
+        return 0.00;
+    }
+
+    var coverage = (this.methodsCalled.length / this.methods.length) * 100;
+    coverage = Number.parseFloat(Number.parseFloat(coverage).toFixed(2));
+
+    return coverage > 100 ? 100.00 : coverage;
+}
+
+/**
+ * Register, which method of the given class has been called
+ *
+ * It takes the name of the TestSuite and splits it to get the class name and the method.
+ * Then, it checks if the class has such a method. It gets added to the call-list, if it has not been added yet.
+ * This is necessary to calculate the test coverage.
+ * All available class methods get registered beforehand and will be compared to this list later in `_getCoverageRate()`.
+ *
+ * @return {void}
+ * 
+ * @private
+ */
+Tester.prototype._registerMethodTestCall = function()
+{
+    if(this.instanceName !== undefined)
+    {
+        var callParts = this.currentTestSuite.name.split(".");
+
+        if(callParts[0] === this.instanceName.prototype.constructor.name && this.methods.indexOf(callParts[1]) !== -1)
         {
-            // run without try catch as no error expected
-            pTest[1](this);
+            if(this.methodsCalled.indexOf(callParts[1]) === -1)
+            {
+                this.methodsCalled.push(callParts[1]);
+            }
         }
-        
-        if (!this.currentTestHadAlreadyAssert && pTest.length < 3) // only add message if no error expected
-        {
-            this.testResults.push([
-                    this._currentTest,
-                    "Expected no error",
-                    true,
-                    "no error",
-                    "no error"
-                ]);
+    }
+}
+
+/**
+ * Renders the output for the test coverage
+ *
+ * The results of multiple tests get cumulated.
+ *
+ * @param {Object[]} pTestSuiteResults the test suite(s) to log a summary for
+ * @return {String} the test coverage output
+ */
+Tester.prototype._getCoverageOutput = function(pTestSuiteResults)
+{
+    var coverageOutput = this.t.debug("unknown");
+    var methodsTotal = 0;
+    var methodsCalled = 0;
+    var coverage = null;
+    var avgCoverage = null;
+    var coverageMethodCount = null;
+
+    pTestSuiteResults.forEach(function(pTestResult) {
+        methodsTotal += pTestResult.methodsTotal;
+        methodsCalled += pTestResult.methodsCalled;
+
+        if(pTestResult.coverage !== null) {
+            coverage += pTestResult.coverage;
         }
-            
-        pTestSuite.postTest(this);
-    }, this);
-    
-    pTestSuite.postAll(this);
+    });
+
+    if(coverage !== null)
+    {
+        avgCoverage = coverage / pTestSuiteResults.length;
+        coverageMethodCount = "(" + methodsCalled + "/" + methodsTotal + ")";
+    }
+
+    if(avgCoverage >= 80)
+    {
+        coverageOutput = this.t.success(avgCoverage + "% " + coverageMethodCount);
+    }
+    else if(avgCoverage >= 50)
+    {
+        coverageOutput = this.t.warning(avgCoverage + "% " + coverageMethodCount);
+    }
+    else if(avgCoverage > 0)
+    {
+        coverageOutput = this.t.error(avgCoverage + "% " + coverageMethodCount);
+    }
+
+    return coverageOutput;
 }
 
 /**
- * Prints the test results to the log
+ * Generates the title for the test about to run
+ *
+ * @param {Test} pTest the test to run
+ * @param {Number} pDataProviderIndex the current index of the data provider
+ * @return {void}
+ * 
+ * @private
  */
-Tester.prototype.printResults = function ()
+Tester.prototype._generateTestTitle = function(pTest, pDataProviderIndex)
 {
-    var lastTestDescription = "";
-    logging.log("Test results for \"" + this.collectionName + "\"")
-    this.testResults.forEach(function(pResult) {
-        
-        if (lastTestDescription != pResult[0])
+    if(pDataProviderIndex !== undefined)
+    {
+        var titleValues = [];
+
+        this.dataProvider[pDataProviderIndex].forEach(function(pElement) {
+            titleValues.push(pElement === undefined ? "undefined" : JSON.stringify(pElement));
+        });
+        this._log("", this.t.info("\t\u2699 Test: " + pTest.name) + this.t.debug(" (#" + (pDataProviderIndex + 1) + ": " + titleValues.join(" | ") + ")"));
+    }
+    else
+    {
+        this._log("info", "\t\u2699 Test: " + pTest.name);
+    }
+}
+
+/**
+ * Runs a single test iteration and handles errors
+ *
+ * @param {Test} pTest the test to run
+ * @param {Number} pDataProviderIndex the current index of the data provider
+ * @return {void}
+ * 
+ * @private
+ */
+Tester.prototype._runTest = function(pTest, pDataProviderIndex)
+{
+    this._generateTestTitle(pTest, pDataProviderIndex);
+    this.testCount++;
+
+    var dataProvider = pDataProviderIndex !== undefined ? this.dataProvider[pDataProviderIndex] : undefined;
+
+    try
+    {
+        pTest.callback(this, dataProvider);
+    }
+    catch (e)
+    {
+        this.assert();
+
+        // Expected, but wrong error
+        if (this._testExpectsError() && e.toSource() !== this.expectedValue.toSource())
         {
-            logging.log("Test \"" + pResult[0] + "\":");
+            this._log("error", "Wrong error occurred");
+            this._log("warning", "\t\t expected: " + this.expectedValue.toSource());
+            this._log("error", "\t\t actual:   " + e.toSource());
         }
-        
-        var message = (pResult[1] ? " - " + pResult[1] : " - Test result ") + ": " + (pResult[2] ? "success" : "fail\nexpected: " + JSON.stringify(pResult[3], null, "\t") + "\nactual: " + JSON.stringify(pResult[4], null, "\t"));
-        
-        logging.log(message);
-        lastTestDescription = pResult[0];
-    }, this);
-    logging.log(this.getSummary().getMessage());
-}
\ No newline at end of file
+        else
+        { // Unexpected error
+            this._log("error", "Unexpected error occurred");
+        }
+
+        var exception = logging.toLogString(e["rhinoException"] !== undefined ? e["rhinoException"] : e, true);
+        this._log("error", e.name + ":\n" + exception.replace(/\s+(at|\[->\])\s/g, "\n\t$1 "));
+        this._log("error", "jDito callstack:\n" + e.stack);
+
+        if(pTest.rerunOnError)
+        {
+            this._log("debug", "Rerun without try-catch to get detailed error stack trace");
+            this._print();
+
+            this.currentTestSuite.preTest(this);
+            pTest.callback(this, dataProvider);
+            this.currentTestSuite.postTest(this);
+        }
+    }
+}
diff --git a/process/UnitTest_test/UnitTest_test.aod b/process/UnitTest_test/UnitTest_test.aod
new file mode 100644
index 0000000000..095a395529
--- /dev/null
+++ b/process/UnitTest_test/UnitTest_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>UnitTest_test</name>
+  <title>[TEST] UnitTest_lib</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/UnitTest_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/UnitTest_test/process.js b/process/UnitTest_test/process.js
new file mode 100644
index 0000000000..7d80b7995e
--- /dev/null
+++ b/process/UnitTest_test/process.js
@@ -0,0 +1,1141 @@
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("UnitTest_lib");
+
+
+var equals = new TestSuite("Tester.equals", [
+    new Test("should test value equality",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).equals(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            var num = 0;
+            var str = '0';
+            var objStr = new String('0');
+            var obj_1 = {a: 1, b: 2, c: 3};
+            var obj_2 = {x: null, y: "test", z: true};
+            
+            return [
+                [true,  num,     num],
+                [true,  str,     str],
+                [true,  true,    true],
+                [true,  objStr,  objStr],
+                [true,  obj_1,   obj_1],
+                [true,  obj_2,   obj_2],
+                [false, true,    false],
+                [false, obj_1,   obj_2],
+                [false, num,     objStr],
+                [false, num,     str],
+                [false, objStr,  str],
+                [false, null,    undefined],
+                [false, objStr,  null],
+                [false, objStr,  undefined],
+                [false, null,    "null"],
+            ];
+        }
+    )
+]);
+
+var isGreater = new TestSuite("Tester.isGreater", [
+    new Test("should test if value is greater than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isGreater(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  1,    0],
+                [true,  100,  10],
+                [false, 3,    3],
+                [false, 0,    5],
+                [false, 1234, 5678],
+            ];
+        }
+    )
+]);
+
+var isGreaterEqual = new TestSuite("Tester.isGreaterEqual", [
+    new Test("should test if value is greater or equal than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isGreaterEqual(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  1,    0],
+                [true,  101,  100],
+                [true,  3,    3],
+                [false, 0,    5],
+                [false, 1234, 5678],
+            ];
+        }
+    )
+]);
+
+var isLower = new TestSuite("Tester.isLower", [
+    new Test("should test if value is lower than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLower(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0,    1],
+                [true,  10,   100],
+                [false, 3,    3],
+                [false, 5,    0],
+                [false, 5678, 1234],
+            ];
+        }
+    )
+]);
+
+var isLowerEqual = new TestSuite("Tester.isLowerEqual", [
+    new Test("should test if value is greater or equal than another",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLowerEqual(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0,    1],
+                [true,  100,  101],
+                [true,  3,    3],
+                [false, 5,    0],
+                [false, 5678, 1234],
+            ];
+        }
+    )
+]);
+
+var isBoolean = new TestSuite("Tester.isBoolean", [
+    new Test("should test if value is a boolean",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isBoolean().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  true],
+                [true,  false],
+                [false, "true"],
+                [false, "false"],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, new Object()],
+                [false, []],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNumber = new TestSuite("Tester.isNumber", [
+    new Test("should test if value is a number",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNumber().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  33.33333],
+                [true,  0xFFFFFF],
+                [true,  0777], // Octal
+                //[true,  0o777], // New octal format since ECMAScript 2015
+                //[true,  0b11111111], // Seems like binary numbers are not supported
+                [true,  2e6], // Exponentiation
+                [true,  0.1e2], // Exponentiation
+                [true,  +Infinity],
+                [true,  -Infinity],
+                [true,  NaN], // This should actually fail. Needs fix in Utils
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNumeric = new TestSuite("Tester.isNumeric", [
+    new Test("should test if value is numeric",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNumeric().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  33.33333],
+                [true,  "0777"], // Octal
+                [true,  "2e6"], // Exponentiation
+                [true,  "0.1e2"], // Exponentiation
+                [true,  +Infinity],
+                [true,  -Infinity],
+                [true,  NaN], // This should actually fail. Needs fix in Utils
+                [true,  "50000"],
+                [true,  "0"],
+                [false, ""],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNotANumber = new TestSuite("Tester.isNaN", [
+    new Test("should test if value is not NaN",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNaN().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  NaN],
+                [false, 0],
+                [false, 100],
+                [false, 33.33333],
+                [false, "0777"], // Octal
+                [false, "2e6"], // Exponentiation
+                [false, "0.1e2"], // Exponentiation
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, "50000"],
+                [false, "0"],
+                [false,  ""],
+                [false,  new Object()],
+                [false,  []],
+                [false,  true],
+                [false,  null],
+                [false,  undefined],
+            ];
+        }
+    )
+]);
+
+var isInteger = new TestSuite("Tester.isInteger", [
+    new Test("should test if value is an integer",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isInteger().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  0],
+                [true,  100],
+                [true,  0xFFFFFF],
+                [true,  0777], // Octal
+                [true,  2e6], // Exponentiation
+                [true,  0.1e2], // Exponentiation
+                [true,  "0"],
+                [false, 33.33333],
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, NaN],
+                [false, ""],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isFloat = new TestSuite("Tester.isFloat", [
+    new Test("should test if value is a float",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isFloat().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  33.33333],
+                [false, 0],
+                [false, 100],
+                [false, 0xFFFFFF],
+                [false, 0777], // Octal
+                [false, 2e6], // Exponentiation
+                [false, 0.1e2], // Exponentiation
+                [false, +Infinity],
+                [false, -Infinity],
+                [false, NaN],
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, []],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isString = new TestSuite("Tester.isString", [
+    new Test("should test if value is a string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isString().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  ""],
+                [true,  "Hello"],
+                [true,  "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isArray = new TestSuite("Tester.isArray", [
+    new Test("should test if value is an array",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isArray().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  []],
+                [true,  ["a", 2, null]],
+                [true,  new Array()],
+                [false, ""],
+                [false, "0"],
+                [false, new Object()],
+                [false, new Function()],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isObject = new TestSuite("Tester.isObject", [
+    new Test("should test if value is an object",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isObject().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  {}],
+                [true,  []],
+                [true,  ["a", 2, null]],
+                [true,  new Array()],
+                [true,  new Object()],
+                [true,  new String("hello")],
+                [false, new Function()],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isFunction = new TestSuite("Tester.isFunction", [
+    new Test("should test if value is a function",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isFunction().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  new Function()],
+                [true,  function(){}],
+                [true,  Math.sin],
+                [true,  Array.isArray],
+                [false, new Array()],
+                [false, new Object()],
+                [false, ""],
+                [false, "0"],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isNull = new TestSuite("Tester.isNull", [
+    new Test("should test if value is null",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isNull().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  null],
+                [false, ""],
+                [false, "Hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isUndefined = new TestSuite("Tester.isUndefined", [
+    new Test("should test if value is undefined",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isUndefined().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  undefined],
+                [false, ""],
+                [false, "Hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+            ];
+        }
+    )
+]);
+
+var isUpperCase = new TestSuite("Tester.isUpperCase", [
+    new Test("should test if value is an uppercase string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isUpperCase().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "HELLO"],
+                [false, "HeLlo"],
+                [false, "hello"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var isLowerCase = new TestSuite("Tester.isLowerCase", [
+    new Test("should test if value is a lowercase string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isLowerCase().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "hello"],
+                [false, "HELLO"],
+                [false, "HeLlo"],
+                [false, "0"],
+                [false, new String('Hello')],
+                [false, []],
+                [false, 0],
+                [false, true],
+                [false, null],
+                [false, undefined],
+            ];
+        }
+    )
+]);
+
+var startsWith = new TestSuite("Tester.startsWith", [
+    new Test("should test if value starts with a given string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).startsWith(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "Millenium Falcon", "Mill"],
+                [false, "Millenium Falcon", "MILL"],
+                [false, "Millenium Falcon", "Abc"],
+                [false, "Millenium Falcon", "0"],
+            ];
+        }
+    )
+]);
+
+var endsWith = new TestSuite("Tester.endsWith", [
+    new Test("should test if value ends with a given string",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).endsWith(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "Millenium Falcon", "con"],
+                [false, "Millenium Falcon", "CON"],
+                [false, "Millenium Falcon", "Abc"],
+                [false, "Millenium Falcon", "0"],
+            ];
+        }
+    )
+]);
+
+var isInstanceOf = new TestSuite("Tester.isInstanceOf", [
+    new Test("should test if value is an instance of given class",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).isInstanceOf(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  new Tester(), "Tester"],
+                [true,  [],           "Array"],
+                [true,  {},           "Object"],
+                [false, "abc",        "String"],
+                [false, true,         "Boolean"],
+                [false, 0,            "Number"],
+            ];
+        }
+    )
+]);
+
+var hasLength = new TestSuite("Tester.hasLength", [
+    new Test("should test if value has the expected length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  ["a", "z"],       2],
+                [true,  new String("?!"), 2],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+
+var hasMinLength = new TestSuite("Tester.hasMinLength", [
+    new Test("should test if value has the expected minimum length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasMinLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  "abc",            2],
+                [true,  ["a", "z"],       2],
+                [true,  ["a", "z"],       1],
+                [true,  new String("?!"), 2],
+                [false, "abc",            4],
+                [false, ["a", "z"],       5],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+
+var hasMaxLength = new TestSuite("Tester.hasMaxLength", [
+    new Test("should test if value has the expected maximum length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).hasMaxLength(pDataProvider[2]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "",               0],
+                [true,  [],               0],
+                [true,  {},               0],
+                [true,  "abc",            3],
+                [true,  "abc",            4],
+                [true,  ["a", "z"],       2],
+                [true,  ["a", "z"],       3],
+                [true,  new String("?!"), 2],
+                [false, "abc",            2],
+                [false, ["a", "z"],       1],
+                [false, 0,                1],
+                [false, true,             1],
+                [false, null,             1],
+                [false, undefined,        1],
+            ];
+        }
+    )
+]);
+
+var not = new TestSuite("Tester.not", [
+    new Test("should test negation of compare tests",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var method = pDataProvider[1];
+            var actualValue = dummyTester.expectThat(pDataProvider[2]).not()[method](pDataProvider[3]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            var num = 0;
+            var str = '0';
+            var objStr = new String('0');
+            var obj_1 = {a: 1, b: 2, c: 3};
+            var obj_2 = {x: null, y: "test", z: true};
+            
+            return [
+                [true,  "equals",         true,               false],
+                [true,  "equals",         obj_1,              obj_2],
+                [true,  "equals",         num,                objStr],
+                [false, "equals",         num,                num],
+                [false, "equals",         str,                str],
+                [false, "equals",         true,               true],
+                [true,  "isGreater",      3,                  3],
+                [true,  "isGreater",      0,                  5],
+                [true,  "isGreater",      1234,               5678],
+                [false, "isGreater",      1,                  0],
+                [false, "isGreater",      100,                10],
+                [true,  "isGreaterEqual", 0,                  5],
+                [true,  "isGreaterEqual", 1234,               5678],
+                [false, "isGreaterEqual", 1,                  0],
+                [false, "isGreaterEqual", 101,                100],
+                [false, "isGreaterEqual", 3,                  3],
+                [true,  "isLower",        3,                  3],
+                [true,  "isLower",        5,                  0],
+                [true,  "isLower",        5678,               1234],
+                [false, "isLower",        0,                  1],
+                [false, "isLower",        10,                 100],
+                [true,  "isLowerEqual",   5,                  0],
+                [true,  "isLowerEqual",   5678,               1234],
+                [false, "isLowerEqual",   0,                  1],
+                [false, "isLowerEqual",   100,                101],
+                [false, "isLowerEqual",   3,                  3],
+                [true,  "startsWith",     "Millenium Falcon", "MILL"],
+                [true,  "startsWith",     "Millenium Falcon", "Abc"],
+                [true,  "startsWith",     "Millenium Falcon", "0"],
+                [false, "startsWith",     "Millenium Falcon", "Mill"],
+                [true,  "endsWith",       "Millenium Falcon", "CON"],
+                [true,  "endsWith",       "Millenium Falcon", "Abc"],
+                [true,  "endsWith",       "Millenium Falcon", "0"],
+                [false, "endsWith",       "Millenium Falcon", "con"],
+                [true,  "isInstanceOf",   "abc",              "String"],
+                [true,  "isInstanceOf",   true,               "Boolean"],
+                [true,  "isInstanceOf",   0,                  "Number"],
+                [false, "isInstanceOf",   new Tester(),       "Tester"],
+                [false, "isInstanceOf",   [],                 "Array"],
+                [false, "isInstanceOf",   {},                 "Object"],
+                [true,  "hasLength",      0,                  1],
+                [true,  "hasLength",      true,               1],
+                [true,  "hasLength",      null,               1],
+                [true,  "hasLength",      undefined,          1],
+                [false, "hasLength",      "",                 0],
+                [false, "hasLength",      [],                 0],
+                [false, "hasLength",      {},                 0],
+                [false, "hasLength",      "abc",              3],
+                [false, "hasLength",      ["a", "z"],         2],
+                [false, "hasLength",      new String("?!"),   2],
+            ];
+        }
+    ),
+    new Test("should test negation of type tests",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var method = pDataProvider[1];
+            var actualValue = dummyTester.expectThat(pDataProvider[2]).not()[method]().getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  "isBoolean",   "true"],
+                [true,  "isBoolean",   "false"],
+                [true,  "isBoolean",   ""],
+                [true,  "isBoolean",   "0"],
+                [true,  "isBoolean",   0],
+                [true,  "isBoolean",   new Object()],
+                [true,  "isBoolean",   []],
+                [true,  "isBoolean",   null],
+                [true,  "isBoolean",   undefined],
+                [false, "isBoolean",   true],
+                [false, "isBoolean",   false],
+                [true,  "isNumber",    ""],
+                [true,  "isNumber",    "0"],
+                [true,  "isNumber",    new Object()],
+                [true,  "isNumber",    []],
+                [true,  "isNumber",    true],
+                [true,  "isNumber",    null],
+                [true,  "isNumber",    undefined],
+                [false, "isNumber",    0],
+                [false, "isNumber",    100],
+                [false, "isNumber",    33.33333],
+                [false, "isNumber",    0xFFFFFF],
+                [false, "isNumber",    0777], // Octal
+                [false, "isNumber",    2e6], // Exponentiation
+                [false, "isNumber",    0.1e2], // Exponentiation
+                [false, "isNumber",    +Infinity],
+                [false, "isNumber",    -Infinity],
+                [false, "isNumber",    NaN],
+                [true,  "isNumeric",   ""],
+                [true,  "isNumeric",   new Object()],
+                [true,  "isNumeric",   []],
+                [true,  "isNumeric",   true],
+                [true,  "isNumeric",   null],
+                [true,  "isNumeric",   undefined],
+                [false, "isNumeric",   0],
+                [false, "isNumeric",   100],
+                [false, "isNumeric",   33.33333],
+                [false, "isNumeric",   "0777"], // Octal
+                [false, "isNumeric",   "2e6"], // Exponentiation
+                [false, "isNumeric",   "0.1e2"], // Exponentiation
+                [false, "isNumeric",   +Infinity],
+                [false, "isNumeric",   -Infinity],
+                [false, "isNumeric",   NaN],
+                [false, "isNumeric",   "50000"],
+                [false, "isNumeric",   "0"],
+                [true,  "isNaN",       0],
+                [true,  "isNaN",       100],
+                [true,  "isNaN",       33.33333],
+                [true,  "isNaN",       "0777"], // Octal
+                [true,  "isNaN",       "2e6"], // Exponentiation
+                [true,  "isNaN",       "0.1e2"], // Exponentiation
+                [true,  "isNaN",       +Infinity],
+                [true,  "isNaN",       -Infinity],
+                [true,  "isNaN",       "50000"],
+                [true,  "isNaN",       "0"],
+                [true,  "isNaN",       ""],
+                [true,  "isNaN",       new Object()],
+                [true,  "isNaN",       []],
+                [true,  "isNaN",       true],
+                [true,  "isNaN",       null],
+                [true,  "isNaN",       undefined],
+                [false, "isNaN",       NaN],
+                [true,  "isInteger",   33.33333],
+                [true,  "isInteger",   +Infinity],
+                [true,  "isInteger",   -Infinity],
+                [true,  "isInteger",   NaN],
+                [true,  "isInteger",   ""],
+                [true,  "isInteger",   new Object()],
+                [true,  "isInteger",   []],
+                [true,  "isInteger",   true],
+                [true,  "isInteger",   null],
+                [true,  "isInteger",   undefined],
+                [false, "isInteger",   0],
+                [false, "isInteger",   100],
+                [false, "isInteger",   0xFFFFFF],
+                [false, "isInteger",   0777], // Octal
+                [false, "isInteger",   2e6], // Exponentiation
+                [false, "isInteger",   0.1e2], // Exponentiation
+                [false, "isInteger",   "0"],
+                [true,  "isFloat",     0],
+                [true,  "isFloat",     100],
+                [true,  "isFloat",     0xFFFFFF],
+                [true,  "isFloat",     0777], // Octal
+                [true,  "isFloat",     2e6], // Exponentiation
+                [true,  "isFloat",     0.1e2], // Exponentiation
+                [true,  "isFloat",     +Infinity],
+                [true,  "isFloat",     -Infinity],
+                [true,  "isFloat",     NaN],
+                [true,  "isFloat",     ""],
+                [true,  "isFloat",     "0"],
+                [true,  "isFloat",     new Object()],
+                [true,  "isFloat",     []],
+                [true,  "isFloat",     true],
+                [true,  "isFloat",     null],
+                [true,  "isFloat",     undefined],
+                [false, "isFloat",     33.33333],
+                [true,  "isString",    new String('Hello')],
+                [true,  "isString",    []],
+                [true,  "isString",    0],
+                [true,  "isString",    true],
+                [true,  "isString",    null],
+                [true,  "isString",    undefined],
+                [false, "isString",    ""],
+                [false, "isString",    "Hello"],
+                [false, "isString",    "0"],
+                [true,  "isArray",     ""],
+                [true,  "isArray",     "0"],
+                [true,  "isArray",     new Object()],
+                [true,  "isArray",     new Function()],
+                [true,  "isArray",     0],
+                [true,  "isArray",     true],
+                [true,  "isArray",     null],
+                [true,  "isArray",     undefined],
+                [false, "isArray",     []],
+                [false, "isArray",     ["a", 2, null]],
+                [false, "isArray",     new Array()],
+                [true,  "isObject",    new Function()],
+                [true,  "isObject",    ""],
+                [true,  "isObject",    "0"],
+                [true,  "isObject",    0],
+                [true,  "isObject",    true],
+                [true,  "isObject",    null],
+                [true,  "isObject",    undefined],
+                [false, "isObject",    {}],
+                [false, "isObject",    []],
+                [false, "isObject",    ["a", 2, null]],
+                [false, "isObject",    new Array()],
+                [false, "isObject",    new Object()],
+                [false, "isObject",    new String("hello")],
+                [true,  "isFunction",  new Array()],
+                [true,  "isFunction",  new Object()],
+                [true,  "isFunction",  ""],
+                [true,  "isFunction",  "0"],
+                [true,  "isFunction",  0],
+                [true,  "isFunction",  true],
+                [true,  "isFunction",  null],
+                [true,  "isFunction",  undefined],
+                [false, "isFunction",  new Function()],
+                [false, "isFunction",  function(){}],
+                [false, "isFunction",  Math.sin],
+                [false, "isFunction",  Array.isArray],
+                [true,  "isNull",      ""],
+                [true,  "isNull",      "Hello"],
+                [true,  "isNull",      "0"],
+                [true,  "isNull",      new String('Hello')],
+                [true,  "isNull",      []],
+                [true,  "isNull",      0],
+                [true,  "isNull",      true],
+                [true,  "isNull",      undefined],
+                [false, "isNull",      null],
+                [true,  "isUndefined", ""],
+                [true,  "isUndefined", "Hello"],
+                [true,  "isUndefined", "0"],
+                [true,  "isUndefined", new String('Hello')],
+                [true,  "isUndefined", []],
+                [true,  "isUndefined", 0],
+                [true,  "isUndefined", true],
+                [true,  "isUndefined", null],
+                [false, "isUndefined", undefined],
+                [true,  "isUpperCase", "HeLlo"],
+                [true,  "isUpperCase", "hello"],
+                [true,  "isUpperCase", "0"],
+                [true,  "isUpperCase", new String('Hello')],
+                [true,  "isUpperCase", []],
+                [true,  "isUpperCase", 0],
+                [true,  "isUpperCase", true],
+                [true,  "isUpperCase", null],
+                [true,  "isUpperCase", undefined],
+                [false, "isUpperCase", "HELLO"],
+                [true,  "isLowerCase", "HELLO"],
+                [true,  "isLowerCase", "HeLlo"],
+                [true,  "isLowerCase", "0"],
+                [true,  "isLowerCase", new String('Hello')],
+                [true,  "isLowerCase", []],
+                [true,  "isLowerCase", 0],
+                [true,  "isLowerCase", true],
+                [true,  "isLowerCase", null],
+                [true,  "isLowerCase", undefined],
+                [false, "isLowerCase", "hello"],
+            ];
+        }
+    ),
+    new Test("should not affect other assertions",
+    function(pTester) {
+
+        var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+        //first assertion with not()-call
+        var expectValue = true;
+        var actualValue = dummyTester.expectThat("this value").not().equals("that other value").getTestResult();
+        pTester.expectThat(actualValue).equals(expectValue).assert();
+
+        //second test without not()-call => the first not()-call should not affect the second assertion
+        expectValue = false;
+        actualValue = dummyTester.expectThat("this value").equals("that other value").getTestResult();
+        pTester.expectThat(actualValue).equals(expectValue).assert();
+    }
+    )
+]);
+
+var elementAt = new TestSuite("Tester.elementAt", [
+    new Test("should test if value element at key position passes test",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var key = pDataProvider[2];
+            var method = pDataProvider[3];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).elementAt(key)[method](pDataProvider[4]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  ["a", "z", ["x", true, 42]],                0, "isString",  undefined],
+                [true,  ["a", "z", ["x", true, 42]],                1, "equals",    "z"],
+                [true,  ["a", "z", ["x", true, 42]],                2, "isArray",   undefined],
+                [true,  ["a", "z", ["x", true, 42]],                2, "hasLength", 3],
+                [true,  ["a", "z", {"first": "x", "second": true}], 2, "isObject",  undefined],
+                [true,  ["a", "z", {"first": "x", "second": true}], 2, "hasLength", 2],
+                [false, ["a", "z", ["x", true, 42]],                0, "isNumeric", undefined],
+                [false, ["a", "z", ["x", true, 42]],                1, "equals",    "a"],
+                [false, ["a", "z", ["x", true, 42]],                2, "isString",  undefined],
+                [false, ["a", "z", ["x", true, 42]],                2, "hasLength", 1],
+                [false, ["a", "z", {"first": "x", "second": true}], 2, "isArray",   undefined],
+                [false, ["a", "z", {"first": "x", "second": true}], 2, "hasLength", 1],
+            ];
+        }
+    ),
+    new Test("should test if nested value element at key position passes test",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            var key1 = pDataProvider[2];
+            var key2 = pDataProvider[3];
+            var method = pDataProvider[4];
+            var actualValue = dummyTester.expectThat(pDataProvider[1]).elementAt(key1).elementAt(key2)[method](pDataProvider[5]).getTestResult();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [true,  [["x", true, [42]]],            0,       0,        "isString",  undefined],
+                [true,  [["x", true, [42]]],            0,       0,        "equals",    "x"],
+                [true,  [["x", true, [42]]],            0,       1,        "isBoolean", undefined],
+                [true,  [["x", true, [42]]],            0,       1,        "equals",    true],
+                [true,  [["x", true, [42]]],            0,       2,        "isArray",   undefined],
+                [true,  [{"first": "a", "second": 42}], 0,       "first",  "equals",    "a"],
+                [true,  [{"first": "a", "second": 42}], 0,       "second", "equals",    42],
+                [true,  {"outer": {"inner": "a"}},      "outer", "inner",  "isString",  undefined],
+                [true,  {"outer": {"inner": "a"}},      "outer", "inner",  "equals",    "a"],
+                [false, [["x", true, [42]]],            0,       1,        "equals",    "a"],
+                [false, [["x", true, [42]]],            0,       2,        "isNumber",  undefined],
+                [false, {"outer": {"inner": "a"}},      "outer", "inner",  "isNumber",  undefined],
+            ];
+        }
+    )
+]);
+
+var getCoverageRate = new TestSuite("Tester._getCoverageRate", [
+    new Test("should test if coverage is correctly calculated",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[0];
+            dummyTester.methods = pDataProvider[1];
+            dummyTester.methodsCalled = pDataProvider[2];
+            var actualValue = dummyTester._getCoverageRate();
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                [100,   ["method1", "method2", "method3"], ["method1", "method2", "method3"]],
+                [33.33, ["method1", "method2", "method3"], ["method1"]],
+                [66.67, ["method1", "method2", "method3"], ["method1", "method2"]],
+                [100,   ["method1"],                       ["method1", "method2", "method3"]],
+                [0,     ["method1"],                       []],
+                [0,     [],                                ["method1"]],
+                [null,  [],                                []],
+            ];
+        }
+    )
+]);
+
+var getLength = new TestSuite("Tester._getLength", [
+    new Test("should test if value has the expected length",
+        function(pTester, pDataProvider) {
+            
+            var dummyTester = (new Tester("Test Dummy")).setOutputEnabled(false);
+            var expectValue = pDataProvider[1];
+            var actualValue = dummyTester._getLength(pDataProvider[0]);
+
+            pTester.expectThat(actualValue).equals(expectValue).assert();
+        },
+        function dataProvider() {
+            return [
+                ["",               0],
+                [[],               0],
+                [{},               0],
+                ["abc",            3],
+                [["a", "z"],       2],
+                [new String("?!"), 2],
+                [{first: "xyz"},   1],
+                [0,                undefined],
+                [true,             undefined],
+                [null,             undefined],
+                [undefined,        undefined],
+            ];
+        }
+    )
+]);
+
+
+
+var tester = new Tester("Test UnitTest_lib");
+tester.initCoverage(Tester);
+tester.test(equals);
+tester.test(isGreater);
+tester.test(isGreaterEqual);
+tester.test(isLower);
+tester.test(isLowerEqual);
+tester.test(isBoolean);
+tester.test(isNumber);
+tester.test(isNumeric);
+tester.test(isNotANumber);
+tester.test(isInteger);
+tester.test(isFloat);
+tester.test(isString);
+tester.test(isArray);
+tester.test(isObject);
+tester.test(isFunction);
+tester.test(isNull);
+tester.test(isUndefined);
+tester.test(isUpperCase);
+tester.test(isLowerCase);
+tester.test(startsWith);
+tester.test(endsWith);
+tester.test(isInstanceOf);
+tester.test(hasLength);
+tester.test(hasMinLength);
+tester.test(hasMaxLength);
+tester.test(not);
+tester.test(elementAt);
+tester.test(getCoverageRate);
+tester.test(getLength);
+
+tester.summary();
+    
+result.object(tester.getResults());
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 9dc7208091..97545be173 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -183,6 +183,39 @@ Utils.isNumber = function (pValue)
     return typeof pValue === "number";
 }
 
+/**
+ * Checks if the given value is numeric.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is numeric
+ */
+Utils.isNumeric = function (pValue)
+{
+    return Utils.isNumber(pValue) || (!isNaN(parseFloat(pValue)) && isFinite(pValue));
+}
+
+/**
+ * Checks if the given value is an integer.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is an integer
+ */
+Utils.isInteger = function (pValue)
+{
+    return Number.isInteger(parseFloat(pValue)) && isFinite(pValue);
+}
+
+/**
+ * Checks if the given value is a floating point number.
+ * 
+ * @param {Object} pValue the value to check
+ * @return {Boolean} true if the value is a float
+ */
+Utils.isFloat = function (pValue)
+{
+    return !Number.isInteger(parseFloat(pValue)) && !isNaN(parseFloat(pValue)) && isFinite(pValue);
+}
+
 /**
  * Checks if the given value is an object. Be careful, null is also considered "object".
  * 
@@ -191,7 +224,7 @@ Utils.isNumber = function (pValue)
  */
 Utils.isObject = function (pValue)
 {
-    return typeof pValue === "object";
+    return typeof pValue === "object" && pValue !== null;
 }
 
 /**
diff --git a/process/_all_test/_all_test.aod b/process/_all_test/_all_test.aod
new file mode 100644
index 0000000000..4336a9ddb9
--- /dev/null
+++ b/process/_all_test/_all_test.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>_all_test</name>
+  <title>[TEST] .All</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CHECK_CIRCLE</icon>
+  <process>%aditoprj%/process/_all_test/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>EXECUTABLE</element>
+  </variants>
+</process>
diff --git a/process/_all_test/process.js b/process/_all_test/process.js
new file mode 100644
index 0000000000..cbc75f3584
--- /dev/null
+++ b/process/_all_test/process.js
@@ -0,0 +1,23 @@
+import("system.logging");
+import("system.process");
+import("UnitTest_lib");
+import("Terminal_lib");
+
+
+var testResults = [];
+
+process.getProcesses([process.VARIANT_EXECUTABLE]).forEach(function(pProcessName) {
+    // Run all executable processes ending with "_test" except THIS one
+    if(pProcessName !== "_all_test" && pProcessName.substr(-5, 5) === "_test") {
+        var startConfig = process.createStartConfig().setName(pProcessName);
+        var testResult = JSON.parse(process.start(startConfig));
+        
+        if(testResult !== null && typeof testResult === "object") {
+            testResults.push(testResult);
+        }
+    }
+});
+
+var tester = new Tester("");
+tester.summary(testResults);
+
-- 
GitLab


From a62cad9fb6ae986fa384098b4a7d256dd6190cca Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 09:51:37 +0100
Subject: [PATCH 235/251] 1067663 sql queries fixed for oracle

---
 .../object_rowid.displayvalue/expression.js   |  2 +-
 .../object_rowid.displayvalue/expression.js   |  2 +-
 .../object_rowid.displayvalue/expression.js   |  2 +-
 .../object_rowid.displayvalue/expression.js   |  2 +-
 .../offer_id.displayvalue/expression.js       |  3 +-
 .../recordcontainers/jdito/contentProcess.js  |  4 +-
 process/Context_lib/process.js                | 29 +++++------
 process/Keyword_lib/process.js                |  1 +
 process/Sql_lib/process.js                    | 15 +++++-
 process/Turnover_lib/process.js               | 51 +++++++++++++------
 10 files changed, 73 insertions(+), 38 deletions(-)

diff --git a/entity/Competition_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Competition_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
index 33554680cc..fb69d484cf 100644
--- a/entity/Competition_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ b/entity/Competition_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"))
\ No newline at end of file
+result.string(ContextUtils.getNameSubselectSql("COMPETITION.OBJECT_TYPE", "COMPETITION.OBJECT_ROWID"))
\ No newline at end of file
diff --git a/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
index 33554680cc..856c1bb3cf 100644
--- a/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ b/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"))
\ No newline at end of file
+result.string(ContextUtils.getNameSubselectSql("FORECAST.OBJECT_TYPE", "FORECAST.OBJECT_ROWID"))
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
index 000d055cfa..a5d62617be 100644
--- a/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ b/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
@@ -5,6 +5,6 @@ import("Context_lib");
 //TODO: refactor:
 //whenever we want to shrink data for a single object it's not needed to resolve the objects name where we're from
 if (vars.get("$param.ObjectType_param") == null)
-    result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"));
+    result.string(ContextUtils.getNameSubselectSql("OBJECTMEMBER.OBJECT_TYPE", "OBJECTMEMBER.OBJECT_ROWID"));
 else
     result.string("'OBJECT_ROWID.displayValue not loaded'");
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
index 33554680cc..c0332af5cb 100644
--- a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"))
\ No newline at end of file
+result.string(ContextUtils.getNameSubselectSql("OFFER.OBJECT_TYPE", "OFFER.OBJECT_ROWID"))
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/recordfieldmappings/offer_id.displayvalue/expression.js b/entity/Order_entity/recordcontainers/db/recordfieldmappings/offer_id.displayvalue/expression.js
index a86ac585f2..2aec63a8d1 100644
--- a/entity/Order_entity/recordcontainers/db/recordfieldmappings/offer_id.displayvalue/expression.js
+++ b/entity/Order_entity/recordcontainers/db/recordfieldmappings/offer_id.displayvalue/expression.js
@@ -1,4 +1,5 @@
 import("system.result");
 import("Context_lib");
+import("system.db");
 
-result.string(ContextUtils.getNameSubselectSql("'Offer'", "SALESORDER.OFFER_ID"));
\ No newline at end of file
+result.string(db.translateStatement(ContextUtils.getNameSql("Offer", "SALESORDER.OFFER_ID")));
\ No newline at end of file
diff --git a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
index bd20eceda6..fd0e3bd7a6 100644
--- a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
@@ -27,8 +27,8 @@ import("system.translate");
  */
 
 
-var turnoverCategory = translate.text('Turnover');
-var forecastCategory = translate.text('Forecast');
+var turnoverCategory = translate.text("Turnover");
+var forecastCategory = translate.text("Forecast");
 
 var maxYear = parseInt(vars.get("$param.MaxYear_param"));
 var yearCountToShow = parseInt(vars.get("$param.YearCountToShow_param"));
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index f0e62195ad..fcf879f048 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -536,31 +536,31 @@ ContextUtils.getSelectMap  = function()
                                             .setStateField("STATUS")
                                             .setActiveStates([$KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectState$postponed()])
             ,"Contract": ContextSelector.create("CONTRACT", "CONTRACTID")
-                                        .setTitleExpression(maskingUtils.concat([
+                                        .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                                 KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACTTYPE"),
                                                                 maskingUtils.cast("CONTRACTCODE", SQLTYPES.VARCHAR, 10)
-                                                                ], " "))
+                                                                ], " "), SQLTYPES.NVARCHAR, 50))
                                         .setContactIdField("CONTACT_ID")
                                         .setCreationDateField("CONTRACTSTART")
                                         .setStateField("CONTRACTSTATUS")
                                         .setActiveStates([$KeywordRegistry.contractState$validLimited(), $KeywordRegistry.contractState$validUnlimited(), $KeywordRegistry.contractState$notSigned()])
             ,"Offer": ContextSelector.create("OFFER", "OFFERID")
-                                     .setTitleExpression(maskingUtils.concat([
+                                     .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                 "'" + translate.text("Offer") + "'",
                                                 "' '",
                                                 maskingUtils.cast("OFFERCODE", SQLTYPES.VARCHAR, 10),
                                                 "'-'",
                                                 maskingUtils.cast("VERSNR", SQLTYPES.VARCHAR, 10)
-                                                ], "", false))
+                                                ], "", false), SQLTYPES.NVARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("OFFERDATE")
                                      .setStateField("STATUS")
                                      .setActiveStates([$KeywordRegistry.offerStatus$open(), $KeywordRegistry.offerStatus$checked(), $KeywordRegistry.offerStatus$sent()])
             ,"Order": ContextSelector.create("SALESORDER", "SALESORDERID")
-                                     .setTitleExpression(maskingUtils.concat([
+                                     .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                         KeywordUtils.getResolvedTitleSqlPart("OrderType", "ORDERTYPE"),
                                                         maskingUtils.cast("SALESORDERCODE", SQLTYPES.VARCHAR, 10)
-                                                        ], " "))
+                                                        ], " "), SQLTYPES.NVARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("SALESORDERDATE")
                                      .setStateField("ORDERSTATUS")
@@ -607,20 +607,19 @@ ContextUtils.getSelectMap  = function()
  */
 ContextUtils.getNameSubselectSql = function(pContextIdDbField, pRowIdDbField)
 {
-    // TODO: prepared?
-    //!SqlBuilder
-    var select = "(case " + pContextIdDbField + " ";
+    var select = SqlBuilder.caseStatement()
 
-    var selectMap = ContextUtils.getSelectMap ()
+    var selectMap = ContextUtils.getSelectMap();
     for (let contextId in selectMap)
     {
-        select += "when '" + contextId + "' then (select " + selectMap[contextId].titleExpression + " from " + selectMap[contextId].getFullFromClause() + (pRowIdDbField ? " where " + selectMap[contextId].getFullIdField() + " = " + pRowIdDbField : " ") + ") ";
+        let titleSelect = newSelect(selectMap[contextId].titleExpression)
+            .from(selectMap[contextId].getFullFromClause())
+            .where(selectMap[contextId].getFullIdField() + " = " + pRowIdDbField);
+            
+        select.when(pContextIdDbField, contextId).then(titleSelect);
     }
 
-    select += "else 'Not defined in ContextUtils.getNameSql()!'";
-    select += "end)";
-
-    return select;
+    return select.toString();
 }
 
 /**
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index ea1736e5c1..994fd55c07 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -107,6 +107,7 @@ KeywordUtils.getContainerNames = function()
     //do not cache this list since
     // a) the list can easly change when a new container is created
     // b) where this is called it's not relevant in terms of performance
+    //!SqlBuilder
     var list = db.array(db.COLUMN, "select distinct AB_KEYWORD_ENTRY.CONTAINER from AB_KEYWORD_ENTRY order by AB_KEYWORD_ENTRY.CONTAINER asc");
     return list;
 };
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 49bcb6bfc9..0af28ce22f 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3100,6 +3100,14 @@ SqlBuilder.caseWhen = function (pFieldOrCond, pValue, pCondition, pFieldType)
     return new SqlBuilder._CaseStatement().when(pFieldOrCond, pValue, pCondition, pFieldType);
 }
 
+/**
+ * @return {SqlBuilder._CaseStatement}
+ */
+SqlBuilder.caseStatement = function ()
+{
+    return new SqlBuilder._CaseStatement();
+}
+
 /**
  * Represents a case-when statement
  */
@@ -3373,6 +3381,8 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
                 return "char";
             case SQLTYPES.VARCHAR:
                 return "char";
+            case SQLTYPES.NVARCHAR:
+                return "nvarchar";
             case SQLTYPES.INTEGER:
                 return "int";
             case SQLTYPES.DECIMAL:
@@ -3429,6 +3439,9 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
                 case SQLTYPES.VARCHAR:
                     sqlDataType = "varchar2";
                     break;
+                case SQLTYPES.NVARCHAR:
+                    sqlDataType = "nvarchar2";
+                    break;
                 case SQLTYPES.INTEGER:
                     sqlDataType = "number";
                     pTargetLength = "10"
@@ -4152,7 +4165,7 @@ SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale)
         else
             return translate.text(value);
     };
-    
+    //!SqlBuilder
     var resSql = "case ", preparedValues = [];
     var colTypeKeyId = SQLTYPES.CHAR;
     var colTypeTitle = SQLTYPES.NVARCHAR;
diff --git a/process/Turnover_lib/process.js b/process/Turnover_lib/process.js
index e8f96a6131..1e69ad37d5 100644
--- a/process/Turnover_lib/process.js
+++ b/process/Turnover_lib/process.js
@@ -26,24 +26,45 @@ function TurnoverUtil() {}
  */
 TurnoverUtil.getTurnoverData = function (pMaxYear, pYearCount, pSalesprojectId)
 {
-    var turnoverCategory = translate.text('Turnover');
-
+    var turnoverCategory = translate.text("Turnover");
     var minYear = pMaxYear - pYearCount + 1;
+    var sqlMask = new SqlMaskingUtils();
         
     // load data
-    return newSelect("'" + turnoverCategory + "', year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, SALESORDERITEM.DISCOUNT discount, SALESORDERITEM.VAT vat, SALESORDERITEM.PRICE price, sum(SALESORDERITEM.QUANTITY) quantity, SALESORDERITEM.GROUPCODEID prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "SALESORDERITEM.GROUPCODEID") + ") prodGroupName")
-                    .from("SALESORDER")
-                    .join("SALESORDERITEM", "SALESORDERITEM.SALESORDER_ID = SALESORDER.SALESORDERID")
-                    .where("SALESORDER.ORDERTYPE", "ORDTYPEINVO")
-                    .and("SALESORDER.ORDERSTATUS = 1")
-                    .and("SALESORDER.CANCELLATION <> 1")
-                    .and("SALESORDERITEM.OPTIONAL <> 1")
-                    .and("SALESORDER.SALESORDERDATE", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER)
-                    .and("SALESORDER.SALESORDERDATE", minYear, "year(#) >= ?", SQLTYPES.INTEGER)
-                    .andIfSet("SALESORDER.SALESPROJECT_ID", pSalesprojectId)
-                    .groupBy("year(SALESORDERDATE), month(SALESORDERDATE), SALESORDERITEM.GROUPCODEID, SALESORDERITEM.DISCOUNT, SALESORDERITEM.VAT, SALESORDERITEM.PRICE")
-                    .orderBy("yearNum, monthNum")
-                    .table();
+    
+    return newSelect([
+            "'" + turnoverCategory + "'", 
+            sqlMask.yearFromDate("SALESORDERDATE"), 
+            sqlMask.monthFromDate("SALESORDERDATE"),
+            "SALESORDERITEM.DISCOUNT",
+            "SALESORDERITEM.VAT",
+            "SALESORDERITEM.PRICE",
+            "sum(SALESORDERITEM.QUANTITY)",
+            "SALESORDERITEM.GROUPCODEID",
+            KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "SALESORDERITEM.GROUPCODEID")
+        ])
+        .from("SALESORDER")
+        .join("SALESORDERITEM", "SALESORDERITEM.SALESORDER_ID = SALESORDER.SALESORDERID")
+        .where("SALESORDER.ORDERTYPE", "ORDTYPEINVO")
+        .and("SALESORDER.ORDERSTATUS", "1")
+        .and("SALESORDER.CANCELLATION", "1", SqlBuilder.NOT_EQUAL())
+        .and("SALESORDERITEM.OPTIONAL", "1", SqlBuilder.NOT_EQUAL())
+        .and("SALESORDER.SALESORDERDATE", pMaxYear, sqlMask.yearFromDate("#") + " <= ?", SQLTYPES.INTEGER)
+        .and("SALESORDER.SALESORDERDATE", minYear, sqlMask.yearFromDate("#") + " >= ?", SQLTYPES.INTEGER)
+        .andIfSet("SALESORDER.SALESPROJECT_ID", pSalesprojectId)
+        .groupBy([
+            sqlMask.yearFromDate("SALESORDERDATE"), 
+            sqlMask.monthFromDate("SALESORDERDATE"),
+            "SALESORDERITEM.GROUPCODEID",
+            "SALESORDERITEM.DISCOUNT",
+            "SALESORDERITEM.VAT",
+            "SALESORDERITEM.PRICE"
+        ])
+        .orderBy([
+            sqlMask.yearFromDate("SALESORDERDATE"), 
+            sqlMask.monthFromDate("SALESORDERDATE")
+        ])
+        .table();
 }
 
 /**
-- 
GitLab


From 44cef7690d238204ba0a4cc0f17c8dfdb5da2cf8 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 09:57:50 +0100
Subject: [PATCH 236/251] ContactTitleRenderer sql correction

---
 process/Contact_lib/process.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js
index 1d8216d36f..4d53dde63a 100644
--- a/process/Contact_lib/process.js
+++ b/process/Contact_lib/process.js
@@ -661,7 +661,7 @@ function ContactTitleRenderer(pContact, pOptions)
         var maskingUtil = new SqlMaskingUtils();
         var res = maskingUtil.concat([this.contact.salutation, this.contact.title, this.contact.firstname, this.contact.middlename, this.contact.lastname].filter(function (e){
             return e != "";
-        }), " ");
+        }), " ", false);
         //binary AND check for possibility to check serveral options
         if (this._options & ContactTitleRenderer.OPTIONS.IncludeOrganisation && this.contact.organisationName)
             res = maskingUtil.concat([res, this.contact.organisationName], " | ");
-- 
GitLab


From 86efedf5e9072c782f65146b90b9e8fffd0edf67 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 10:07:23 +0100
Subject: [PATCH 237/251] SqlMaskingUtils.cast map nvarchar to varchar if derby

---
 process/Sql_lib/process.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 0af28ce22f..d0c827e77c 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3398,6 +3398,7 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
         case db.DBTYPE_DERBY10:
             switch(pTargetDatatype) 
             {
+                case SQLTYPES.NVARCHAR:
                 case SQLTYPES.VARCHAR:
                     // Because of a Derby bug, you can't cast INTEGER into VARCHAR
                     // Therefor first cast to char then to varchar
-- 
GitLab


From 9856f4c6e6b4102d9a8dd14a6639eb48f7c82db8 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 30 Oct 2020 10:27:30 +0100
Subject: [PATCH 238/251] #1068034-CampaignDeshlet Fix Condition and
 FromClause-Prozess

---
 .../recordcontainers/db/conditionProcess.js      | 16 ++++------------
 .../recordcontainers/db/fromClauseProcess.js     |  9 +++++----
 2 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
index b56a17e4e1..ea77837ea6 100644
--- a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
@@ -7,19 +7,11 @@ import("Sql_lib");
 
 
 var recordState = vars.get("$sys.recordstate");
+var condition = newWhere();
 
 if(vars.get("$param.ShowOnlyCurrentUsersCampaigns_param") == 'true')
 {
-    //TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026
-    result.string(newWhere("CAMPAIGN.EMPLOYEE_CONTACT_ID", EmployeeUtils.getCurrentContactId()).toString());
-} else if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
-    var condition = new SqlBuilder()
-        .whereIfSet("STEPDATESTART_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID")
-        .andIfSet("STEPDATEEND_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID")
-        ;
+    condition.and("CAMPAIGN.EMPLOYEE_CONTACT_ID", EmployeeUtils.getCurrentContactId());
+}
 
-    result.string(condition.toString());
-} else {
-    
-    result.string(newWhere().toString());
-}
\ No newline at end of file
+result.string(condition.toString());
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js b/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
index 5eec4c678e..a24f9dfb3c 100644
--- a/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
@@ -7,10 +7,11 @@ var recordState = vars.get("$sys.recordstate");
 var res = "CAMPAIGN";
 
 if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
-    var subSelectDateStart = "(select min(DATE_START) as STEPDATESTART_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATESTART_TABLEALIAS";
-    var subSelectDateEnd = "(select max(DATE_END) as STEPDATEEND_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATEEND_TABLEALIAS";
-         
-    res += ", " + subSelectDateStart + ", " + subSelectDateEnd;
+    res +=  " join (select min(DATE_START) as STEPDATESTART_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATESTART_TABLEALIAS"
+        + " on STEPDATESTART_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID "
+        + " join (select max(DATE_END) as STEPDATEEND_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATEEND_TABLEALIAS"
+        + " on STEPDATEEND_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID ";
+
 }
 
 result.string(res);
-- 
GitLab


From fcdadc8bd486c32bf7362794f56aca4398e3e887 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 11:36:53 +0100
Subject: [PATCH 239/251] Utils.clone support for Map, Set and Symbol
 properties

---
 process/Sql_lib/process.js  | 27 +++++------------------
 process/Util_lib/process.js | 43 ++++++++++++++++++++++++++++++-------
 2 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index d0c827e77c..fc73644c52 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -801,8 +801,6 @@ function SqlBuilder (pAlias)
     
     this._where = {};
     this._initWhere();
-    
-    SqlBuilder.defineCanBuildSql(this);
 }
 
 /**
@@ -823,6 +821,8 @@ SqlBuilder.checkCanBuildSql = function (pObject)
     return pObject[SqlBuilder.getCanBuildSqlSymbol()];
 }
 
+SqlBuilder.defineCanBuildSql(SqlBuilder.prototype);
+
 /**
  * Deep copies the SqlBuilder object and returns a new one.<br/>
  * Use this if you want to add for example add additional parameters without modifying the current builder.
@@ -830,25 +830,7 @@ SqlBuilder.checkCanBuildSql = function (pObject)
  */
 SqlBuilder.prototype.copy = function()
 {
-    var newBuilder = _deepCopyByJson(this, new SqlBuilder());
-    return newBuilder;
-    
-    // NOTE: this works only with simple data types. 
-    // Here we only use strings, arrays, booleans and null, so this should work
-    function _deepCopyByJson(pObject, pNewObject)
-    {
-        // deep copy by using json
-        var deepCopied = JSON.parse(JSON.stringify(pObject));
-        
-        // set the props of the new object to the deepCopied ones.
-        // without this all functions would be lost
-        for (let prop in deepCopied)
-        {
-            pNewObject[prop] = deepCopied[prop]
-        }
-        
-        return pNewObject;
-    }
+    return Utils.clone(this);
 }
 
 // errors which are thrown by the SqlBuilder
@@ -3117,9 +3099,10 @@ SqlBuilder._CaseStatement = function ()
     this._whenThens = [];
     this._elseValue = null;
     this._afterWhenMask = new SqlBuilder._CaseWhen(this);
-    SqlBuilder.defineCanBuildSql(this);
 }
 
+SqlBuilder.defineCanBuildSql(SqlBuilder._CaseStatement.prototype);
+
 /**
  * @param {String|String[]|SqlBuilder|PreparedSqlArray} [pFieldOrCond] If this is the only parameter, it is used as Subselect <br/>
  *                                                                     else it is used as Field. <br/>
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index 97545be173..778e4ae46c 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -53,7 +53,7 @@ Utils.isNullOrEmpty = function (pObject)
 }
 
 /**
- * Creates a deep copy of the given object. Also works with arrays.
+ * Creates a deep copy of the given object. Also works with arrays, maps and sets.
  * 
  * @param {Object} pObject the object to create a copy of
  * @return {Object} the cloned object
@@ -69,7 +69,7 @@ Utils.isNullOrEmpty = function (pObject)
  * 
  * logging.log(original.name != copy.name);    //true
  * logging.log(copy instanceof MyObject());    //true, prototypes are set correctly
- * logging.log(copy.obj1 === copy.obj2);       //true, relative object references are kept
+ * logging.log(copy.obj1 === copy.obj2);       //true, relative object references are preserved
  */
 Utils.clone = function (pObject)
 {
@@ -84,20 +84,47 @@ Utils.clone = function (pObject)
         if (referenceMap.has(pObject))
             return referenceMap.get(pObject);
         
-        var clonedObject = Array.isArray(pObject) 
-            ? [] 
-            : Object.create(Object.getPrototypeOf(pObject)); //set the prototype of the given object
+        var clonedObject;
+        if (Array.isArray(pObject))
+            clonedObject = [];
+        else if (pObject instanceof Map)
+            clonedObject = new Map();
+        else if (pObject instanceof Set)
+            clonedObject = new Set();
+        else
+            clonedObject = Object.create(Object.getPrototypeOf(pObject)); //set the prototype of the given object
         
         /* keeps track of all encountered objects and maps the original to the copy, this makes it possible to:
            - have the same relative references in the copy as in the original
            - copy cyclic references without error */
         referenceMap.set(pObject, clonedObject);
         
-        for (let key in pObject) 
+        if (pObject instanceof Map)
+        {
+            pObject.forEach(function (value, key)
+            {
+                clonedObject.set(_clone(key), _clone(value));
+            });
+        }
+        else if (pObject instanceof Set)
         {
-            var value = pObject[key];
-            clonedObject[key] = _clone(value); //Recursively (deep) copy for nested objects, including arrays
+            pObject.forEach(function (value)
+            {
+                clonedObject.add(_clone(value));
+            });
         }
+        else
+        {
+            for (let key in pObject) 
+            {
+                clonedObject[key] = _clone(pObject[key]); //Recursively (deep) copy for nested objects, including arrays
+            }
+        }
+        
+        Object.getOwnPropertySymbols(pObject).forEach(function (sym)
+        {
+            clonedObject[sym] = _clone(pObject[sym]);
+        });
         
         return clonedObject;
     }
-- 
GitLab


From f237b2ed51d035cf21baef5b15861d7e97e741f7 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 11:50:42 +0100
Subject: [PATCH 240/251] WorkflowTask afterSave fieldnames fixed

---
 entity/WorkflowTask_entity/afterSave.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/entity/WorkflowTask_entity/afterSave.js b/entity/WorkflowTask_entity/afterSave.js
index 68fae8b0d2..383331b295 100644
--- a/entity/WorkflowTask_entity/afterSave.js
+++ b/entity/WorkflowTask_entity/afterSave.js
@@ -30,9 +30,9 @@ if (entityData["FORMRESULT"])
     else
     {
         var params = {
-            "TaskTitle_param" : rowData["NAME.value"]
+            "TaskTitle_param" : rowData["NAME"]
         };
         //if you try to open the task now, it will display "Task done"
-        neon.openContext("WorkflowTask", "WorkflowTaskPreview_view", [rowData["UID.value"]], neon.OPERATINGSTATE_VIEW, params);
+        neon.openContext("WorkflowTask", "WorkflowTaskPreview_view", [rowData["UID"]], neon.OPERATINGSTATE_VIEW, params);
     }
 }
\ No newline at end of file
-- 
GitLab


From 00eb6144ea2f097e3f88763cda9bd04cbe9118ce Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Fri, 30 Oct 2020 13:17:10 +0100
Subject: [PATCH 241/251] 1067733 ContextUtils.getSelectMap not working with
 mariaDB

---
 process/Context_lib/process.js | 10 +++++++---
 process/Sql_lib/process.js     | 22 ++++++++++++++--------
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index fcf879f048..a9b9eac312 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -494,6 +494,10 @@ ContextSelector.prototype.setGroupBy = function(pValue)
 ContextUtils.getSelectMap  = function()
 {
     var maskingUtils = new SqlMaskingUtils();
+    var isOracle = maskingUtils.dbType == db.DBTYPE_ORACLE10_CLUSTER
+        || maskingUtils.dbType == db.DBTYPE_ORACLE10_OCI
+        || maskingUtils.dbType == db.DBTYPE_ORACLE10_THIN;
+    
     return {
             "Organisation": ContextSelector.create("ORGANISATION", "CONTACT.CONTACTID", "ORGANISATION.NAME")
                                        .setJoinExpression("join CONTACT on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and CONTACT.PERSON_ID is null")
@@ -539,7 +543,7 @@ ContextUtils.getSelectMap  = function()
                                         .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                                 KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACTTYPE"),
                                                                 maskingUtils.cast("CONTRACTCODE", SQLTYPES.VARCHAR, 10)
-                                                                ], " "), SQLTYPES.NVARCHAR, 50))
+                                                                ], " "), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                         .setContactIdField("CONTACT_ID")
                                         .setCreationDateField("CONTRACTSTART")
                                         .setStateField("CONTRACTSTATUS")
@@ -551,7 +555,7 @@ ContextUtils.getSelectMap  = function()
                                                 maskingUtils.cast("OFFERCODE", SQLTYPES.VARCHAR, 10),
                                                 "'-'",
                                                 maskingUtils.cast("VERSNR", SQLTYPES.VARCHAR, 10)
-                                                ], "", false), SQLTYPES.NVARCHAR, 50))
+                                                ], "", false), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("OFFERDATE")
                                      .setStateField("STATUS")
@@ -560,7 +564,7 @@ ContextUtils.getSelectMap  = function()
                                      .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                         KeywordUtils.getResolvedTitleSqlPart("OrderType", "ORDERTYPE"),
                                                         maskingUtils.cast("SALESORDERCODE", SQLTYPES.VARCHAR, 10)
-                                                        ], " "), SQLTYPES.NVARCHAR, 50))
+                                                        ], " "), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("SALESORDERDATE")
                                      .setStateField("ORDERSTATUS")
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index fc73644c52..75c6923e24 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3406,6 +3406,7 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
         case db.DBTYPE_MYSQL4:
             switch(pTargetDatatype) 
             {
+                case SQLTYPES.NVARCHAR:
                 case SQLTYPES.VARCHAR:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.INTEGER:
@@ -3445,18 +3446,23 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
                 case SQLTYPES.INTEGER:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.VARCHAR:
+                case SQLTYPES.NVARCHAR:
                     sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
         case db.DBTYPE_SQLSERVER2000:
-        case SQLTYPES.DATE:
-        case SQLTYPES.DECIMAL:
-        case SQLTYPES.INTEGER:
-        case SQLTYPES.CHAR:
-        case SQLTYPES.VARCHAR:
-            sqlDataType = _mapDefaults(pTargetDatatype);
-            break;
+            switch(pTargetDatatype)
+            {
+                case SQLTYPES.DATE:
+                case SQLTYPES.DECIMAL:
+                case SQLTYPES.INTEGER:
+                case SQLTYPES.CHAR:
+                case SQLTYPES.VARCHAR:
+                case SQLTYPES.NVARCHAR:
+                    sqlDataType = _mapDefaults(pTargetDatatype);
+                    break;
+            }
             //TODO: firebird support?
     }
 
@@ -3586,7 +3592,7 @@ SqlMaskingUtils.prototype.concat = function (pFields, pSeparator, pAutoTrimField
     
     if (pSeparator === null || pSeparator === undefined)
         pSeparator = "' '";
-    else if (pSeparator)
+    else if (pSeparator || pSeparator === "")
         pSeparator = "'" + db.quote(pSeparator, this.alias) + "'";
     
     var doEmptyStringCheck = true;
-- 
GitLab


From 5d76286961707810d7be58f2da0825b144855471 Mon Sep 17 00:00:00 2001
From: "s.pongratz" <s.pongratz@adito.de>
Date: Fri, 30 Oct 2020 14:50:31 +0100
Subject: [PATCH 242/251] #1067733-KampagneFixOracle Remove As for Alias in
 select

---
 .../Campaign_entity/recordcontainers/db/fromClauseProcess.js  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js b/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
index a24f9dfb3c..f1704c63ce 100644
--- a/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/fromClauseProcess.js
@@ -7,9 +7,9 @@ var recordState = vars.get("$sys.recordstate");
 var res = "CAMPAIGN";
 
 if (recordState != neon.OPERATINGSTATE_NEW && recordState != neon.OPERATINGSTATE_EDIT) {
-    res +=  " join (select min(DATE_START) as STEPDATESTART_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATESTART_TABLEALIAS"
+    res +=  " join (select min(DATE_START) as STEPDATESTART_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) STEPDATESTART_TABLEALIAS"
         + " on STEPDATESTART_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID "
-        + " join (select max(DATE_END) as STEPDATEEND_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) as STEPDATEEND_TABLEALIAS"
+        + " join (select max(DATE_END) as STEPDATEEND_ALIAS, CAMPAIGN_ID from CAMPAIGNSTEP group by CAMPAIGN_ID) STEPDATEEND_TABLEALIAS"
         + " on STEPDATEEND_TABLEALIAS.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID ";
 
 }
-- 
GitLab


From 3ca44156d01cd9b6ccad122de1506fedc4bb74f0 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Mon, 2 Nov 2020 10:38:22 +0100
Subject: [PATCH 243/251] Revert Revert #1060919 Calendar Fixes

---
 .../Appointment_entity/grantDeleteProcess.js  |  8 ++++++--
 .../Appointment_entity/grantUpdateProcess.js  | 10 ++++++++--
 .../recordcontainers/jdito/contentProcess.js  |  3 ++-
 .../recordcontainers/jdito/onDelete.js        | 20 ++++++++++++++-----
 4 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/entity/Appointment_entity/grantDeleteProcess.js b/entity/Appointment_entity/grantDeleteProcess.js
index 4caa2d99cf..aef302f111 100644
--- a/entity/Appointment_entity/grantDeleteProcess.js
+++ b/entity/Appointment_entity/grantDeleteProcess.js
@@ -2,6 +2,10 @@ import("system.vars");
 import("system.result");
 import("system.calendars");
 import("system.text");
+import("system.tools");
 
-var owner = text.decodeMS(JSON.parse(vars.get("$param.Entry_param"))["h"])[1].split(":")[1];
-result.string(calendars.hasPermission([owner], calendars.VEVENT, "WRITE"));
\ No newline at end of file
+
+var user = tools.getCurrentUser();
+var calUser = calendars.getCalendarUser(user["title"]);
+var calUserCn = text.decodeMS(calUser)[1].split(":")[1];
+result.string(calendars.hasPermission(calUserCn, calendars.VEVENT, "WRITE"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/grantUpdateProcess.js b/entity/Appointment_entity/grantUpdateProcess.js
index 3562ea4a6c..e6ac4c8426 100644
--- a/entity/Appointment_entity/grantUpdateProcess.js
+++ b/entity/Appointment_entity/grantUpdateProcess.js
@@ -2,7 +2,13 @@ import("system.vars");
 import("system.result");
 import("system.calendars");
 import("system.text");
+import("system.tools");
+import("system.logging");
 
-var owner = text.decodeMS(JSON.parse(vars.get("$param.Entry_param"))["h"])[1].split(":")[1];
-result.string(calendars.hasPermission([owner], calendars.VEVENT, "WRITE"));
 
+var user = tools.getCurrentUser();
+var calUser = calendars.getCalendarUser(user["title"]);
+var calUserCn = text.decodeMS(calUser)[1].split(":")[1];
+var permitted = calendars.hasPermission(calUserCn, calendars.VEVENT, "WRITE");
+
+result.string(permitted);
diff --git a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
index e56415a0fa..3d5ff22eaf 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
@@ -9,6 +9,7 @@ import("system.datetime");
 import("system.eMath");
 import("system.util");
 import("system.neon");
+import("system.text");
 
 var appointmentSelect = newSelect("APPOINTMENT_ID").from("AB_APPOINTMENTLINK");
 var appointmentUids;
@@ -77,7 +78,7 @@ function buildEntry(pEntry, pMasterentry)
     if(pEntry[calendars.ORGANIZER2] != undefined)
         var organizer = pEntry[calendars.ORGANIZER2]["paramvalue"];
     if(pEntry[calendars.USER2] != undefined)
-        var owner = pEntry[calendars.USER2]["paramvalue"];
+        var owner = JSON.stringify(pEntry[calendars.USER2]);
     var status = pEntry[calendars.STATUS];
     var location = pEntry[calendars.LOCATION];
     var reminder = pEntry[calendars.REMINDER_DURATION];
diff --git a/entity/Appointment_entity/recordcontainers/jdito/onDelete.js b/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
index 4e0e5c7a5c..6f6249aee3 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
@@ -1,20 +1,30 @@
+import("system.logging");
 import("Sql_lib");
 import("system.neon");
 import("system.calendars");
 import("system.vars");
 
-if (vars.exists("$param.Entry_param"))
+var uid;
+
+if (vars.get("$param.Entry_param") != null)
 {
     var entry = JSON.parse(vars.getString("$param.Entry_param"));
     var reccurenceid = entry[calendars.RECURRENCEID];
+    
     if (reccurenceid == undefined) 
         reccurenceid = null;
     
-    calendars.removeEntryByUID(calendars.VEVENT, entry[calendars.USER2]["cn"], entry[calendars.ID], reccurenceid)
+    uid = entry[calendars.ID];
+    calendars.removeEntryByUID(calendars.VEVENT, entry[calendars.USER2]["cn"], uid, reccurenceid);
+}
+else if(vars.get("$field.OWNER"))
+{
+    uid = vars.get("$field.UID");
+    calendars.removeEntryByUID(calendars.VEVENT, JSON.parse(vars.get("$field.OWNER"))["cn"], uid, vars.get("$field.RECURRENCEID"));
+}
     
     /**
      * Deletes ApointmentLinks referring to the deleted Appointment.
      */
-    newWhereIfSet("AB_APPOINTMENTLINK.APPOINTMENT_ID", entry[calendars.ID])
-            .deleteData();
-}
\ No newline at end of file
+    newWhereIfSet("AB_APPOINTMENTLINK.APPOINTMENT_ID", uid)
+            .deleteData();
\ No newline at end of file
-- 
GitLab


From d676a03a3eff380362f5a5728889de9ccd6ef1a4 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Mon, 2 Nov 2020 09:38:22 +0000
Subject: [PATCH 244/251] Revert Revert #1060919 Calendar Fixes

(cherry picked from commit 3ca44156d01cd9b6ccad122de1506fedc4bb74f0)
---
 .../Appointment_entity/grantDeleteProcess.js  |  8 ++++++--
 .../Appointment_entity/grantUpdateProcess.js  | 10 ++++++++--
 .../recordcontainers/jdito/contentProcess.js  |  3 ++-
 .../recordcontainers/jdito/onDelete.js        | 20 ++++++++++++++-----
 4 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/entity/Appointment_entity/grantDeleteProcess.js b/entity/Appointment_entity/grantDeleteProcess.js
index 4caa2d99cf..aef302f111 100644
--- a/entity/Appointment_entity/grantDeleteProcess.js
+++ b/entity/Appointment_entity/grantDeleteProcess.js
@@ -2,6 +2,10 @@ import("system.vars");
 import("system.result");
 import("system.calendars");
 import("system.text");
+import("system.tools");
 
-var owner = text.decodeMS(JSON.parse(vars.get("$param.Entry_param"))["h"])[1].split(":")[1];
-result.string(calendars.hasPermission([owner], calendars.VEVENT, "WRITE"));
\ No newline at end of file
+
+var user = tools.getCurrentUser();
+var calUser = calendars.getCalendarUser(user["title"]);
+var calUserCn = text.decodeMS(calUser)[1].split(":")[1];
+result.string(calendars.hasPermission(calUserCn, calendars.VEVENT, "WRITE"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/grantUpdateProcess.js b/entity/Appointment_entity/grantUpdateProcess.js
index 3562ea4a6c..e6ac4c8426 100644
--- a/entity/Appointment_entity/grantUpdateProcess.js
+++ b/entity/Appointment_entity/grantUpdateProcess.js
@@ -2,7 +2,13 @@ import("system.vars");
 import("system.result");
 import("system.calendars");
 import("system.text");
+import("system.tools");
+import("system.logging");
 
-var owner = text.decodeMS(JSON.parse(vars.get("$param.Entry_param"))["h"])[1].split(":")[1];
-result.string(calendars.hasPermission([owner], calendars.VEVENT, "WRITE"));
 
+var user = tools.getCurrentUser();
+var calUser = calendars.getCalendarUser(user["title"]);
+var calUserCn = text.decodeMS(calUser)[1].split(":")[1];
+var permitted = calendars.hasPermission(calUserCn, calendars.VEVENT, "WRITE");
+
+result.string(permitted);
diff --git a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
index e56415a0fa..3d5ff22eaf 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
@@ -9,6 +9,7 @@ import("system.datetime");
 import("system.eMath");
 import("system.util");
 import("system.neon");
+import("system.text");
 
 var appointmentSelect = newSelect("APPOINTMENT_ID").from("AB_APPOINTMENTLINK");
 var appointmentUids;
@@ -77,7 +78,7 @@ function buildEntry(pEntry, pMasterentry)
     if(pEntry[calendars.ORGANIZER2] != undefined)
         var organizer = pEntry[calendars.ORGANIZER2]["paramvalue"];
     if(pEntry[calendars.USER2] != undefined)
-        var owner = pEntry[calendars.USER2]["paramvalue"];
+        var owner = JSON.stringify(pEntry[calendars.USER2]);
     var status = pEntry[calendars.STATUS];
     var location = pEntry[calendars.LOCATION];
     var reminder = pEntry[calendars.REMINDER_DURATION];
diff --git a/entity/Appointment_entity/recordcontainers/jdito/onDelete.js b/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
index 4e0e5c7a5c..6f6249aee3 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/onDelete.js
@@ -1,20 +1,30 @@
+import("system.logging");
 import("Sql_lib");
 import("system.neon");
 import("system.calendars");
 import("system.vars");
 
-if (vars.exists("$param.Entry_param"))
+var uid;
+
+if (vars.get("$param.Entry_param") != null)
 {
     var entry = JSON.parse(vars.getString("$param.Entry_param"));
     var reccurenceid = entry[calendars.RECURRENCEID];
+    
     if (reccurenceid == undefined) 
         reccurenceid = null;
     
-    calendars.removeEntryByUID(calendars.VEVENT, entry[calendars.USER2]["cn"], entry[calendars.ID], reccurenceid)
+    uid = entry[calendars.ID];
+    calendars.removeEntryByUID(calendars.VEVENT, entry[calendars.USER2]["cn"], uid, reccurenceid);
+}
+else if(vars.get("$field.OWNER"))
+{
+    uid = vars.get("$field.UID");
+    calendars.removeEntryByUID(calendars.VEVENT, JSON.parse(vars.get("$field.OWNER"))["cn"], uid, vars.get("$field.RECURRENCEID"));
+}
     
     /**
      * Deletes ApointmentLinks referring to the deleted Appointment.
      */
-    newWhereIfSet("AB_APPOINTMENTLINK.APPOINTMENT_ID", entry[calendars.ID])
-            .deleteData();
-}
\ No newline at end of file
+    newWhereIfSet("AB_APPOINTMENTLINK.APPOINTMENT_ID", uid)
+            .deleteData();
\ No newline at end of file
-- 
GitLab


From 6184e711b1ae6a5f4f342f3459c1ec59fce31319 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 3 Nov 2020 15:07:17 +0100
Subject: [PATCH 245/251] #1068152 Calendar: PermissionCheck on linked
 Appointments

---
 .../Appointment_entity/Appointment_entity.aod |  15 +-
 .../erroronpermissiondenied/valueProcess.js   |   3 +
 .../recordcontainers/jdito/contentProcess.js  |  84 +---
 .../recordcontainers/jdito/rowCountProcess.js |   7 +-
 .../Organisation_entity.aod                   | 440 +++++++++---------
 .../erroronpermissiondenied/valueProcess.js   |   3 +
 entity/Person_entity/Person_entity.aod        | 402 ++++++++--------
 .../erroronpermissiondenied/valueProcess.js   |   3 +
 process/Calendar_lib/process.js               | 109 +++++
 9 files changed, 563 insertions(+), 503 deletions(-)
 create mode 100644 entity/Appointment_entity/entityfields/erroronpermissiondenied/valueProcess.js
 create mode 100644 entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js
 create mode 100644 entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js

diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 6f51538041..2b98d6bd2c 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -171,11 +171,6 @@
     </entityParameter>
     <entityConsumer>
       <name>AppointmentLinks</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AppointmentLink_entity</entityName>
-        <fieldName>Links</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AppointmentId_param</name>
@@ -187,6 +182,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AppointmentLink_entity</entityName>
+        <fieldName>Links</fieldName>
+      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>deleteSeries</name>
@@ -254,6 +254,11 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityParameter>
+      <name>ErrorOnPermissionDenied</name>
+      <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/erroronpermissiondenied/valueProcess.js</valueProcess>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Appointment_entity/entityfields/erroronpermissiondenied/valueProcess.js b/entity/Appointment_entity/entityfields/erroronpermissiondenied/valueProcess.js
new file mode 100644
index 0000000000..e5bfa3bbe7
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/erroronpermissiondenied/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("true");
\ No newline at end of file
diff --git a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
index 3d5ff22eaf..c533370a33 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("Calendar_lib");
 import("Employee_lib");
 import("system.tools");
 import("system.db");
@@ -28,14 +29,14 @@ if(vars.exists("$param.Entry_param") && vars.get("$param.Entry_param"))
 
     //@TODO Icon 
     result.object([
-        buildEntry(entry, masterEntry)
+        CalendarUtil.buildEntry(entry, masterEntry)
     ]);
 }
 
 else if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW && vars.get("$local.idvalues") != null && vars.get("$local.idvalues") != "")
 {
     var selectedids = vars.get("$local.idvalues");
-    result.object([buildEntry(calendars.getEntry(selectedids, null, null), null)]);
+    result.object([CalendarUtil.buildEntry(calendars.getEntry(selectedids, null, null), null)]);
 }
 
 else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
@@ -43,7 +44,7 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
     var contactid = EmployeeUtils.getCurrentContactId();
     
     appointmentSelect.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", contactid)
-    result.object(buildEntriesFromUids(appointmentSelect.table()));
+    result.object(CalendarUtil.buildEntriesFromUids(appointmentSelect.table()));
 }
 
 /**
@@ -52,78 +53,5 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
 else if(vars.getString("$param.LinkedObjectId_param") != undefined)
 {
     appointmentSelect.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", "$param.LinkedObjectId_param")
-    result.object(buildEntriesFromUids(appointmentSelect.table()));
-}
-
-function buildEntriesFromUids(appointmentUids)
-{
-    var entryArray = new Array(appointmentUids.length);
-    
-    for(var i = 0; i < appointmentUids.length; i++)
-        entryArray[i] = buildEntry(calendars.getEntry(appointmentUids[i], null, null), null);
-    
-    return entryArray;
-}
-
-
-function buildEntry(pEntry, pMasterentry)
-{
-    var uid = pEntry[calendars.ID];    
-    var summary = pEntry[calendars.SUMMARY];
-    var attendees = pEntry[calendars.AFFECTEDUSERS];
-    var startdate = pEntry[calendars.DTSTART];
-    var enddate = pEntry[calendars.DTEND];
-    var links = pEntry[calendars.LINKS];
-    var description = pEntry[calendars.DESCRIPTION];
-    if(pEntry[calendars.ORGANIZER2] != undefined)
-        var organizer = pEntry[calendars.ORGANIZER2]["paramvalue"];
-    if(pEntry[calendars.USER2] != undefined)
-        var owner = JSON.stringify(pEntry[calendars.USER2]);
-    var status = pEntry[calendars.STATUS];
-    var location = pEntry[calendars.LOCATION];
-    var reminder = pEntry[calendars.REMINDER_DURATION];
-    var remindercheck = pEntry[calendars.HASREMINDER]
-    var classification = pEntry[calendars.CLASSIFICATION];
-    var transparency = pEntry[calendars.TRANSPARENCY];
-    var categories = pEntry[calendars.CATEGORIES];
-    var isAllDay = pEntry["X-ADITO-ISALLDAYEVENT"] != null ? pEntry["X-ADITO-ISALLDAYEVENT"] : "FALSE";
-    
-    var masterBegin = pMasterentry != null ? pMasterentry[calendars.DTSTART] : null
-    var masterEnd = pMasterentry != null ? pMasterentry[calendars.DTEND] : null
-    
-    // Recurrence
-    var recurrenceID = pEntry[calendars.RECURRENCEID];
-    var rrule = null;
-    if (pMasterentry != null) { // Entry is a recurrence exception, therefore get rrule from master
-        rrule = pMasterentry[calendars.RRULE] != null ? pMasterentry[calendars.RRULE][0] : null;
-    } else {
-        rrule = pEntry[calendars.RRULE] != null ? pEntry[calendars.RRULE][0] : null;
-    }
-    
-    return [
-            uid, 
-            attendees.length, 
-            startdate, 
-            enddate, 
-            summary, 
-            organizer,
-            owner,
-            attendees, 
-            status,  
-            description, 
-            location, 
-            '', 
-            isAllDay,
-            classification,
-            transparency, 
-            categories, 
-            reminder, 
-            remindercheck, 
-            rrule, 
-            recurrenceID, 
-            null, 
-            masterBegin, 
-            masterEnd,
-            null
-        ];
-}
+    result.object(CalendarUtil.buildEntriesFromUids(appointmentSelect.table()));
+}
\ No newline at end of file
diff --git a/entity/Appointment_entity/recordcontainers/jdito/rowCountProcess.js b/entity/Appointment_entity/recordcontainers/jdito/rowCountProcess.js
index afff252f74..d6495461f9 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/rowCountProcess.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/rowCountProcess.js
@@ -1,3 +1,4 @@
+import("Calendar_lib");
 import("system.db");
 import("Employee_lib");
 import("Sql_lib");
@@ -5,7 +6,7 @@ import("system.vars");
 import("system.result");
 
 var rowCount = "0";
-var cond = newSelect("count(APPOINTMENT_ID)")
+var cond = newSelect("APPOINTMENT_ID")
                .from("AB_APPOINTMENTLINK");
 
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
@@ -13,7 +14,7 @@ if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
 else if (vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
 {
     cond.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", EmployeeUtils.getCurrentContactId());
-    rowCount = cond.cell();
+    rowCount = CalendarUtil.countEntriesFromUids(cond.table());
 }
 
 /**
@@ -22,7 +23,7 @@ else if (vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
 else if (vars.getString("$param.LinkedObjectId_param") != undefined)
 {
     cond.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", "$param.LinkedObjectId_param");
-    rowCount = cond.cell();
+    rowCount = CalendarUtil.countEntriesFromUids(cond.table());
 }
 /**
  * Will be used, if the user is operating the calendar.
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 4d5db6ed1a..0287eb1d38 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -71,11 +71,6 @@
     </entityField>
     <entityConsumer>
       <name>Activities</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -86,21 +81,26 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Contact</name>
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Person_entity</entityName>
-        <fieldName>OrganisationRelated</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>OrgId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Person_entity</entityName>
+        <fieldName>OrganisationRelated</fieldName>
+      </dependency>
     </entityConsumer>
     <entityFieldGroup>
       <name>CUSTOMERCODE_DISPLAY_fieldGroup</name>
@@ -114,6 +114,36 @@
       <name>Organisations</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisations/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
+      <children>
+        <entityParameter>
+          <name>WithPrivate_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ExcludeOrganisationsByPersonId</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ExcludedContactIds_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AttributeKeyId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AttributeId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>DuplicateActionsControl_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>DuplicateCurrentContactId_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>85aa363e-d8ba-4df5-8422-bf7aff86a4f8</name>
@@ -152,44 +182,9 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>WithPrivate_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ExcludeOrganisationsByPersonId</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>ExcludedContactIds_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>AttributeKeyId_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>AttributeId_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>DuplicateActionsControl_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>DuplicateCurrentContactId_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityConsumer>
       <name>Addresses</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAddresses</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>DefaultAddressId_param</name>
@@ -201,6 +196,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAddresses</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>ADDRESS_ID</name>
@@ -211,11 +211,6 @@
     </entityField>
     <entityConsumer>
       <name>Communications</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>AllCommunications</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -227,15 +222,15 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/communications/children/contactsmaincountry_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>AllCommunications</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Contracts</name>
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Contract_entity</entityName>
-        <fieldName>Contracts</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -244,14 +239,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Productprices</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Productprice_entity</entityName>
-        <fieldName>Productprices</fieldName>
+        <entityName>Contract_entity</entityName>
+        <fieldName>Contracts</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Productprices</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -260,6 +255,11 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Productprice_entity</entityName>
+        <fieldName>Productprices</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>#PROVIDER</name>
@@ -300,11 +300,6 @@
     <entityConsumer>
       <name>Documents</name>
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -315,6 +310,11 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>STANDARD_EMAIL_COMMUNICATION</name>
@@ -330,11 +330,6 @@
     </entityField>
     <entityConsumer>
       <name>PhoneCommunications</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>PhoneCommunications</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -342,14 +337,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>EmailCommunications</name>
       <dependency>
         <name>dependency</name>
         <entityName>Communication_entity</entityName>
-        <fieldName>EmailCommunications</fieldName>
+        <fieldName>PhoneCommunications</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>EmailCommunications</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -357,6 +352,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>EmailCommunications</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Countries</name>
@@ -369,11 +369,6 @@
     <entityConsumer>
       <name>Attributes</name>
       <onValidation>%aditoprj%/entity/Organisation_entity/entityfields/attributes/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -385,14 +380,14 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordContactStates</name>
       <dependency>
         <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordContactStates</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -400,14 +395,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordOrganisationTypes</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordOrganisationTypes</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -415,6 +410,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Languages</name>
@@ -426,11 +426,6 @@
     </entityConsumer>
     <entityConsumer>
       <name>KeywordPricePolitics</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -438,14 +433,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordWeaknesses</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordWeaknesses</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -453,14 +448,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordStrenghts</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordStrenghts</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -468,14 +463,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Salesprojects</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Salesproject_entity</entityName>
-        <fieldName>Salesprojects</fieldName>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Salesprojects</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -484,14 +479,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Offers</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Offer_entity</entityName>
-        <fieldName>ContactOffers</fieldName>
+        <entityName>Salesproject_entity</entityName>
+        <fieldName>Salesprojects</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Offers</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -500,14 +495,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Tasks</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Tasks</name>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -518,6 +513,11 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>WithPrivate_param</name>
@@ -528,11 +528,6 @@
     </entityParameter>
     <entityConsumer>
       <name>ObjectTrees</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ObjectTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectIds_param</name>
@@ -543,14 +538,14 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/objecttrees/children/objecttypes_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>LogHistories</name>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
@@ -559,14 +554,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>360DegreeObjects</name>
       <dependency>
         <name>dependency</name>
-        <entityName>360Degree_entity</entityName>
-        <fieldName>OrganisationObjects</fieldName>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>360DegreeObjects</name>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -577,6 +572,11 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/360degreeobjects/children/objectstatus_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>360Degree_entity</entityName>
+        <fieldName>OrganisationObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ExcludeOrganisationsByPersonId</name>
@@ -587,26 +587,6 @@
     <entityProvider>
       <name>WithPersonIdFilter</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/withpersonidfilter/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>5a456b04-f0ca-4a45-9c1f-bdfdf074434a</name>
-          <entityName>Contact_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>a80c3db0-29db-433c-8f7c-4ebf6639ad6d</name>
-          <entityName>Person_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>748a3083-89c2-41b4-a233-3fd5364396e9</name>
-          <entityName>Competition_entity</entityName>
-          <fieldName>Organisation</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
@@ -639,6 +619,26 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>5a456b04-f0ca-4a45-9c1f-bdfdf074434a</name>
+          <entityName>Contact_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>a80c3db0-29db-433c-8f7c-4ebf6639ad6d</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>748a3083-89c2-41b4-a233-3fd5364396e9</name>
+          <entityName>Competition_entity</entityName>
+          <fieldName>Organisation</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityParameter>
       <name>AttributeId_param</name>
@@ -653,20 +653,6 @@
     <entityProvider>
       <name>WithAttribute</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/withattribute/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>10480df2-f0b6-4cb6-8bfb-4a468b994996</name>
-          <entityName>Competition_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>f368be61-1a15-449f-b37c-b1343069412c</name>
-          <entityName>Product_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>AttributeId_param</name>
@@ -698,6 +684,20 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>10480df2-f0b6-4cb6-8bfb-4a468b994996</name>
+          <entityName>Competition_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>f368be61-1a15-449f-b37c-b1343069412c</name>
+          <entityName>Product_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityParameter>
       <name>ExcludedContactIds_param</name>
@@ -706,11 +706,6 @@
     </entityParameter>
     <entityConsumer>
       <name>AttributeTree</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -721,6 +716,11 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>DATE_NEW</name>
@@ -772,11 +772,6 @@
     <entityConsumer>
       <name>AttributeConditions</name>
       <onValidation>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -799,20 +794,29 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/showempty_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>LinkedAppointments</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Appointment_entity</entityName>
-        <fieldName>LinkedAppointments</fieldName>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>LinkedAppointments</name>
       <children>
         <entityParameter>
           <name>LinkedObjectId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/linkedappointments/children/linkedobjectid_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>ErrorOnPermissionDenied</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Appointment_entity</entityName>
+        <fieldName>LinkedAppointments</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Products</name>
@@ -1083,11 +1087,6 @@
     </entityParameter>
     <entityConsumer>
       <name>SelfDuplicatesUncached</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Organisation_entity</entityName>
-        <fieldName>SelfDuplicates</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>DuplicateActionsControl_param</name>
@@ -1107,20 +1106,25 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>CommRestrictions</name>
       <dependency>
         <name>dependency</name>
-        <entityName>CommRestriction_Entity</entityName>
-        <fieldName>CommRestrictions</fieldName>
+        <entityName>Organisation_entity</entityName>
+        <fieldName>SelfDuplicates</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>CommRestrictions</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/commrestrictions/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CommRestriction_Entity</entityName>
+        <fieldName>CommRestrictions</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>COMMRESTRICTIONS_ACTIVE</name>
@@ -1175,11 +1179,6 @@
     <entityConsumer>
       <name>Classifications</name>
       <refreshParent v="true" />
-      <dependency>
-        <name>dependency</name>
-        <entityName>Classification_entity</entityName>
-        <fieldName>Classifications</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ClassificationType_param</name>
@@ -1197,6 +1196,11 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Classification_entity</entityName>
+        <fieldName>Classifications</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>COUNT</name>
@@ -1217,14 +1221,6 @@
       <name>OrganisationsViaIndex</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisationsviaindex/documentation.adoc</documentation>
       <recordContainer>index</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>e60b8983-166d-4280-a1a5-f990ad77eeb9</name>
-          <entityName>AroundLocation_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
@@ -1267,6 +1263,14 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>e60b8983-166d-4280-a1a5-f990ad77eeb9</name>
+          <entityName>AroundLocation_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityActionField>
       <name>openAroundLocation</name>
@@ -1337,17 +1341,17 @@
     </entityProvider>
     <entityConsumer>
       <name>DistrictResponsibles</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DistrictResponsible_entity</entityName>
-        <fieldName>OrganisationResponsibles</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>OrgUid_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DistrictResponsible_entity</entityName>
+        <fieldName>OrganisationResponsibles</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>FilterPreSet_param</name>
@@ -1356,14 +1360,6 @@
     <entityProvider>
       <name>NonselfDuplicates</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/nonselfduplicates/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>2e410b9e-5ebc-48ea-9562-da386202d7e8</name>
-          <entityName>Duplicates_entity</entityName>
-          <fieldName>DuplicateOrganisationsConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>AttributeKeyId_param</name>
@@ -1386,6 +1382,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>2e410b9e-5ebc-48ea-9562-da386202d7e8</name>
+          <entityName>Duplicates_entity</entityName>
+          <fieldName>DuplicateOrganisationsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityActionGroup>
       <name>orgReportDispatch</name>
@@ -1402,11 +1406,6 @@
     </entityActionGroup>
     <entityConsumer>
       <name>AttributesFilter</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>FilterProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -1417,6 +1416,11 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>FilterProvider</fieldName>
+      </dependency>
     </entityConsumer>
   </entityFields>
   <recordContainers>
diff --git a/entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js b/entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js
new file mode 100644
index 0000000000..15b1f8d032
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("false");
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index c66ce94932..4a393db4da 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -89,11 +89,6 @@
     </entityFieldGroup>
     <entityConsumer>
       <name>Activities</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -108,6 +103,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>CONTACTID</name>
@@ -118,14 +118,6 @@
       <name>OrganisationRelated</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/organisationrelated/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>41952879-c2f0-411f-8ca1-36c38914a629</name>
-          <entityName>Organisation_entity</entityName>
-          <fieldName>Contact</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -144,6 +136,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>41952879-c2f0-411f-8ca1-36c38914a629</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Contact</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityField>
       <name>PERSON_ID</name>
@@ -161,11 +161,6 @@
     </entityField>
     <entityConsumer>
       <name>PersAddresses</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>ContactAddresses</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>DefaultAddressId_param</name>
@@ -185,14 +180,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/replacestandardaddress_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Communications</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>AllCommunications</fieldName>
+        <entityName>Address_entity</entityName>
+        <fieldName>ContactAddresses</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Communications</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -210,29 +205,29 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communications/children/contactsmaincountry_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>AllCommunications</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Organisations</name>
       <selectionMode>SINGLE</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Organisation_entity</entityName>
-        <fieldName>WithPersonIdFilter</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisations/children/excludeorganisationsbypersonid/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Contracts</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Contract_entity</entityName>
-        <fieldName>Contracts</fieldName>
+        <entityName>Organisation_entity</entityName>
+        <fieldName>WithPersonIdFilter</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Contracts</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -241,16 +236,16 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Contract_entity</entityName>
+        <fieldName>Contracts</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Pricelists</name>
       <state>AUTO</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Productprice_entity</entityName>
-        <fieldName>Productprices</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -259,6 +254,11 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Productprice_entity</entityName>
+        <fieldName>Productprices</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Genders</name>
@@ -313,11 +313,6 @@
     <entityConsumer>
       <name>Documents</name>
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -332,6 +327,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ContactId_param</name>
@@ -356,14 +356,6 @@
       <name>Contact</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/contact/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
-      <dependencies>
-        <entityDependency>
-          <name>f925c8e6-b096-4093-bd39-c9cd30a6a71a</name>
-          <entityName>Lead_entity</entityName>
-          <fieldName>ContactId</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>OrgId_param</name>
@@ -391,16 +383,19 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>f925c8e6-b096-4093-bd39-c9cd30a6a71a</name>
+          <entityName>Lead_entity</entityName>
+          <fieldName>ContactId</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>OrgAddresses</name>
       <state>READONLY</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAddressesByContact</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -412,6 +407,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAddressesByContact</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>STANDARD_EMAIL_COMMUNICATION</name>
@@ -428,11 +428,6 @@
     <entityConsumer>
       <name>PhoneCommunications</name>
       <description>Used for standard communication</description>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>PhoneCommunications</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -442,15 +437,15 @@
                         Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>EmailCommunications</name>
-      <description>Used for standard communication</description>
       <dependency>
         <name>dependency</name>
         <entityName>Communication_entity</entityName>
-        <fieldName>EmailCommunications</fieldName>
+        <fieldName>PhoneCommunications</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>EmailCommunications</name>
+      <description>Used for standard communication</description>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -460,6 +455,11 @@
                         Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>EmailCommunications</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>ADDRESS_ID</name>
@@ -471,11 +471,6 @@
     </entityField>
     <entityConsumer>
       <name>KeywordGenders</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -483,6 +478,11 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Languages</name>
@@ -494,40 +494,35 @@
     </entityConsumer>
     <entityConsumer>
       <name>Offers</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Offer_entity</entityName>
-        <fieldName>ContactOffers</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Salutations</name>
       <dependency>
         <name>dependency</name>
-        <entityName>SalutationDistinct_entity</entityName>
-        <fieldName>Salutations</fieldName>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Salutations</name>
       <children>
         <entityParameter>
           <name>Language_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutations/children/language_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>SalutationDistinct_entity</entityName>
+        <fieldName>Salutations</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
       <onValidation>%aditoprj%/entity/Person_entity/entityfields/attributes/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -542,14 +537,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>SalutationTitles</name>
       <dependency>
         <name>dependency</name>
-        <entityName>SalutationTitleDistinct_entity</entityName>
-        <fieldName>SalutationTitles</fieldName>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>SalutationTitles</name>
       <children>
         <entityParameter>
           <name>Salutation_param</name>
@@ -560,15 +555,15 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/language_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>SalutationTitleDistinct_entity</entityName>
+        <fieldName>SalutationTitles</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
       <state>EDITABLE</state>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -583,14 +578,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ObjectTrees</name>
       <dependency>
         <name>dependency</name>
-        <entityName>ObjectTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ObjectTrees</name>
       <children>
         <entityParameter>
           <name>ObjectIds_param</name>
@@ -601,6 +596,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objecttypes_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>STATUS</name>
@@ -612,25 +612,20 @@
     </entityField>
     <entityConsumer>
       <name>KeywordContactStates</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ContactAndOrganisationAddresses</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAndContactAddresses</fieldName>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ContactAndOrganisationAddresses</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -641,6 +636,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/organisationid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAndContactAddresses</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>DEPARTMENT</name>
@@ -663,11 +663,6 @@
     </entityField>
     <entityConsumer>
       <name>LogHistories</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
@@ -676,14 +671,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>OtherContacts</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Contact_entity</entityName>
-        <fieldName>PersonsContactsExceptOwn</fieldName>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>OtherContacts</name>
       <children>
         <entityParameter>
           <name>OwnContactId_param</name>
@@ -694,6 +689,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/languagekey_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Contact_entity</entityName>
+        <fieldName>PersonsContactsExceptOwn</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>ORGANISATION_NAME</name>
@@ -706,20 +706,6 @@
     <entityProvider>
       <name>Contacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/contacts/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>c98da62f-d6b2-4ddb-9101-92e9a60abdfb</name>
-          <entityName>VisitPlanEmployeeWeek_entity</entityName>
-          <fieldName>Persons</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>f56b1378-138d-4f88-b9df-274adce9f90c</name>
-          <entityName>VisitPlanEntry_entity</entityName>
-          <fieldName>Persons</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -746,14 +732,23 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>c98da62f-d6b2-4ddb-9101-92e9a60abdfb</name>
+          <entityName>VisitPlanEmployeeWeek_entity</entityName>
+          <fieldName>Persons</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>f56b1378-138d-4f88-b9df-274adce9f90c</name>
+          <entityName>VisitPlanEntry_entity</entityName>
+          <fieldName>Persons</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>360DegreeObjects</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>360Degree_entity</entityName>
-        <fieldName>PersonObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -764,14 +759,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/360degreeobjects/children/objectstatus_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>AttributeTree</name>
       <dependency>
         <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
+        <entityName>360Degree_entity</entityName>
+        <fieldName>PersonObjects</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>AttributeTree</name>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -786,6 +781,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/showdsgvomessage_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>DATE_NEW</name>
@@ -845,46 +845,50 @@
     </entityParameter>
     <entityConsumer>
       <name>CommRestrictions</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CommRestriction_Entity</entityName>
-        <fieldName>CommRestrictions</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/commrestrictions/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CommRestriction_Entity</entityName>
+        <fieldName>CommRestrictions</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>DSGVOEntries</name>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvoentries/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DSGVO_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvoentries/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Appointments</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Appointment_entity</entityName>
-        <fieldName>LinkedAppointments</fieldName>
+        <entityName>DSGVO_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Appointments</name>
       <children>
         <entityParameter>
           <name>LinkedObjectId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/appointments/children/linkedobjectid_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>ErrorOnPermissionDenied</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Appointment_entity</entityName>
+        <fieldName>LinkedAppointments</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>OpenTasks</name>
@@ -921,11 +925,6 @@
     </entityField>
     <entityConsumer>
       <name>SelfDuplicatesUncached</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Person_entity</entityName>
-        <fieldName>SelfDuplicates</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>DuplicateActionsControl_param</name>
@@ -944,6 +943,11 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Person_entity</entityName>
+        <fieldName>SelfDuplicates</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>LEAD_LEADID</name>
@@ -974,14 +978,6 @@
       <name>QuickEntryContacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/quickentrycontacts/documentation.adoc</documentation>
       <titlePlural>Additional Contacts</titlePlural>
-      <dependencies>
-        <entityDependency>
-          <name>6d137850-63ba-4be0-9ca5-1464e71d4f77</name>
-          <entityName>QuickEntry_entity</entityName>
-          <fieldName>Contacts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -1004,6 +1000,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>6d137850-63ba-4be0-9ca5-1464e71d4f77</name>
+          <entityName>QuickEntry_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityActionField>
       <name>openEditDefaultsView</name>
@@ -1249,14 +1253,6 @@
     <entityProvider>
       <name>IdFilteredActiveContacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/idfilteredactivecontacts/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>511f3e4c-7493-4a31-a136-0ba80ba2ec85</name>
-          <entityName>Member_entity</entityName>
-          <fieldName>Contacts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludedContactIds_param</name>
@@ -1291,6 +1287,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>511f3e4c-7493-4a31-a136-0ba80ba2ec85</name>
+          <entityName>Member_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityField>
       <name>COUNT</name>
@@ -1325,29 +1329,21 @@
       <name>Districts</name>
       <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districts/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>District_entity</entityName>
-        <fieldName>ResponsibleDistricts</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>DistrictsByContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districts/children/districtsbycontactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>District_entity</entityName>
+        <fieldName>ResponsibleDistricts</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>NonselfDuplicates</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/nonselfduplicates/documentation.adoc</documentation>
-      <dependencies>
-        <entityDependency>
-          <name>3a4352e2-9686-4c52-9d01-dbfad8c68ea7</name>
-          <entityName>Duplicates_entity</entityName>
-          <fieldName>DuplicatePersonsConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -1370,22 +1366,30 @@
           <expose v="false" />
         </entityParameter>
       </children>
+      <dependencies>
+        <entityDependency>
+          <name>3a4352e2-9686-4c52-9d01-dbfad8c68ea7</name>
+          <entityName>Duplicates_entity</entityName>
+          <fieldName>DuplicatePersonsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>DistrictResponsibles</name>
       <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DistrictResponsible_entity</entityName>
-        <fieldName>OrganisationResponsibles</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>OrgUid_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DistrictResponsible_entity</entityName>
+        <fieldName>OrganisationResponsibles</fieldName>
+      </dependency>
     </entityConsumer>
   </entityFields>
   <recordContainers>
diff --git a/entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js b/entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js
new file mode 100644
index 0000000000..15b1f8d032
--- /dev/null
+++ b/entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("false");
\ No newline at end of file
diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js
index 0a9a4b99e7..bc056c2d02 100644
--- a/process/Calendar_lib/process.js
+++ b/process/Calendar_lib/process.js
@@ -538,4 +538,113 @@ CalendarUtil.getCalendarSystemType = function(pScope)
 
     // Everything is none
     return calendars.BACKEND_NONE;
+}
+
+CalendarUtil.buildEntriesFromUids = function(appointmentUids) 
+{
+    var entryArray = new Array(appointmentUids.length);
+    
+    for(var i = 0; i < appointmentUids.length; i++)
+    {
+        var hasPermission = true;
+        
+        if(vars.getString("$param.ErrorOnPermissionDenied") && vars.get("$param.ErrorOnPermissionDenied") == "false")
+            hasPermission = hasUserPermissionForReadingEntry(getEntryOwnerCn(appointmentUids[i]));
+        
+        if(hasPermission)
+            entryArray[i] = CalendarUtil.buildEntry(calendars.getEntry(appointmentUids[i], null, null), null);
+    }
+    
+    //filter out all null
+    var filteredEntryArray = entryArray.filter(function (el) {
+        return el != null;
+    });
+    
+    return filteredEntryArray;
+}
+
+
+CalendarUtil.countEntriesFromUids = function(appointmentUids) 
+{
+    return CalendarUtil.buildEntriesFromUids(appointmentUids).length;
+}
+
+CalendarUtil.buildEntry = function (pEntry, pMasterentry)
+{
+    var uid = pEntry[calendars.ID];    
+    var summary = pEntry[calendars.SUMMARY];
+    var attendees = pEntry[calendars.AFFECTEDUSERS];
+    var startdate = pEntry[calendars.DTSTART];
+    var enddate = pEntry[calendars.DTEND];
+    var links = pEntry[calendars.LINKS];
+    var description = pEntry[calendars.DESCRIPTION];
+    if(pEntry[calendars.ORGANIZER2] != undefined)
+        var organizer = pEntry[calendars.ORGANIZER2]["paramvalue"];
+    if(pEntry[calendars.USER2] != undefined)
+        var owner = JSON.stringify(pEntry[calendars.USER2]);
+    var status = pEntry[calendars.STATUS];
+    var location = pEntry[calendars.LOCATION];
+    var reminder = pEntry[calendars.REMINDER_DURATION];
+    var remindercheck = pEntry[calendars.HASREMINDER]
+    var classification = pEntry[calendars.CLASSIFICATION];
+    var transparency = pEntry[calendars.TRANSPARENCY];
+    var categories = pEntry[calendars.CATEGORIES];
+    var isAllDay = pEntry["X-ADITO-ISALLDAYEVENT"] != null ? pEntry["X-ADITO-ISALLDAYEVENT"] : "FALSE";
+    
+    var masterBegin = pMasterentry != null ? pMasterentry[calendars.DTSTART] : null
+    var masterEnd = pMasterentry != null ? pMasterentry[calendars.DTEND] : null
+    
+    // Recurrence
+    var recurrenceID = pEntry[calendars.RECURRENCEID];
+    var rrule = null;
+    if (pMasterentry != null) { // Entry is a recurrence exception, therefore get rrule from master
+        rrule = pMasterentry[calendars.RRULE] != null ? pMasterentry[calendars.RRULE][0] : null;
+    } else {
+        rrule = pEntry[calendars.RRULE] != null ? pEntry[calendars.RRULE][0] : null;
+    }
+    
+    return [
+            uid, 
+            attendees.length, 
+            startdate, 
+            enddate, 
+            summary, 
+            organizer,
+            owner,
+            attendees, 
+            status,  
+            description, 
+            location, 
+            '', 
+            isAllDay,
+            classification,
+            transparency, 
+            categories, 
+            reminder, 
+            remindercheck, 
+            rrule, 
+            recurrenceID, 
+            null, 
+            masterBegin, 
+            masterEnd,
+            null
+        ];
+}
+
+
+function hasUserPermissionForReadingEntry(calUserCn)
+{
+    return calendars.hasPermission(calUserCn, calendars.VEVENT, "READ");
+}
+
+function getEntryOwnerCn(appointmentUid)
+{
+    
+    var owner = newSelect("ASYS_CALENDARBACKEND.OWNER", "_____SYSTEMALIAS")
+        .from("ASYS_CALENDARBACKEND")
+        .whereIfSet("ASYS_CALENDARBACKEND.ELEMENTUID", appointmentUid)
+        .cell(true);
+        
+    var ownerArr = text.decodeMS(owner);
+    return ownerArr[1].split(":")[1];
 }
\ No newline at end of file
-- 
GitLab


From 3e8ed424c8a1a4911c0967ca7b7cb6ccfef380ae Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 3 Nov 2020 16:01:58 +0100
Subject: [PATCH 246/251] #1068152 Calendar: Dashlet-Fix

---
 process/Calendar_lib/process.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js
index bc056c2d02..e9f96a4a90 100644
--- a/process/Calendar_lib/process.js
+++ b/process/Calendar_lib/process.js
@@ -548,9 +548,9 @@ CalendarUtil.buildEntriesFromUids = function(appointmentUids)
     {
         var hasPermission = true;
         
-        if(vars.getString("$param.ErrorOnPermissionDenied") && vars.get("$param.ErrorOnPermissionDenied") == "false")
+        if(vars.get("$param.ErrorOnPermissionDenied") == "false" || vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
             hasPermission = hasUserPermissionForReadingEntry(getEntryOwnerCn(appointmentUids[i]));
-        
+       
         if(hasPermission)
             entryArray[i] = CalendarUtil.buildEntry(calendars.getEntry(appointmentUids[i], null, null), null);
     }
-- 
GitLab


From 2119941a8b72ff15b96045646502a671349d0792 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 4 Nov 2020 13:26:21 +0000
Subject: [PATCH 247/251] 1065877 fix order report incorrect spelling

---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod |  2 +-
 process/Order_lib/process.js                   |  3 ++-
 report/Reminder_report/reportData.jrxml        | 17 +++++++++--------
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index b563a3076d..6fe5479387 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -6568,7 +6568,7 @@
     </entry>
     <entry>
       <key>Print reminder</key>
-      <value>Mahnung drucken</value>
+      <value>Mahnung anzeigen</value>
     </entry>
     <entry>
       <key>Rech.-Betrag</key>
diff --git a/process/Order_lib/process.js b/process/Order_lib/process.js
index d6938458c5..bcb1b84286 100644
--- a/process/Order_lib/process.js
+++ b/process/Order_lib/process.js
@@ -545,7 +545,8 @@ OrderUtils.buildReminderReport = function (pOrderID)
         "Ordernumber": translate.text("Order number",language),
         "Orderdate": translate.text("Order date",language),
         "Orderamount": translate.text("Order amount",language),
-        "Dunninglevel": translate.text("Dunning level",language)  
+        "Dunninglevel": translate.text("Dunning level",language),
+        "OutstandingAmount": translate.text("Outstanding Amount",language)
     };
     
     
diff --git a/report/Reminder_report/reportData.jrxml b/report/Reminder_report/reportData.jrxml
index ca529152a3..1347b1ef95 100644
--- a/report/Reminder_report/reportData.jrxml
+++ b/report/Reminder_report/reportData.jrxml
@@ -2,7 +2,7 @@
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Mahnung" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
 	<property name="ireport.zoom" value="2.1435888100000016"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="57"/>
+	<property name="ireport.y" value="0"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Kontenabstimmung" class="java.lang.String"/>
 	<parameter name="Rech.-Nr" class="java.lang.String"/>
@@ -22,6 +22,7 @@
 	<parameter name="Due" class="java.lang.String"/>
 	<parameter name="DUEDATE" class="java.lang.String"/>
 	<parameter name="Dunninglevel" class="java.lang.String"/>
+	<parameter name="OutstandingAmount" class="java.lang.String"/>
 	<field name="PAYED" class="java.lang.String"/>
 	<field name="RELATION_ID" class="java.lang.String"/>
 	<field name="CURRENCY" class="java.lang.String"/>
@@ -59,13 +60,6 @@
 					</textElement>
 					<textFieldExpression><![CDATA[$P{DueDate}]]></textFieldExpression>
 				</textField>
-				<textField>
-					<reportElement x="408" y="0" width="103" height="15" uuid="62a0909f-ef03-4242-969a-8a9532d1aa9a"/>
-					<textElement textAlignment="Right">
-						<font size="8"/>
-					</textElement>
-					<textFieldExpression><![CDATA[$P{Outstanding Amount}]]></textFieldExpression>
-				</textField>
 				<line>
 					<reportElement x="13" y="33" width="527" height="1" uuid="d5108302-191f-4e27-8920-fcd330d335e8"/>
 				</line>
@@ -125,6 +119,13 @@
 					</textElement>
 					<textFieldExpression><![CDATA[$R{Rechnungsbetrag}]]></textFieldExpression>
 				</textField>
+				<textField>
+					<reportElement x="430" y="0" width="81" height="15" uuid="8eee46c0-f3c3-4563-b1b1-746aeb7e73c6"/>
+					<textElement>
+						<font size="8"/>
+					</textElement>
+					<textFieldExpression><![CDATA[$P{OutstandingAmount}]]></textFieldExpression>
+				</textField>
 			</band>
 		</groupHeader>
 	</group>
-- 
GitLab


From 8fcd36c76d70718dbc71eb5fab4cfe949c999696 Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Mon, 2 Nov 2020 13:28:31 +0000
Subject: [PATCH 248/251] [Projekt: Entwicklung - xRM][TicketNr.:
 1061035][Serienmail - Testen - Fehler im Serverlog]

(cherry picked from commit d2e307981c0f62579c4b9c93ce166d3c41b003aa)
---
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 6fe5479387..c75f227a0e 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -6628,7 +6628,7 @@
     </entry>
     <entry>
       <key>This error should never appear - contact administrator (PermissionDetail_entity.PermissionAction.onValidation).</key>
-      <value>Dieser Fehler sollte nie erscheinen - kontaktieren sie einen Administrator (PermissionDetail_entity.PermissionAction.onValidation).</value>
+      <value>Dieser Fehler sollte nie erscheinen - kontaktieren Sie einen Administrator (PermissionDetail_entity.PermissionAction.onValidation).</value>
     </entry>
     <entry>
       <key>Empty actions are invalid!</key>
-- 
GitLab


From ce6de6dc3ca6ae0be8f1b5b63219fe2da5c238c3 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 4 Nov 2020 10:10:56 +0100
Subject: [PATCH 249/251] #1065236 marketing automation workflow

---
 .../BulkMailRecipient_entity.aod              |  6 ++++
 .../onActionProcess.js                        | 34 ++++++++++++++++++
 .../CampaignParticipant_entity.aod            |  6 ++++
 .../onActionProcess.js                        | 36 +++++++++++++++++++
 .../DocumentTemplate_entity.aod               |  1 +
 .../onValidation.js                           | 14 ++++++++
 .../MarketingWorkflowLauncher_entity.aod      |  1 +
 .../processvariables_param/valueProcess.js    |  2 +-
 .../children/targets_param/valueProcess.js    |  8 +++--
 .../Organisation_entity.aod                   | 12 +++++++
 .../onActionProcess.js                        |  9 +++++
 entity/Person_entity/Person_entity.aod        |  2 +-
 .../onActionProcess.js                        |  1 +
 entity/WorkflowTask_entity/afterSave.js       |  4 +--
 .../MarketingWorkflowLauncher.aod             |  2 +-
 .../OrganisationFilter_view.aod               |  2 ++
 .../WorkflowLauncherEdit_view.aod             |  4 +++
 process/FilterViewAction_lib/process.js       |  5 ++-
 process/SendEmail_workflowService/process.js  |  2 +-
 19 files changed, 142 insertions(+), 9 deletions(-)
 create mode 100644 entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js
 create mode 100644 entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
 create mode 100644 entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/onValidation.js
 create mode 100644 entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js

diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
index bae83161b6..d60c6ae8ce 100644
--- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
+++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
@@ -121,6 +121,12 @@
           <iconId>VAADIN:BAN</iconId>
           <tooltipProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js</tooltipProcess>
         </entityActionField>
+        <entityActionField>
+          <name>startMarketingWorkflows</name>
+          <title>Start marketing workflow</title>
+          <onActionProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityField>
diff --git a/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js b/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js
new file mode 100644
index 0000000000..cbe91449e5
--- /dev/null
+++ b/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js
@@ -0,0 +1,34 @@
+import("Util_lib");
+import("system.entities");
+import("Context_lib");
+import("system.vars");
+import("system.neon");
+
+var rows = vars.get("$sys.selectionRows");
+var filter = vars.get("$sys.filter").filter;
+var targets = [];
+
+if (Utils.isNullOrEmpty(rows))
+{
+    let loadConfig = entities.createConfigForLoadingRows()
+        .entity("BulkMailRecipient_entity")
+        .provider("BulkMailRecipients")
+        .fields(["CONTACT_ID", "TARGETCONTEXT"])
+        .addParameter("BulkMailId_param", vars.get("$param.BulkMailId_param"));
+
+    if (filter)
+        loadConfig.filter(JSON.stringify(filter));
+    
+    rows = entities.getRows(loadConfig);
+}
+
+rows = rows.map(function (row)
+{
+    return [row["CONTACT_ID"], row["TARGETCONTEXT"]];
+});
+
+
+neon.openContext("MarketingWorkflowLauncher", "MarketingWorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+    "ObjectIds_param": JSON.stringify(rows),
+    "ObjectType_param": ContextUtils.getCurrentContextId()
+});
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index 3c8e5a5655..2ecc8752c7 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -177,6 +177,12 @@
           <tooltip>Update campaign step</tooltip>
           <tooltipProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/tooltipProcess.js</tooltipProcess>
         </entityActionField>
+        <entityActionField>
+          <name>startMarketingWorkflows</name>
+          <title>Start marketing workflow</title>
+          <onActionProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityField>
diff --git a/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
new file mode 100644
index 0000000000..40e60ff20d
--- /dev/null
+++ b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
@@ -0,0 +1,36 @@
+import("Util_lib");
+import("system.entities");
+import("Context_lib");
+import("system.vars");
+import("system.neon");
+
+var rows = vars.get("$sys.selectionRows");
+var filter = vars.get("$sys.filter").filter;
+var targets = [];
+
+if (Utils.isNullOrEmpty(rows))
+{
+    let loadConfig = entities.createConfigForLoadingRows()
+        .entity("CampaignParticipant_entity")
+        .provider("CampaignParticipantsProvider")
+        .fields(["CONTACT_ID", "CONTACTCONTEXT"])
+        .addParameter("CampaignId_param", vars.get("$param.CampaignId_param"))
+        .addParameter("CampaignStepId_param", vars.get("$param.CampaignStepId_param"))
+        .addParameter("ContactId_param", vars.get("$param.ContactId_param"));
+
+    if (filter)
+        loadConfig.filter(JSON.stringify(filter));
+    
+    rows = entities.getRows(loadConfig);
+}
+
+rows = rows.map(function (row)
+{
+    return [row["CONTACT_ID"], row["CONTACTCONTEXT"]];
+});
+
+
+neon.openContext("MarketingWorkflowLauncher", "MarketingWorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+    "ObjectIds_param": JSON.stringify(rows),
+    "ObjectType_param": ContextUtils.getCurrentContextId()
+});
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
index 9cf1d9cca3..dbb9e49a3b 100644
--- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
+++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
@@ -321,6 +321,7 @@
     <entityConsumer>
       <name>DocumentTemplatePlaceOfUse</name>
       <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/stateProcess.js</stateProcess>
+      <onValidation>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
         <entityName>DocumentTemplatePlaceOfUse_entity</entityName>
diff --git a/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/onValidation.js b/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/onValidation.js
new file mode 100644
index 0000000000..a40be7eb7d
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/documenttemplateplaceofuse/onValidation.js
@@ -0,0 +1,14 @@
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Entity_lib");
+
+var usages = EntityConsumerRowsHelper.getCurrentConsumerRows("DocumentTemplatePlaceOfUse", ["PLACEOFUSE"]);
+var hasMarketingWorkflowUsage = usages.some(function (usage)
+{
+    return usage["PLACEOFUSE"] == "MarketingWorkflowLauncher";
+});
+if (hasMarketingWorkflowUsage && !vars.get("$field.Content").includes("{@workflowActionLink@}"))
+{
+    result.string(translate.text("The template must contain the placeholder for the worklow-link to use it with the marketing workflow"));
+}
diff --git a/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
index 40b9b39c89..f387fc2eca 100644
--- a/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
+++ b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
@@ -80,6 +80,7 @@
   <recordContainers>
     <datalessRecordContainer>
       <name>dataLess</name>
+      <alias>Data_alias</alias>
     </datalessRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
index b81df3d4fb..3855fc6c44 100644
--- a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
@@ -2,6 +2,6 @@ import("system.vars");
 import("system.result");
 
 var variables = {
-    documentTemplate: vars.get("$field.DOCUMENTTEMPLATE_ID")
+    documentTemplateId: vars.get("$field.DOCUMENTTEMPLATE_ID")
 };
 result.string(JSON.stringify(variables));
\ No newline at end of file
diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
index 6a28aafa52..cca5f0e8d7 100644
--- a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/targets_param/valueProcess.js
@@ -1,13 +1,17 @@
 import("Util_lib");
 import("system.vars");
 import("system.result");
+import("FilterViewAction_lib");
 
 var context = vars.get("$param.ObjectType_param");
-var targets = Utils.parseJSON(vars.get("$param.ObjectIds_param")) || [];
-targets = targets.map(function (targetId)
+var targets = Utils.parseJSON(vars.get("$param.ObjectIds_param"));
+var filter = Utils.parseJSON(vars.get("$param.ObjectFilter_param"));
+
+targets = FilterViewActionUtils.getUidsBySelectionOrFilter(context, targets, filter).map(function (targetId)
 {
     if (Utils.isString(targetId))
         return [targetId, context]; //todo: context dynamic (eg for participants)
     return targetId;
 });
+
 result.string(JSON.stringify(targets));
\ No newline at end of file
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 0287eb1d38..bfd5e70a02 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -1422,6 +1422,18 @@
         <fieldName>FilterProvider</fieldName>
       </dependency>
     </entityConsumer>
+    <entityActionGroup>
+      <name>workflowActions</name>
+      <title>Workflow</title>
+      <children>
+        <entityActionField>
+          <name>startMarketingWorkflows</name>
+          <title>Start marketing workflow</title>
+          <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+        </entityActionField>
+      </children>
+    </entityActionGroup>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js b/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js
new file mode 100644
index 0000000000..2b04867cc9
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js
@@ -0,0 +1,9 @@
+import("Context_lib");
+import("system.vars");
+import("system.neon");
+
+neon.openContext("MarketingWorkflowLauncher", "MarketingWorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
+    "ObjectIds_param": JSON.stringify(vars.get("$sys.selection")),
+    "ObjectFilter_param": JSON.stringify(vars.get("$sys.filter")),
+    "ObjectType_param": ContextUtils.getCurrentContextId()
+});
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 4a393db4da..24d78e6da4 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -1103,7 +1103,7 @@
         </entityActionField>
         <entityActionField>
           <name>startMarketingWorkflows</name>
-          <title>Marketing Workflow</title>
+          <title>Start marketing workflow</title>
           <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
         </entityActionField>
diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
index 3e462ab449..2b04867cc9 100644
--- a/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
+++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
@@ -4,5 +4,6 @@ import("system.neon");
 
 neon.openContext("MarketingWorkflowLauncher", "MarketingWorkflowLauncherEdit_view", null, neon.OPERATINGSTATE_VIEW, {
     "ObjectIds_param": JSON.stringify(vars.get("$sys.selection")),
+    "ObjectFilter_param": JSON.stringify(vars.get("$sys.filter")),
     "ObjectType_param": ContextUtils.getCurrentContextId()
 });
\ No newline at end of file
diff --git a/entity/WorkflowTask_entity/afterSave.js b/entity/WorkflowTask_entity/afterSave.js
index 383331b295..61b54c5343 100644
--- a/entity/WorkflowTask_entity/afterSave.js
+++ b/entity/WorkflowTask_entity/afterSave.js
@@ -30,9 +30,9 @@ if (entityData["FORMRESULT"])
     else
     {
         var params = {
-            "TaskTitle_param" : rowData["NAME"]
+            "TaskTitle_param": entityData["NAME"]
         };
         //if you try to open the task now, it will display "Task done"
-        neon.openContext("WorkflowTask", "WorkflowTaskPreview_view", [rowData["UID"]], neon.OPERATINGSTATE_VIEW, params);
+        neon.openContext("WorkflowTask", "WorkflowTaskPreview_view", [entityData["UID"]], neon.OPERATINGSTATE_VIEW, params);
     }
 }
\ No newline at end of file
diff --git a/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod b/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
index bad0c03850..e200a8a70f 100644
--- a/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
+++ b/neonContext/MarketingWorkflowLauncher/MarketingWorkflowLauncher.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
   <name>MarketingWorkflowLauncher</name>
-  <title>f</title>
+  <title>Marketing workflow</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <entity>MarketingWorkflowLauncher_entity</entity>
   <references>
diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
index 1cbde0c530..7f17a0e1a0 100644
--- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
+++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
@@ -51,6 +51,7 @@
       <name>Organisations</name>
       <favoriteActionGroup1>filterViewActionGroup</favoriteActionGroup1>
       <favoriteActionGroup2>DuplicateActions</favoriteActionGroup2>
+      <favoriteActionGroup3>workflowActions</favoriteActionGroup3>
       <subtitleField>CUSTOMERCODE_DISPLAY_fieldGroup</subtitleField>
       <entityField>#ENTITY</entityField>
       <linkedColumns>
@@ -100,6 +101,7 @@
       <name>Treetable</name>
       <favoriteActionGroup1>filterViewActionGroup</favoriteActionGroup1>
       <favoriteActionGroup2>DuplicateActions</favoriteActionGroup2>
+      <favoriteActionGroup3>workflowActions</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
       <linkedColumns>
         <element>NAME</element>
diff --git a/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
index 8445a151ff..8f7e944084 100644
--- a/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
+++ b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
@@ -23,6 +23,10 @@
           <name>14de7f56-44cf-4c9e-89a7-59f84e482fd9</name>
           <entityField>NAME</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>fd4252cf-e137-4068-a91b-732708f5ee1c</name>
+          <entityField>workflowTargets</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <dynamicFormViewTemplate>
diff --git a/process/FilterViewAction_lib/process.js b/process/FilterViewAction_lib/process.js
index b0fa04291d..8615c426d6 100644
--- a/process/FilterViewAction_lib/process.js
+++ b/process/FilterViewAction_lib/process.js
@@ -52,7 +52,10 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
     var loadRowsConfig = entities.createConfigForLoadingRows()
         .entity(ContextUtils.getEntity(pContext))
         .fields(["#UID"])
-        .filter(JSON.stringify(pFilter.filter || pFilter));
+    if (pFilter.filter)
+        loadRowsConfig.filter(JSON.stringify(pFilter.filter));
+    else if (pFilter)
+        loadRowsConfig.filter(JSON.stringify(pFilter));
         
     return entities.getRows(loadRowsConfig).map(function (row)
     {
diff --git a/process/SendEmail_workflowService/process.js b/process/SendEmail_workflowService/process.js
index 6ccbfe3e76..ded2b169e1 100644
--- a/process/SendEmail_workflowService/process.js
+++ b/process/SendEmail_workflowService/process.js
@@ -10,7 +10,7 @@ import("Workflow_lib");
 
 var processInstanceId = vars.get("$local.uid");
 var variables = JSON.parse(vars.get("$local.value"));
-var recipientContactId = variables.recipientContactId;
+var recipientContactId = variables.recipientContactId || variables.targetId;
 var documentTemplateId = variables.documentTemplateId;
 var senderName = variables.senderName;
 var mailSubject = variables.mailSubject;
-- 
GitLab


From 4446c7d6df37eab0bf1fd4e6e719d9959c09309d Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 4 Nov 2020 10:39:24 +0100
Subject: [PATCH 250/251] #1065236 marketing automation workflow set adito url

---
 .../processvariables_param/valueProcess.js     |  3 ++-
 .../Organisation_entity.aod                    | 18 ++++++------------
 .../startmarketingworkflows/onActionProcess.js |  0
 .../WorkflowLauncher_entity.aod                |  2 ++
 .../OrganisationFilter_view.aod                |  2 --
 process/FilterViewAction_lib/process.js        |  2 +-
 process/SendEmail_workflowService/process.js   | 13 +++++++++----
 7 files changed, 20 insertions(+), 20 deletions(-)
 rename entity/Organisation_entity/entityfields/{workflowactions => filterviewactiongroup}/children/startmarketingworkflows/onActionProcess.js (100%)

diff --git a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
index 3855fc6c44..cea637a710 100644
--- a/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
+++ b/entity/MarketingWorkflowLauncher_entity/entityfields/workflowlauncherintegration/children/processvariables_param/valueProcess.js
@@ -2,6 +2,7 @@ import("system.vars");
 import("system.result");
 
 var variables = {
-    documentTemplateId: vars.get("$field.DOCUMENTTEMPLATE_ID")
+    documentTemplateId: vars.get("$field.DOCUMENTTEMPLATE_ID"),
+    originUrl: vars.get("$sys.origin")
 };
 result.string(JSON.stringify(variables));
\ No newline at end of file
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index bfd5e70a02..d428c6f4de 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -959,6 +959,12 @@
           <tooltip>Export fields of this table</tooltip>
           <tooltipProcess>%aditoprj%/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/tooltipProcess.js</tooltipProcess>
         </entityActionField>
+        <entityActionField>
+          <name>startMarketingWorkflows</name>
+          <title>Start marketing workflow</title>
+          <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityActionField>
@@ -1422,18 +1428,6 @@
         <fieldName>FilterProvider</fieldName>
       </dependency>
     </entityConsumer>
-    <entityActionGroup>
-      <name>workflowActions</name>
-      <title>Workflow</title>
-      <children>
-        <entityActionField>
-          <name>startMarketingWorkflows</name>
-          <title>Start marketing workflow</title>
-          <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
-          <isObjectAction v="false" />
-        </entityActionField>
-      </children>
-    </entityActionGroup>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
similarity index 100%
rename from entity/Organisation_entity/entityfields/workflowactions/children/startmarketingworkflows/onActionProcess.js
rename to entity/Organisation_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js
diff --git a/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
index f1640dc1aa..4ac6aa0edf 100644
--- a/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
+++ b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
@@ -31,6 +31,7 @@
       <name>KEY</name>
       <title>Key</title>
       <consumer>WorkflowDefinitions</consumer>
+      <mandatory v="true" />
       <state>EDITABLE</state>
     </entityField>
     <entityActionField>
@@ -88,6 +89,7 @@
   <recordContainers>
     <datalessRecordContainer>
       <name>dataLess</name>
+      <alias>Data_alias</alias>
     </datalessRecordContainer>
   </recordContainers>
 </entity>
diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
index 7f17a0e1a0..1cbde0c530 100644
--- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
+++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
@@ -51,7 +51,6 @@
       <name>Organisations</name>
       <favoriteActionGroup1>filterViewActionGroup</favoriteActionGroup1>
       <favoriteActionGroup2>DuplicateActions</favoriteActionGroup2>
-      <favoriteActionGroup3>workflowActions</favoriteActionGroup3>
       <subtitleField>CUSTOMERCODE_DISPLAY_fieldGroup</subtitleField>
       <entityField>#ENTITY</entityField>
       <linkedColumns>
@@ -101,7 +100,6 @@
       <name>Treetable</name>
       <favoriteActionGroup1>filterViewActionGroup</favoriteActionGroup1>
       <favoriteActionGroup2>DuplicateActions</favoriteActionGroup2>
-      <favoriteActionGroup3>workflowActions</favoriteActionGroup3>
       <entityField>#ENTITY</entityField>
       <linkedColumns>
         <element>NAME</element>
diff --git a/process/FilterViewAction_lib/process.js b/process/FilterViewAction_lib/process.js
index 8615c426d6..afd89d4d6d 100644
--- a/process/FilterViewAction_lib/process.js
+++ b/process/FilterViewAction_lib/process.js
@@ -40,7 +40,7 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter)
     {
         return new SqlBuilder()
             .selectDistinct("CONTACT.CONTACTID")
-            .from("PERSON")
+            .from("ORGANISATION")
             .join("CONTACT", newWhere("ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID").and("CONTACT.PERSON_ID is null"))
             .leftJoin("ADDRESS", "ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
             .leftJoin("CLASSIFICATIONSTORAGE", "CLASSIFICATIONSTORAGE.OBJECT_ROWID = CONTACT.CONTACTID")
diff --git a/process/SendEmail_workflowService/process.js b/process/SendEmail_workflowService/process.js
index ded2b169e1..14247ad4e4 100644
--- a/process/SendEmail_workflowService/process.js
+++ b/process/SendEmail_workflowService/process.js
@@ -14,15 +14,20 @@ var recipientContactId = variables.recipientContactId || variables.targetId;
 var documentTemplateId = variables.documentTemplateId;
 var senderName = variables.senderName;
 var mailSubject = variables.mailSubject;
+var aditoUrl = variables.originUrl;
 
 var actionParams = Utils.clone(variables);
 actionParams.processInstanceId = processInstanceId;
-var linkPlaceholder = new Placeholder("workflowActionLink", Placeholder.types.CALLBACKFUNCTION, function ()
+var additionalPlaceholders = [];
+if (aditoUrl)
 {
-    return WorkflowLinkActions.getActionLink("https://localhost:8443", actionParams.linkActionType, actionParams.redirectLink, actionParams);
-});
+    additionalPlaceholders.push(linkPlaceholder = new Placeholder("workflowActionLink", Placeholder.types.CALLBACKFUNCTION, function ()
+    {
+        return WorkflowLinkActions.getActionLink(aditoUrl, actionParams.linkActionType, actionParams.redirectLink, actionParams);
+    }));
+}
 
-var email = Email.fromTemplate(documentTemplateId, recipientContactId, null, [linkPlaceholder]);
+var email = Email.fromTemplate(documentTemplateId, recipientContactId, null, additionalPlaceholders);
 email.subject = mailSubject;
 email.toRecipients = [CommUtil.getStandardMail(recipientContactId)];
 
-- 
GitLab


From dcf5daf57b39f65750adc20fb140d17becae1ae3 Mon Sep 17 00:00:00 2001
From: Sebastian Listl <s.listl@adito.de>
Date: Wed, 4 Nov 2020 16:42:22 +0100
Subject: [PATCH 251/251] #1065236 launch marketing workflow

---
 .../BulkMailRecipient_entity.aod              |   3 +-
 .../CampaignParticipant_entity.aod            |   3 +-
 .../MarketingWorkflowLauncher_entity.aod      |   2 +-
 .../Organisation_entity.aod                   | 439 +++++++++---------
 entity/Person_entity/Person_entity.aod        | 401 ++++++++--------
 .../WorkflowLauncher_entity.aod               |   1 -
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |   4 +
 .../WorkflowLauncherEdit_view.aod             |   4 -
 8 files changed, 430 insertions(+), 427 deletions(-)

diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
index d60c6ae8ce..60d85496e2 100644
--- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
+++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
@@ -123,9 +123,10 @@
         </entityActionField>
         <entityActionField>
           <name>startMarketingWorkflows</name>
-          <title>Start marketing workflow</title>
+          <title>Start marketing mailing</title>
           <onActionProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
+          <iconId>VAADIN:ENVELOPES</iconId>
         </entityActionField>
       </children>
     </entityActionGroup>
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index 2ecc8752c7..4d3b86ba02 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -179,9 +179,10 @@
         </entityActionField>
         <entityActionField>
           <name>startMarketingWorkflows</name>
-          <title>Start marketing workflow</title>
+          <title>Start marketing mailing</title>
           <onActionProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
+          <iconId>VAADIN:ENVELOPES</iconId>
         </entityActionField>
       </children>
     </entityActionGroup>
diff --git a/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
index f387fc2eca..791b08d72b 100644
--- a/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
+++ b/entity/MarketingWorkflowLauncher_entity/MarketingWorkflowLauncher_entity.aod
@@ -14,7 +14,7 @@
     </entityProvider>
     <entityField>
       <name>DOCUMENTTEMPLATE_ID</name>
-      <title>Document template</title>
+      <title>Document Template</title>
       <consumer>EmailTemplates</consumer>
       <mandatory v="true" />
       <state>EDITABLE</state>
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index d428c6f4de..50afcd2e32 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -71,6 +71,11 @@
     </entityField>
     <entityConsumer>
       <name>Activities</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -81,26 +86,21 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Contact</name>
       <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Person_entity</entityName>
+        <fieldName>OrganisationRelated</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>OrgId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Person_entity</entityName>
-        <fieldName>OrganisationRelated</fieldName>
-      </dependency>
     </entityConsumer>
     <entityFieldGroup>
       <name>CUSTOMERCODE_DISPLAY_fieldGroup</name>
@@ -114,36 +114,6 @@
       <name>Organisations</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisations/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
-      <children>
-        <entityParameter>
-          <name>WithPrivate_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ExcludeOrganisationsByPersonId</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>ExcludedContactIds_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>AttributeKeyId_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>AttributeId_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>DuplicateActionsControl_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>DuplicateCurrentContactId_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
       <dependencies>
         <entityDependency>
           <name>85aa363e-d8ba-4df5-8422-bf7aff86a4f8</name>
@@ -182,9 +152,44 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>WithPrivate_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ExcludeOrganisationsByPersonId</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>ExcludedContactIds_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AttributeKeyId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>AttributeId_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>DuplicateActionsControl_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>DuplicateCurrentContactId_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityConsumer>
       <name>Addresses</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAddresses</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>DefaultAddressId_param</name>
@@ -196,11 +201,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAddresses</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>ADDRESS_ID</name>
@@ -211,6 +211,11 @@
     </entityField>
     <entityConsumer>
       <name>Communications</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>AllCommunications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -222,15 +227,15 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/communications/children/contactsmaincountry_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>AllCommunications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Contracts</name>
       <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Contract_entity</entityName>
+        <fieldName>Contracts</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -239,14 +244,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Contract_entity</entityName>
-        <fieldName>Contracts</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Productprices</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Productprice_entity</entityName>
+        <fieldName>Productprices</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -255,11 +260,6 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Productprice_entity</entityName>
-        <fieldName>Productprices</fieldName>
-      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>#PROVIDER</name>
@@ -300,6 +300,11 @@
     <entityConsumer>
       <name>Documents</name>
       <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -310,11 +315,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>STANDARD_EMAIL_COMMUNICATION</name>
@@ -330,6 +330,11 @@
     </entityField>
     <entityConsumer>
       <name>PhoneCommunications</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>PhoneCommunications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -337,14 +342,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>EmailCommunications</name>
       <dependency>
         <name>dependency</name>
         <entityName>Communication_entity</entityName>
-        <fieldName>PhoneCommunications</fieldName>
+        <fieldName>EmailCommunications</fieldName>
       </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>EmailCommunications</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -352,11 +357,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>EmailCommunications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Countries</name>
@@ -369,6 +369,11 @@
     <entityConsumer>
       <name>Attributes</name>
       <onValidation>%aditoprj%/entity/Organisation_entity/entityfields/attributes/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -380,14 +385,14 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>KeywordContactStates</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -395,14 +400,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordOrganisationTypes</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordOrganisationTypes</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -410,11 +415,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Languages</name>
@@ -426,6 +426,11 @@
     </entityConsumer>
     <entityConsumer>
       <name>KeywordPricePolitics</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -433,14 +438,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordWeaknesses</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordWeaknesses</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -448,14 +453,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordStrenghts</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordStrenghts</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -463,14 +468,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Salesprojects</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Salesproject_entity</entityName>
+        <fieldName>Salesprojects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -479,14 +484,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Salesproject_entity</entityName>
-        <fieldName>Salesprojects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Offers</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -495,14 +500,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Offer_entity</entityName>
-        <fieldName>ContactOffers</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -513,11 +518,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>WithPrivate_param</name>
@@ -528,6 +528,11 @@
     </entityParameter>
     <entityConsumer>
       <name>ObjectTrees</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectIds_param</name>
@@ -538,14 +543,14 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/objecttrees/children/objecttypes_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ObjectTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>LogHistories</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
@@ -554,14 +559,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>360DegreeObjects</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>360Degree_entity</entityName>
+        <fieldName>OrganisationObjects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -572,11 +577,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/360degreeobjects/children/objectstatus_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>360Degree_entity</entityName>
-        <fieldName>OrganisationObjects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ExcludeOrganisationsByPersonId</name>
@@ -587,6 +587,26 @@
     <entityProvider>
       <name>WithPersonIdFilter</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/withpersonidfilter/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>5a456b04-f0ca-4a45-9c1f-bdfdf074434a</name>
+          <entityName>Contact_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>a80c3db0-29db-433c-8f7c-4ebf6639ad6d</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>748a3083-89c2-41b4-a233-3fd5364396e9</name>
+          <entityName>Competition_entity</entityName>
+          <fieldName>Organisation</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
@@ -619,26 +639,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>5a456b04-f0ca-4a45-9c1f-bdfdf074434a</name>
-          <entityName>Contact_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>a80c3db0-29db-433c-8f7c-4ebf6639ad6d</name>
-          <entityName>Person_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>748a3083-89c2-41b4-a233-3fd5364396e9</name>
-          <entityName>Competition_entity</entityName>
-          <fieldName>Organisation</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityParameter>
       <name>AttributeId_param</name>
@@ -653,6 +653,20 @@
     <entityProvider>
       <name>WithAttribute</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/withattribute/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>10480df2-f0b6-4cb6-8bfb-4a468b994996</name>
+          <entityName>Competition_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>f368be61-1a15-449f-b37c-b1343069412c</name>
+          <entityName>Product_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>AttributeId_param</name>
@@ -684,20 +698,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>10480df2-f0b6-4cb6-8bfb-4a468b994996</name>
-          <entityName>Competition_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>f368be61-1a15-449f-b37c-b1343069412c</name>
-          <entityName>Product_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityParameter>
       <name>ExcludedContactIds_param</name>
@@ -706,6 +706,11 @@
     </entityParameter>
     <entityConsumer>
       <name>AttributeTree</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -716,11 +721,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>DATE_NEW</name>
@@ -772,6 +772,11 @@
     <entityConsumer>
       <name>AttributeConditions</name>
       <onValidation>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -794,14 +799,14 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/showempty_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>LinkedAppointments</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Appointment_entity</entityName>
+        <fieldName>LinkedAppointments</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>LinkedObjectId_param</name>
@@ -812,11 +817,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/linkedappointments/children/erroronpermissiondenied/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Appointment_entity</entityName>
-        <fieldName>LinkedAppointments</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Products</name>
@@ -961,9 +961,10 @@
         </entityActionField>
         <entityActionField>
           <name>startMarketingWorkflows</name>
-          <title>Start marketing workflow</title>
+          <title>Start marketing mailing</title>
           <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
+          <iconId>VAADIN:ENVELOPES</iconId>
         </entityActionField>
       </children>
     </entityActionGroup>
@@ -1093,6 +1094,11 @@
     </entityParameter>
     <entityConsumer>
       <name>SelfDuplicatesUncached</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Organisation_entity</entityName>
+        <fieldName>SelfDuplicates</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>DuplicateActionsControl_param</name>
@@ -1112,25 +1118,20 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Organisation_entity</entityName>
-        <fieldName>SelfDuplicates</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>CommRestrictions</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CommRestriction_Entity</entityName>
+        <fieldName>CommRestrictions</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/commrestrictions/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CommRestriction_Entity</entityName>
-        <fieldName>CommRestrictions</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>COMMRESTRICTIONS_ACTIVE</name>
@@ -1185,6 +1186,11 @@
     <entityConsumer>
       <name>Classifications</name>
       <refreshParent v="true" />
+      <dependency>
+        <name>dependency</name>
+        <entityName>Classification_entity</entityName>
+        <fieldName>Classifications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ClassificationType_param</name>
@@ -1202,11 +1208,6 @@
           <expose v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Classification_entity</entityName>
-        <fieldName>Classifications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>COUNT</name>
@@ -1227,6 +1228,14 @@
       <name>OrganisationsViaIndex</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisationsviaindex/documentation.adoc</documentation>
       <recordContainer>index</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>e60b8983-166d-4280-a1a5-f990ad77eeb9</name>
+          <entityName>AroundLocation_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
@@ -1269,14 +1278,6 @@
           <expose v="true" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>e60b8983-166d-4280-a1a5-f990ad77eeb9</name>
-          <entityName>AroundLocation_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityActionField>
       <name>openAroundLocation</name>
@@ -1347,17 +1348,17 @@
     </entityProvider>
     <entityConsumer>
       <name>DistrictResponsibles</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DistrictResponsible_entity</entityName>
+        <fieldName>OrganisationResponsibles</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>OrgUid_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DistrictResponsible_entity</entityName>
-        <fieldName>OrganisationResponsibles</fieldName>
-      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>FilterPreSet_param</name>
@@ -1366,6 +1367,14 @@
     <entityProvider>
       <name>NonselfDuplicates</name>
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/nonselfduplicates/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>2e410b9e-5ebc-48ea-9562-da386202d7e8</name>
+          <entityName>Duplicates_entity</entityName>
+          <fieldName>DuplicateOrganisationsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>AttributeKeyId_param</name>
@@ -1388,14 +1397,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>2e410b9e-5ebc-48ea-9562-da386202d7e8</name>
-          <entityName>Duplicates_entity</entityName>
-          <fieldName>DuplicateOrganisationsConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityActionGroup>
       <name>orgReportDispatch</name>
@@ -1412,6 +1413,11 @@
     </entityActionGroup>
     <entityConsumer>
       <name>AttributesFilter</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>FilterProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -1422,11 +1428,6 @@
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributesfilter/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>FilterProvider</fieldName>
-      </dependency>
     </entityConsumer>
   </entityFields>
   <recordContainers>
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 24d78e6da4..42f436e709 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -89,6 +89,11 @@
     </entityFieldGroup>
     <entityConsumer>
       <name>Activities</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -103,11 +108,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>CONTACTID</name>
@@ -118,6 +118,14 @@
       <name>OrganisationRelated</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/organisationrelated/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>41952879-c2f0-411f-8ca1-36c38914a629</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Contact</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -136,14 +144,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>41952879-c2f0-411f-8ca1-36c38914a629</name>
-          <entityName>Organisation_entity</entityName>
-          <fieldName>Contact</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityField>
       <name>PERSON_ID</name>
@@ -161,6 +161,11 @@
     </entityField>
     <entityConsumer>
       <name>PersAddresses</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>ContactAddresses</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>DefaultAddressId_param</name>
@@ -180,14 +185,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/replacestandardaddress_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>ContactAddresses</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Communications</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>AllCommunications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -205,29 +210,29 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communications/children/contactsmaincountry_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>AllCommunications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Organisations</name>
       <selectionMode>SINGLE</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Organisation_entity</entityName>
+        <fieldName>WithPersonIdFilter</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisations/children/excludeorganisationsbypersonid/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Organisation_entity</entityName>
-        <fieldName>WithPersonIdFilter</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Contracts</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Contract_entity</entityName>
+        <fieldName>Contracts</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -236,16 +241,16 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Contract_entity</entityName>
-        <fieldName>Contracts</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Pricelists</name>
       <state>AUTO</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Productprice_entity</entityName>
+        <fieldName>Productprices</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -254,11 +259,6 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Productprice_entity</entityName>
-        <fieldName>Productprices</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Genders</name>
@@ -313,6 +313,11 @@
     <entityConsumer>
       <name>Documents</name>
       <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentRowId_param</name>
@@ -327,11 +332,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/disallowcreate_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ContactId_param</name>
@@ -356,6 +356,14 @@
       <name>Contact</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/contact/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>f925c8e6-b096-4093-bd39-c9cd30a6a71a</name>
+          <entityName>Lead_entity</entityName>
+          <fieldName>ContactId</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>OrgId_param</name>
@@ -383,19 +391,16 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>f925c8e6-b096-4093-bd39-c9cd30a6a71a</name>
-          <entityName>Lead_entity</entityName>
-          <fieldName>ContactId</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>OrgAddresses</name>
       <state>READONLY</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAddressesByContact</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -407,11 +412,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAddressesByContact</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>STANDARD_EMAIL_COMMUNICATION</name>
@@ -428,6 +428,11 @@
     <entityConsumer>
       <name>PhoneCommunications</name>
       <description>Used for standard communication</description>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>PhoneCommunications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -437,15 +442,15 @@
                         Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>PhoneCommunications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>EmailCommunications</name>
       <description>Used for standard communication</description>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Communication_entity</entityName>
+        <fieldName>EmailCommunications</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -455,11 +460,6 @@
                         Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>EmailCommunications</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>ADDRESS_ID</name>
@@ -471,6 +471,11 @@
     </entityField>
     <entityConsumer>
       <name>KeywordGenders</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -478,11 +483,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Languages</name>
@@ -494,35 +494,40 @@
     </entityConsumer>
     <entityConsumer>
       <name>Offers</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Offer_entity</entityName>
-        <fieldName>ContactOffers</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Salutations</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>SalutationDistinct_entity</entityName>
+        <fieldName>Salutations</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>Language_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutations/children/language_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>SalutationDistinct_entity</entityName>
-        <fieldName>Salutations</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
       <onValidation>%aditoprj%/entity/Person_entity/entityfields/attributes/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -537,14 +542,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>SalutationTitles</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>SalutationTitleDistinct_entity</entityName>
+        <fieldName>SalutationTitles</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>Salutation_param</name>
@@ -555,15 +560,15 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/language_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>SalutationTitleDistinct_entity</entityName>
-        <fieldName>SalutationTitles</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
       <state>EDITABLE</state>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>RowId_param</name>
@@ -578,14 +583,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>ObjectTrees</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectIds_param</name>
@@ -596,11 +601,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objecttypes_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ObjectTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>STATUS</name>
@@ -612,20 +612,25 @@
     </entityField>
     <entityConsumer>
       <name>KeywordContactStates</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>ContactAndOrganisationAddresses</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>OrganisationAndContactAddresses</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -636,11 +641,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/organisationid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>OrganisationAndContactAddresses</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>DEPARTMENT</name>
@@ -663,6 +663,11 @@
     </entityField>
     <entityConsumer>
       <name>LogHistories</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
@@ -671,14 +676,14 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>OtherContacts</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Contact_entity</entityName>
+        <fieldName>PersonsContactsExceptOwn</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>OwnContactId_param</name>
@@ -689,11 +694,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/languagekey_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Contact_entity</entityName>
-        <fieldName>PersonsContactsExceptOwn</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>ORGANISATION_NAME</name>
@@ -706,6 +706,20 @@
     <entityProvider>
       <name>Contacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/contacts/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>c98da62f-d6b2-4ddb-9101-92e9a60abdfb</name>
+          <entityName>VisitPlanEmployeeWeek_entity</entityName>
+          <fieldName>Persons</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>f56b1378-138d-4f88-b9df-274adce9f90c</name>
+          <entityName>VisitPlanEntry_entity</entityName>
+          <fieldName>Persons</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -732,23 +746,14 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>c98da62f-d6b2-4ddb-9101-92e9a60abdfb</name>
-          <entityName>VisitPlanEmployeeWeek_entity</entityName>
-          <fieldName>Persons</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-        <entityDependency>
-          <name>f56b1378-138d-4f88-b9df-274adce9f90c</name>
-          <entityName>VisitPlanEntry_entity</entityName>
-          <fieldName>Persons</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>360DegreeObjects</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>360Degree_entity</entityName>
+        <fieldName>PersonObjects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -759,14 +764,14 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/360degreeobjects/children/objectstatus_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>360Degree_entity</entityName>
-        <fieldName>PersonObjects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>AttributeTree</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -781,11 +786,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/showdsgvomessage_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>DATE_NEW</name>
@@ -845,35 +845,40 @@
     </entityParameter>
     <entityConsumer>
       <name>CommRestrictions</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CommRestriction_Entity</entityName>
+        <fieldName>CommRestrictions</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/commrestrictions/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CommRestriction_Entity</entityName>
-        <fieldName>CommRestrictions</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>DSGVOEntries</name>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvoentries/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DSGVO_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvoentries/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DSGVO_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Appointments</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Appointment_entity</entityName>
+        <fieldName>LinkedAppointments</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>LinkedObjectId_param</name>
@@ -884,11 +889,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/appointments/children/erroronpermissiondenied/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Appointment_entity</entityName>
-        <fieldName>LinkedAppointments</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>OpenTasks</name>
@@ -925,6 +925,11 @@
     </entityField>
     <entityConsumer>
       <name>SelfDuplicatesUncached</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Person_entity</entityName>
+        <fieldName>SelfDuplicates</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>DuplicateActionsControl_param</name>
@@ -943,11 +948,6 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/selfduplicatesuncached/children/excludedcontactids_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Person_entity</entityName>
-        <fieldName>SelfDuplicates</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>LEAD_LEADID</name>
@@ -978,6 +978,14 @@
       <name>QuickEntryContacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/quickentrycontacts/documentation.adoc</documentation>
       <titlePlural>Additional Contacts</titlePlural>
+      <dependencies>
+        <entityDependency>
+          <name>6d137850-63ba-4be0-9ca5-1464e71d4f77</name>
+          <entityName>QuickEntry_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -1000,14 +1008,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>6d137850-63ba-4be0-9ca5-1464e71d4f77</name>
-          <entityName>QuickEntry_entity</entityName>
-          <fieldName>Contacts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityActionField>
       <name>openEditDefaultsView</name>
@@ -1103,9 +1103,10 @@
         </entityActionField>
         <entityActionField>
           <name>startMarketingWorkflows</name>
-          <title>Start marketing workflow</title>
+          <title>Start marketing mailing</title>
           <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/filterviewactiongroup/children/startmarketingworkflows/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
+          <iconId>VAADIN:ENVELOPES</iconId>
         </entityActionField>
       </children>
     </entityActionGroup>
@@ -1253,6 +1254,14 @@
     <entityProvider>
       <name>IdFilteredActiveContacts</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/idfilteredactivecontacts/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>511f3e4c-7493-4a31-a136-0ba80ba2ec85</name>
+          <entityName>Member_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ExcludedContactIds_param</name>
@@ -1287,14 +1296,6 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>511f3e4c-7493-4a31-a136-0ba80ba2ec85</name>
-          <entityName>Member_entity</entityName>
-          <fieldName>Contacts</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityField>
       <name>COUNT</name>
@@ -1329,21 +1330,29 @@
       <name>Districts</name>
       <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districts/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>District_entity</entityName>
+        <fieldName>ResponsibleDistricts</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>DistrictsByContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districts/children/districtsbycontactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>District_entity</entityName>
-        <fieldName>ResponsibleDistricts</fieldName>
-      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>NonselfDuplicates</name>
       <documentation>%aditoprj%/entity/Person_entity/entityfields/nonselfduplicates/documentation.adoc</documentation>
+      <dependencies>
+        <entityDependency>
+          <name>3a4352e2-9686-4c52-9d01-dbfad8c68ea7</name>
+          <entityName>Duplicates_entity</entityName>
+          <fieldName>DuplicatePersonsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
@@ -1366,30 +1375,22 @@
           <expose v="false" />
         </entityParameter>
       </children>
-      <dependencies>
-        <entityDependency>
-          <name>3a4352e2-9686-4c52-9d01-dbfad8c68ea7</name>
-          <entityName>Duplicates_entity</entityName>
-          <fieldName>DuplicatePersonsConsumer</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityConsumer>
       <name>DistrictResponsibles</name>
       <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js</stateProcess>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DistrictResponsible_entity</entityName>
+        <fieldName>OrganisationResponsibles</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>OrgUid_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>DistrictResponsible_entity</entityName>
-        <fieldName>OrganisationResponsibles</fieldName>
-      </dependency>
     </entityConsumer>
   </entityFields>
   <recordContainers>
diff --git a/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
index 4ac6aa0edf..e5749fe510 100644
--- a/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
+++ b/entity/WorkflowLauncher_entity/WorkflowLauncher_entity.aod
@@ -31,7 +31,6 @@
       <name>KEY</name>
       <title>Key</title>
       <consumer>WorkflowDefinitions</consumer>
-      <mandatory v="true" />
       <state>EDITABLE</state>
     </entityField>
     <entityActionField>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c75f227a0e..d68c0ad4d7 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -2795,6 +2795,10 @@
       <key>new</key>
       <value>neu</value>
     </entry>
+    <entry>
+      <key>Start marketing mailing</key>
+      <value>Marketing Mailing starten</value>
+    </entry>
     <entry>
       <key>Adviser</key>
       <value>Berater</value>
diff --git a/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
index 8f7e944084..8445a151ff 100644
--- a/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
+++ b/neonView/WorkflowLauncherEdit_view/WorkflowLauncherEdit_view.aod
@@ -23,10 +23,6 @@
           <name>14de7f56-44cf-4c9e-89a7-59f84e482fd9</name>
           <entityField>NAME</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>fd4252cf-e137-4068-a91b-732708f5ee1c</name>
-          <entityField>workflowTargets</entityField>
-        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <dynamicFormViewTemplate>
-- 
GitLab