diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 5f9b83200ea31ba2deb905b3f072243a6700e462..0b59d9d16b7f8277a23685ed180c0d909dca16af 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -2163,6 +2163,20 @@
                 <title></title>
                 <description></description>
               </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></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index e0f3ed92821db08bdb9da90ba13345bc6b5a6331..8b73d4bd76473e24f1d52d3063e8a0480ca26f9e 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -222,12 +222,6 @@
           <fieldName>KeywordStates</fieldName>
           <isConsumer v="false" />
         </entityDependency>
-        <entityDependency>
-          <name>59546343-9f48-4437-a829-e7715e860a7d</name>
-          <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordWonLost</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
         <entityDependency>
           <name>e2041dea-8647-49e9-aacf-4481b75b76ff</name>
           <entityName>Stock_entity</entityName>
@@ -342,6 +336,12 @@
           <fieldName>KeywordStates</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>ef8b9397-6292-42de-806e-5aaf3e3db5f3</name>
+          <entityName>Salesproject_entity</entityName>
+          <fieldName>KeywordWonLost</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
         <entityDependency>
           <name>5d9e0e48-ece8-4b8e-ab72-beef77b5dcc3</name>
           <entityName>Task_entity</entityName>
@@ -367,6 +367,10 @@
           <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
           <triggerRecalculation v="false" />
         </entityParameter>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <expose v="true" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityField>
diff --git a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
index 1a47f13073f4a3f7b88a37b36d3d73cc49c20e20..4fb1ef2f327547a69afb2fe8d5e65cfa2dc1de00 100644
--- a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
@@ -3,7 +3,7 @@ import("system.db");
 import("system.result");
 import("Sql_lib");
 
-var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.containerName_param");
+var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.ContainerName_param");
 
 if (vars.get("$param.OnlyActives_param") == "true")
 {
diff --git a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
index f74ccc880368f744575f314c05ea84ce584aa475..1385a0beb1c239967198b45cf171764285948af0 100644
--- a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
+++ b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
@@ -23,6 +23,7 @@
       <name>REASON</name>
       <title>Reason</title>
       <consumer>KeywordWonLost</consumer>
+      <selectionMode>SINGLE</selectionMode>
       <onValidation>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/reason/onValidation.js</onValidation>
     </entityField>
     <entityField>
@@ -112,6 +113,7 @@
     <entityConsumer>
       <name>KeywordWonLost</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index ce9f78b18055f66e8201947798cf194ebf9d16a3..a2022eaa27d58328c677a3cbd998e940dbe4df20 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -157,6 +157,7 @@
       <name>SalesprojectCompetitions</name>
       <title>Competition</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
       <dependency>
         <name>dependency</name>
         <entityName>SalesprojectCompetition_entity</entityName>
@@ -419,6 +420,34 @@
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/days_notactive/valueProcess.js</valueProcess>
     </entityField>
+    <entityConsumer>
+      <name>KeywordWonLost</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>REASONS</name>
+      <title>Reason</title>
+      <consumer>KeywordWonLost</consumer>
+      <mandatoryProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js</mandatoryProcess>
+      <possibleItemsProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js</possibleItemsProcess>
+      <searchable v="true" />
+      <selectionMode>MULTI</selectionMode>
+      <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js</displayValueProcess>
+    </entityField>
     <entityProvider>
       <name>Salesprojects</name>
       <fieldType>DEPENDENCY_IN</fieldType>
@@ -456,14 +485,14 @@
       <onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
       <linkInformation>
         <linkInformation>
-          <name>4c96cc1e-fe7f-4f7f-93c8-5ceeb9e0a56b</name>
+          <name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name>
           <tableName>SALESPROJECT</tableName>
           <primaryKey>SALESPROJECTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>701d5159-3b17-4ba9-879f-fce34375411e</name>
+          <name>485af2f8-d91d-442f-89c7-c44915dda990</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
@@ -531,6 +560,14 @@
           <name>PHASE.displayValue</name>
           <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REASONS.displayValue</name>
+          <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REASONS.value</name>
+          <recordfield>SALESPROJECT.REASONS</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..cbd1c681941578fe0b1e5234bd3c80837eaaae0a
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..cfe4e46f28f8f4af7c16aeb186446ecad2a69a61
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js b/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd91d37f12b9508d588507452b43836d15db3321
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+
+value = KeywordUtils.getViewValue($KeywordRegistry.salesprojectWonLost(), vars.get("$field.REASONS"));
+result.string(value);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..086a5d36d49678a0e352341b792f65b46d756025
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474');
+result.string(res);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..47fe8c4030f97a558b35b9483b8e4c9765d02c1c
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js
@@ -0,0 +1,9 @@
+/*import("system.vars");
+import("system.result");
+import("system.db");
+
+var res = db.table("select KEYID, TITLE from AB_KEYWORD_ENTRY where CONTAINER = 'SalesprojectWonLost'");
+
+result.object(res);
+*/
+// TODO: multiple select
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..871eb8d93a8a009c0653f8863444cd2e6a3e2eba
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+if(vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474'))
+        result.string("EDITABLE");
+else
+        result.string("READONLY");
diff --git a/entity/Salesproject_entity/entityfields/reasons/valueProcess.js b/entity/Salesproject_entity/entityfields/reasons/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..33b4bb87b0471fc747abb0399b51f83efa12ed41
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+var state = vars.get("$field.STATE");
+if(state && (state != 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' && state != '130bb53a-a97e-455e-8f34-8d445e985474'))
+    result.string("");
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
index 46e16c3d687c541b66574fd13cfaa2c00fff2b87..47067fdfe5c683417c30b9d75a0d753324d8534d 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
@@ -1,5 +1,6 @@
 import("system.vars");
 import("Salesproject_lib");
 
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true);
\ No newline at end of file
+// TODO Milestone Value is still an Integer but has to be a String (varchar)
+// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
+// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
index 222926e7c12d2e84a2f409dd5b6698a8bbbf4c87..22b4360c61f2416e2c2e49525d2788c7f73ae377 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
@@ -1,5 +1,9 @@
+import("system.neon");
+import("system.translate");
 import("system.vars");
 import("Salesproject_lib");
+import("Sql_lib");
+import("system.db");
 
 var typeValue, fieldVar
 
@@ -11,12 +15,57 @@ vars.get("$local.changed").forEach(function(fieldName) {
             fieldVar = "$field.PHASE";
             break;
         case "SALESPROJECT.STATE":
+            // Milestone
             typeValue = 2;
             fieldVar = "$field.STATE";
+            
+            // set COMPETITION / OFFER to Lost
+            
+            // Lost
+            if ( vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd')
+            {
+                _updateDataToLost("OFFER", $KeywordRegistry.offerStatus());
+                _updateReasons();
+            }
+            // Order
+            else if(vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474')
+            {
+                _updateDataToLost("SALESPROJECT_COMPETITION", $KeywordRegistry.salesprojectCompetitionState()); 
+                _updateReasons();
+            }
+            else
+                _updateReasons("del");
             break;
     }
 
     if (typeValue) {
-        Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true);
+        // TODO Milestone Value is still an Integer but has to be a String (varchar)
+        // Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true);
     }
-});
\ No newline at end of file
+});
+
+neon.refresh()
+
+function _updateReasons(pDelete)
+{
+    var reasons = "";
+    if(!pDelete)
+        vars.getString("field.REASONS");
+    if(reasons != null)
+        db.updateData("SALESPROJECT", ["REASONS"], null, [reasons], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+}
+
+/**
+ * when project is state offer sets competitors to lost, when project is state lost sets offer to lost
+ * @param pTable {String}
+ * @param pContainer {String}
+ */
+function _updateDataToLost(pTable, pContainer )
+{
+     var statusLost = db.table(SqlCondition.begin()
+                .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pContainer)
+                .andPrepare("AB_KEYWORD_ENTRY.TITLE", "Lost")
+                .buildSql("select KEYID from AB_KEYWORD_ENTRY", "1=2"));
+    
+    db.updateData(pTable, ["STATUS"], null, statusLost, SqlCondition.equals(pTable + ".SALESPROJECT_ID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+}
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..c62430bd64ea66ed105355c5d58f78cfdf9a785c
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+import("Sql_lib");
+
+var value = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectWonLost(), "SALESPROJECT.REASONS");
+result.string(value);
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 916dcec7a1d76fdb3a1ab883ed43c1739f050397..0009fdbbe25ea41fc9825ee931b9265bece9a778 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -1779,6 +1779,7 @@
     </entry>
     <entry>
       <key>Product_technic</key>
+      <value>Produkt_Technik</value>
     </entry>
     <entry>
       <key>Moldova (Republic of)</key>
@@ -1810,9 +1811,11 @@
     </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>
@@ -1848,6 +1851,7 @@
     </entry>
     <entry>
       <key>Product_functionality</key>
+      <value>Produkt_Funktionalität</value>
     </entry>
     <entry>
       <key>Bulgaria</key>
@@ -2027,6 +2031,7 @@
     </entry>
     <entry>
       <key>Other_existing Customer</key>
+      <value>Sonstiges_Bestandskunde</value>
     </entry>
     <entry>
       <key>Uzbekistan</key>
@@ -2166,6 +2171,7 @@
     </entry>
     <entry>
       <key>Product_mobile use</key>
+      <value>Produkt_Mobiler Einsatz</value>
     </entry>
     <entry>
       <key>Samoa</key>
@@ -2229,6 +2235,7 @@
     </entry>
     <entry>
       <key>Company_size</key>
+      <value>Unternehmen_Größe</value>
     </entry>
     <entry>
       <key>Republic of Kosovo</key>
@@ -2264,6 +2271,7 @@
     </entry>
     <entry>
       <key>Product_industry knowhow</key>
+      <value>Produkt_Branchen KnowHow</value>
     </entry>
     <entry>
       <key>Progress</key>
@@ -2287,6 +2295,7 @@
     </entry>
     <entry>
       <key>Project_volume</key>
+      <value>Projekt_Volumen</value>
     </entry>
     <entry>
       <key>Ireland</key>
@@ -2538,6 +2547,7 @@
     </entry>
     <entry>
       <key>Project_reference</key>
+      <value>Projekt_Referenz</value>
     </entry>
     <entry>
       <key>Vanuatu</key>
@@ -2593,6 +2603,7 @@
     </entry>
     <entry>
       <key>Product_flexibility</key>
+      <value>Produkt_Flexibilität</value>
     </entry>
     <entry>
       <key>China</key>
@@ -2712,6 +2723,7 @@
     </entry>
     <entry>
       <key>Other_unknown</key>
+      <value>Sonstiges_Unbekannt</value>
     </entry>
     <entry>
       <key>Isle of Man</key>
@@ -2735,6 +2747,7 @@
     </entry>
     <entry>
       <key>Product_GUI</key>
+      <value>Produkt_GUI</value>
     </entry>
     <entry>
       <key>${GENDER_OTHER}</key>
@@ -2866,6 +2879,7 @@
     </entry>
     <entry>
       <key>Company_industry knowhow</key>
+      <value>Unternehmen_Branchen KnowHow</value>
     </entry>
     <entry>
       <key>Monaco</key>
diff --git a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
index f817929387fe6b9ebf3d867fa82128bcdbfbefbb..835768dd2859d518e198da621bd5ec29a627641b 100644
--- a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
+++ b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
@@ -36,6 +36,10 @@
           <name>426a20c1-5d79-417b-bab1-d3100fabb25b</name>
           <entityField>STATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>373ba27b-5f27-4c5d-865e-da50447124fa</name>
+          <entityField>REASONS</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>c00b2121-c44d-41a1-8c32-e2339b4dd234</name>
           <entityField>PHASE</entityField>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index 906709518339e9de27b23c495b7af609419e7939..9fe2b5c18fc4e276f0fb2c6b5c1020b96acdb7d3 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -30,6 +30,10 @@
           <name>4e3d7a37-f55b-4c18-9ba1-ab4ab0bbb442</name>
           <entityField>STATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>2867e662-b824-4bbf-8eaf-bbd34f44598e</name>
+          <entityField>REASONS</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>ff0dcd67-56ec-4db1-8c53-531f22fda716</name>
           <entityField>PHASE</entityField>
diff --git a/others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml b/others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a40ddf6bd75ea8cfbbe67b3da653db70d1cd58a3
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml
@@ -0,0 +1,9 @@
+<?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="m.hofmann" id="e148d42d-ba3c-4cb7-a414-f2da9a9f2ae0">
+		<addColumn tableName="SALESPROJECT">
+			<!-- space for 13 entries as Multistring encoded -->
+            <column name="REASONS" type="VARCHAR(498)"/>
+        </addColumn>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/changelog.xml b/others/db_changes/data_alias/basic/2019.2/changelog.xml
index 1de36b80a0f47f7b7a339fc98c0b7ecf6ba4fe6b..8a9244cf31b3e77737752445dda60b9024748262 100644
--- a/others/db_changes/data_alias/basic/2019.2/changelog.xml
+++ b/others/db_changes/data_alias/basic/2019.2/changelog.xml
@@ -99,4 +99,6 @@
     
     <include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
     <include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
+    
+    <include relativeToChangelogFile="true" file="Salesproject_add_column.xml"/>
 </databaseChangeLog>
diff --git a/others/db_changes/readme.adoc b/others/db_changes/readme.adoc
index e9bf2e4ff2a4a42d4252dc99c44fc2230751d85d..240dfacc5017f2e44ee53aa96535bc83ce96a311 100644
--- a/others/db_changes/readme.adoc
+++ b/others/db_changes/readme.adoc
@@ -31,7 +31,7 @@ So, that's where all our changes are located - but what about the changes _itsel
 As you can think of, they're stored in files located in the folders `struct` for DDL-stuff like _create_, _alter_ etc. 
 and `data` for DML-stuff like _insert_, _update_ etc. 
 
-If you want to know what to do add in these files take a look at the official liquibase documentation for futher information how to fill these XML files: http://www.liquibase.org/documentation/index.html
+If you want to know what to do add in these files take a look at the official liquibase documentation for further information how to fill these XML files: http://www.liquibase.org/documentation/index.html
 
 IMPORTANT: Always remember that you might have to define some rollback-entries. +
 This is e.g. not needed for create-entries but for others like insert.
diff --git a/others/guide/CodingGuidelines.adoc b/others/guide/CodingGuidelines.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..7fbd1bf92c5ecca6d93d8ffe076b933618cb861b
--- /dev/null
+++ b/others/guide/CodingGuidelines.adoc
@@ -0,0 +1,8 @@
+= Sample Document
+Doc Writer <doc.writer@asciidoc.org>; John Smith <john.smith@asciidoc.org>
+v1.0, 2013-05-20: First draft
+:title: Sample Document
+:tags: [document, example]
+
+
+Preamble...
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index e677069ded29df17642361879c8b9d2fa146cd85..195c85cb415d1ab8dfcd35cf22bfff512480a6bd 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1207,7 +1207,7 @@ SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol) {
 * 
 * @return {String} a SQL-expression (case-when-statement) that resolves the KEYID into the title -> as preparedSatement-elements
 */
-SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale)
+SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale) 
 {
     var keyData = pKeyValueArray;
     if (keyData.length == 0)