From 44e5e017d819d406eda94f295e4754e6bd870eed Mon Sep 17 00:00:00 2001
From: "j.luginger" <j.luginger@JLuginger.aditosoftware.local>
Date: Fri, 22 Feb 2019 11:43:32 +0100
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1035025][SALUTATION]

---
 .../KeywordEntry_entity.aod                   |  6 +++
 entity/Language_entity/Language_entity.aod    |  6 +++
 entity/Person_entity/Person_entity.aod        | 22 ++++++++--
 .../gender/displayValueProcess.js             | 32 ++++++++++++++
 .../entityfields/gender/onValueChange.js      |  0
 .../entityfields/gender/valueProcess.js       | 19 ++++++++
 .../entityfields/salutation/onValidation.js   | 14 ++++++
 .../entityfields/salutation/onValueChange.js  |  0
 .../salutation/possibleItemsProcess.js        |  8 ++++
 .../title/possibleItemsProcess.js             | 13 ++++++
 .../Salutation_entity/Salutation_entity.aod   | 39 ++++++++++++++++-
 .../children/containername_param/code.js      |  2 +
 .../entityfields/salutationid/valueProcess.js |  7 +++
 .../expression.js                             |  5 +++
 .../sex.displayvalue/expression.js            |  5 +++
 neonContext/Salutation/Salutation.aod         | 10 +++++
 .../SalutationEdit_view.aod                   | 43 +++++++++++++++++++
 .../SalutationFilter_view.aod                 | 25 ++++++-----
 .../SalutationLookup_view.aod                 | 26 +++++++++++
 19 files changed, 265 insertions(+), 17 deletions(-)
 create mode 100644 entity/Person_entity/entityfields/gender/displayValueProcess.js
 create mode 100644 entity/Person_entity/entityfields/gender/onValueChange.js
 create mode 100644 entity/Person_entity/entityfields/gender/valueProcess.js
 create mode 100644 entity/Person_entity/entityfields/salutation/onValidation.js
 create mode 100644 entity/Person_entity/entityfields/salutation/onValueChange.js
 create mode 100644 entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
 create mode 100644 entity/Person_entity/entityfields/title/possibleItemsProcess.js
 create mode 100644 entity/Salutation_entity/entityfields/keywordgender/children/containername_param/code.js
 create mode 100644 entity/Salutation_entity/entityfields/salutationid/valueProcess.js
 create mode 100644 entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language_salutation.displayvalue/expression.js
 create mode 100644 entity/Salutation_entity/recordcontainers/db/recordfieldmappings/sex.displayvalue/expression.js
 create mode 100644 neonView/SalutationEdit_view/SalutationEdit_view.aod
 create mode 100644 neonView/SalutationLookup_view/SalutationLookup_view.aod

diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index 97125bb8039..29f70bb8a0b 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -247,6 +247,12 @@
           <fieldName>KeywordProbabilties</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>6e9de468-5c32-4a73-bcf9-988a9f9e943c</name>
+          <entityName>Salutation_entity</entityName>
+          <fieldName>KeywordGender</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Language_entity/Language_entity.aod b/entity/Language_entity/Language_entity.aod
index f6202420add..b597ea3e44d 100644
--- a/entity/Language_entity/Language_entity.aod
+++ b/entity/Language_entity/Language_entity.aod
@@ -62,6 +62,12 @@
           <fieldName>Languages</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>6b4c3907-9174-4a88-8f30-97b7702e4393</name>
+          <entityName>Salutation_entity</entityName>
+          <fieldName>Languages</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
   </entityFields>
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 85459cd4368..686f3b79597 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -23,6 +23,13 @@
       <name>GENDER</name>
       <title>Gender</title>
       <consumer>KeywordGenders</consumer>
+      <valueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Person_entity/entityfields/gender/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>LASTNAME</name>
@@ -42,10 +49,19 @@
     <entityField>
       <name>SALUTATION</name>
       <title>Salutation</title>
+      <possibleItemsProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js</possibleItemsProcess>
+      <onValidation>%aditoprj%/entity/Person_entity/entityfields/salutation/onValidation.js</onValidation>
+      <onValueChange>%aditoprj%/entity/Person_entity/entityfields/salutation/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>RECORD</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>TITLE</name>
       <title>Title</title>
+      <possibleItemsProcess>%aditoprj%/entity/Person_entity/entityfields/title/possibleItemsProcess.js</possibleItemsProcess>
     </entityField>
     <entityField>
       <name>TITLESUFFIX</name>
@@ -517,21 +533,21 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <onDBUpdate>%aditoprj%/entity/Person_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
       <linkInformation>
         <linkInformation>
-          <name>cb2de42b-de48-4543-91d6-8d00af5c5736</name>
+          <name>8c7dedf5-276a-4dff-a755-af9fd6e8a102</name>
           <tableName>PERSON</tableName>
           <primaryKey>PERSONID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>23fde8db-a3fe-421d-9e39-f6a0294e6883</name>
+          <name>c832aa10-3f49-4e3a-ac26-41cebecac7ee</name>
           <tableName>CONTACT</tableName>
           <primaryKey>CONTACTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>6766787e-d39b-4030-bd26-cacfcd80d386</name>
+          <name>1a59ebc4-5334-4e11-9d55-89fc5c5f6d46</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
diff --git a/entity/Person_entity/entityfields/gender/displayValueProcess.js b/entity/Person_entity/entityfields/gender/displayValueProcess.js
new file mode 100644
index 00000000000..1d84f0ff41f
--- /dev/null
+++ b/entity/Person_entity/entityfields/gender/displayValueProcess.js
@@ -0,0 +1,32 @@
+import("system.vars");
+import("Keyword_lib");
+import("system.logging");
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+
+var salutation = vars.get("$field.SALUTATION");
+
+
+if (salutation)
+{
+    var sex = db.cell("select SEX from SALUTATION where SALUTATION = '" + salutation + "'");
+    
+    if (sex)
+    {
+        var keyword = KeywordUtils.getViewValue("PersonGender", sex);
+    
+        logging.log("ii" + keyword)
+    
+        result.string(keyword)
+    }
+    
+}
+
+
+
+
+
+
+
diff --git a/entity/Person_entity/entityfields/gender/onValueChange.js b/entity/Person_entity/entityfields/gender/onValueChange.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/entity/Person_entity/entityfields/gender/valueProcess.js b/entity/Person_entity/entityfields/gender/valueProcess.js
new file mode 100644
index 00000000000..56881cd1bb4
--- /dev/null
+++ b/entity/Person_entity/entityfields/gender/valueProcess.js
@@ -0,0 +1,19 @@
+import("system.logging");
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+
+var salutation = vars.get("$field.SALUTATION")
+;
+
+logging.log("value process: " + salutation);
+
+if((vars.get("sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("sys.recordstate") == neon.OPERATINGSTATE_EDIT) && !vars.get("$field.GENDER") && vars.get("$field.SALUTATION"))
+{
+
+var sex = db.cell("select SEX from SALUTATION where SALUTATION = '" + salutation + "'");
+logging.log(sex)
+result.string( sex)
+
+}
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/salutation/onValidation.js b/entity/Person_entity/entityfields/salutation/onValidation.js
new file mode 100644
index 00000000000..25929f20e02
--- /dev/null
+++ b/entity/Person_entity/entityfields/salutation/onValidation.js
@@ -0,0 +1,14 @@
+//import("system.logging");
+//import("system.result");
+//import("system.db");
+//import("system.vars");
+//
+//var salutation = vars.get("$field.SALUTATION")
+//
+//if(!vars.get("$field.GENDER"))
+//    {
+//        
+//        var sex = db.cell("select SEX from SALUTATION where SALUTATION = '" + salutation + "'");
+//        vars.set("$field.GENDER", sex)
+//        
+//    }
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/salutation/onValueChange.js b/entity/Person_entity/entityfields/salutation/onValueChange.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js b/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
new file mode 100644
index 00000000000..c494b91dba1
--- /dev/null
+++ b/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.db");
+
+
+//var salutation = db.array(db.COLUMN, "select distinct SALUTATION from SALUTATION where SALUTATION is not NULL");
+var salutation2 = db.table("select distinct SALUTATION, SALUTATION from SALUTATION where SALUTATION is not NULL");
+
+result.object(salutation2);
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/title/possibleItemsProcess.js b/entity/Person_entity/entityfields/title/possibleItemsProcess.js
new file mode 100644
index 00000000000..b5456c01035
--- /dev/null
+++ b/entity/Person_entity/entityfields/title/possibleItemsProcess.js
@@ -0,0 +1,13 @@
+import("system.logging");
+import("system.vars");
+import("system.result");
+import("system.db");
+
+var salutation = vars.get("$field.SALUTATION");
+
+logging.log(salutation)
+
+var title = db.table("select TITLE, TITLE from SALUTATION where TITLE is not null and SALUTATION = '" +  salutation + "'");
+
+result.object(title);
+
diff --git a/entity/Salutation_entity/Salutation_entity.aod b/entity/Salutation_entity/Salutation_entity.aod
index 5ce491ed372..8cf9b343988 100644
--- a/entity/Salutation_entity/Salutation_entity.aod
+++ b/entity/Salutation_entity/Salutation_entity.aod
@@ -1,22 +1,26 @@
 <?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.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.0">
   <name>Salutation_entity</name>
+  <title>Anrede</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
+      <recordContainer>db</recordContainer>
     </entityProvider>
     <entityField>
       <name>SALUTATIONID</name>
+      <valueProcess>%aditoprj%/entity/Salutation_entity/entityfields/salutationid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>HEADLINE</name>
-      <title>Anrede im Briedkopf</title>
+      <title>Anrede im Briefkopf</title>
     </entityField>
     <entityField>
       <name>LANGUAGE_SALUTATION</name>
       <title>Sprache</title>
+      <consumer>Languages</consumer>
     </entityField>
     <entityField>
       <name>LETTERSALUTATION</name>
@@ -29,6 +33,7 @@
     <entityField>
       <name>SEX</name>
       <title>Geschlecht</title>
+      <consumer>KeywordGender</consumer>
     </entityField>
     <entityField>
       <name>SORT</name>
@@ -38,6 +43,30 @@
       <name>TITLE</name>
       <title>(Akademischer) Titel</title>
     </entityField>
+    <entityConsumer>
+      <name>Languages</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Language_entity</entityName>
+        <fieldName>LanguagesISO3Code</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordGender</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Salutation_entity/entityfields/keywordgender/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -85,6 +114,14 @@
           <name>TITLE.value</name>
           <recordfield>SALUTATION.TITLE</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>LANGUAGE_SALUTATION.displayValue</name>
+          <expression>%aditoprj%/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language_salutation.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>SEX.displayValue</name>
+          <expression>%aditoprj%/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/sex.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Salutation_entity/entityfields/keywordgender/children/containername_param/code.js b/entity/Salutation_entity/entityfields/keywordgender/children/containername_param/code.js
new file mode 100644
index 00000000000..bd69f66c718
--- /dev/null
+++ b/entity/Salutation_entity/entityfields/keywordgender/children/containername_param/code.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("PersonGender")
\ No newline at end of file
diff --git a/entity/Salutation_entity/entityfields/salutationid/valueProcess.js b/entity/Salutation_entity/entityfields/salutationid/valueProcess.js
new file mode 100644
index 00000000000..a2378ee42b3
--- /dev/null
+++ b/entity/Salutation_entity/entityfields/salutationid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language_salutation.displayvalue/expression.js b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language_salutation.displayvalue/expression.js
new file mode 100644
index 00000000000..4f510117adc
--- /dev/null
+++ b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language_salutation.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("SALUTATION.LANGUAGE");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/sex.displayvalue/expression.js b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/sex.displayvalue/expression.js
new file mode 100644
index 00000000000..3a982fc3e43
--- /dev/null
+++ b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/sex.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.PersonGender, "SALUTATION.SEX");
+result.string(sql);
diff --git a/neonContext/Salutation/Salutation.aod b/neonContext/Salutation/Salutation.aod
index a1150ee5c6d..0bdd2c696d6 100644
--- a/neonContext/Salutation/Salutation.aod
+++ b/neonContext/Salutation/Salutation.aod
@@ -4,11 +4,21 @@
   <title>Anrede</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterview>SalutationFilter_view</filterview>
+  <editview>SalutationEdit_view</editview>
+  <lookupview>SalutationLookup_view</lookupview>
   <entity>Salutation_entity</entity>
   <references>
     <neonViewReference>
       <name>e1ddbe88-af31-4860-9b9e-447282060ec2</name>
       <view>SalutationFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>2663038a-4f51-4152-bbb2-2c8aa552deee</name>
+      <view>SalutationEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>3bb3eb80-414e-4d1b-aec1-94b0fddb4a29</name>
+      <view>SalutationLookup_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/SalutationEdit_view/SalutationEdit_view.aod b/neonView/SalutationEdit_view/SalutationEdit_view.aod
new file mode 100644
index 00000000000..a9dbd96b546
--- /dev/null
+++ b/neonView/SalutationEdit_view/SalutationEdit_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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>SalutationEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>3414fd26-d0bf-42e0-b7c7-7ca505e2c70d</name>
+          <entityField>LANGUAGE_SALUTATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b56a3b42-346e-48f2-88f0-0e3c5f4b76fe</name>
+          <entityField>SALUTATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>39b0ef67-57f9-40ac-b759-e32c70f16ce0</name>
+          <entityField>TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7a6e5f1b-12c8-4d50-ad2f-bfd35fc94d5f</name>
+          <entityField>HEADLINE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>83feed8a-aca8-4c2a-bac3-fa3d5f9d21b0</name>
+          <entityField>LETTERSALUTATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3179d4c2-98dd-4edf-8bfb-462935bd8d50</name>
+          <entityField>SEX</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalutationFilter_view/SalutationFilter_view.aod b/neonView/SalutationFilter_view/SalutationFilter_view.aod
index 3259a47e21e..5ac48c5730a 100644
--- a/neonView/SalutationFilter_view/SalutationFilter_view.aod
+++ b/neonView/SalutationFilter_view/SalutationFilter_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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
   <name>SalutationFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
   <layout>
     <boxLayout>
       <name>layout</name>
@@ -13,8 +14,10 @@
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
-          <name>4a0e3f58-8d0c-4481-8ff5-2f1762460c21</name>
-          <entityField>SORT</entityField>
+          <name>b4108c6a-173d-4692-b9dc-a0c02de7d373</name>
+          <entityField>LANGUAGE_SALUTATION</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
         </neonTableColumn>
         <neonTableColumn>
           <name>cd9277bb-e254-41d2-bbfa-5d328e348405</name>
@@ -22,27 +25,23 @@
           <width v="75" />
         </neonTableColumn>
         <neonTableColumn>
-          <name>68809674-e641-4965-8977-20f6b3e1002a</name>
-          <entityField>SEX</entityField>
+          <name>229e8fa9-e4c3-4cab-b692-6695c4bff4aa</name>
+          <entityField>TITLE</entityField>
           <width v="75" />
         </neonTableColumn>
         <neonTableColumn>
-          <name>b4108c6a-173d-4692-b9dc-a0c02de7d373</name>
-          <entityField>LANGUAGE_SALUTATION</entityField>
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>229e8fa9-e4c3-4cab-b692-6695c4bff4aa</name>
-          <entityField>TITLE</entityField>
+          <name>dd21b360-22e4-448b-906d-059bc6c4033f</name>
+          <entityField>HEADLINE</entityField>
           <width v="75" />
         </neonTableColumn>
         <neonTableColumn>
           <name>5aa35e22-4ca3-4a65-a9de-44bd209248e8</name>
           <entityField>LETTERSALUTATION</entityField>
+          <width v="75" />
         </neonTableColumn>
         <neonTableColumn>
-          <name>dd21b360-22e4-448b-906d-059bc6c4033f</name>
-          <entityField>HEADLINE</entityField>
+          <name>68809674-e641-4965-8977-20f6b3e1002a</name>
+          <entityField>SEX</entityField>
           <width v="75" />
         </neonTableColumn>
       </columns>
diff --git a/neonView/SalutationLookup_view/SalutationLookup_view.aod b/neonView/SalutationLookup_view/SalutationLookup_view.aod
new file mode 100644
index 00000000000..bd33469ea0a
--- /dev/null
+++ b/neonView/SalutationLookup_view/SalutationLookup_view.aod
@@ -0,0 +1,26 @@
+<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>SalutationLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>fbf20ad5-75b0-4c5c-8fbf-a2c0369f2adc</name>
+          <entityField>SALUTATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ba27a68a-f353-4365-8127-e3a652137a10</name>
+          <entityField>TITLE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
-- 
GitLab