diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml
index 89f21df74c3819160a9939c1ee5db66dba382a5d..e8705ad413b54602f48a5926cdd39c4d41693664 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml
@@ -4,7 +4,7 @@
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="115495eb-dff4-436d-8114-b9a7644586bf"/>
 
-            <column name="KEYID" value="23d38486-4cce-41ce-a8df-164ad44df706"/>
+            <column name="KEYID" value="SALPROJSTATPOSTPONED"/>
             <column name="TITLE" value="Postponed"/>
             <column name="CONTAINER" value="SalesprojectState"/>
             <column name="SORTING" valueNumeric="2"/>
@@ -34,7 +34,7 @@
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="19997ffa-bfe3-4f6a-82f8-e862acb24655"/>
 
-            <column name="KEYID" value="SALPROJSTATLOST"/>
+            <column name="KEYID" value="SALPROJSTATORDER"/>
             <column name="TITLE" value="Order"/>
             <column name="CONTAINER" value="SalesprojectState"/>
             <column name="SORTING" valueNumeric="5"/>
@@ -44,50 +44,12 @@
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="d8e2cc64-cc61-440e-b0fc-3d5b45d75ba0"/>
 
-            <column name="KEYID" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/>
+            <column name="KEYID" value="SALPROJSTATLOST"/>
             <column name="TITLE" value="Lost"/>
             <column name="CONTAINER" value="SalesprojectState"/>
             <column name="SORTING" valueNumeric="6"/>
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="0"/>
         </insert>
-        <rollback>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="c6eeab06-cec9-42c3-8f11-468c7e602de4" />
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="115495eb-dff4-436d-8114-b9a7644586bf" />
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="9212a797-4470-4170-b4d1-330a5d991625" />
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="1f857be1-7de0-479f-bac8-59b22d48fe39" />
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="19997ffa-bfe3-4f6a-82f8-e862acb24655" />
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="d8e2cc64-cc61-440e-b0fc-3d5b45d75ba0" />
-                </whereParams>
-            </delete>
-        </rollback>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
index 931bd328935f7899110b370fb8c0bdcd454f8ea8..2f63980104102d820e5ab1b1caa9f23167dde818 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
@@ -10,7 +10,7 @@
             <where>STATE_OLD = 1</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="23d38486-4cce-41ce-a8df-164ad44df706"/>
+            <column name="STATE" value="SALPROJSTATPOSTPONED"/>
             <where>STATE_OLD = 2</where>
         </update>
         <update tableName="SALESPROJECT">
@@ -22,45 +22,13 @@
             <where>STATE_OLD = 4</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATLOST"/>
+            <column name="STATE" value="SALPROJSTATORDER"/>
             <where>STATE_OLD = 5</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/>
+            <column name="STATE" value="SALPROJSTATLOST"/>
             <where>STATE_OLD = 6</where>
         </update>
         <dropColumn tableName="SALESPROJECT" columnName="STATE_OLD"/>
- 
-        <rollback>
-            <renameColumn newColumnName="STATE_OLD" oldColumnName="STATE" columnDataType="CHAR(36)" tableName="SALESPROJECT"/>
-            <addColumn tableName="SALESPROJECT">
-                <column name="STATE" type="INTEGER"/>
-            </addColumn>   
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="1"/>
-                <where>STATE_OLD = 'SALPROJSTATOPEN'</where>
-            </update>
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="2"/>
-                <where>STATE_OLD = '23d38486-4cce-41ce-a8df-164ad44df706'</where>
-            </update>
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="3"/>
-                <where>STATE_OLD = 'SALPROJSTATABORT'</where>
-            </update>
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="4"/>
-                <where>STATE_OLD = 'SALPROJSTATPARTIAL'</where>
-            </update>
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="5"/>
-                <where>STATE_OLD = 'SALPROJSTATLOST'</where>
-            </update>
-            <update tableName="SALESPROJECT">
-                <column name="STATE" valueNumeric="6"/>
-                <where>STATE_OLD = 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd'</where>
-            </update>
-            <dropColumn tableName="SALESPROJECT" columnName="STATE_OLD"/>
-        </rollback>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
index 086a5d36d49678a0e352341b792f65b46d756025..e04fe64bb9f9475704a97e61647eef1cda571d94 100644
--- a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
+++ b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
@@ -1,6 +1,7 @@
 import("system.result");
 import("system.vars");
+import("KeywordRegistry_basic");
 
 // 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');
+var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost());
 result.string(res);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
index 5e5536334c4ff87b845fff9f55a37d1e1dc06281..666b25be556fdf618dc8fc730751b30d5b1ce085 100644
--- a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
+++ b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
@@ -1,8 +1,9 @@
 import("system.result");
 import("system.vars");
+import("KeywordRegistry_basic");
 
 // 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'))
+if(vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost()))
         result.string("EDITABLE");
 else
         result.string("INVISIBLE");
diff --git a/entity/Salesproject_entity/entityfields/state/onValueChange.js b/entity/Salesproject_entity/entityfields/state/onValueChange.js
index fd8dae9d669334bc145bbc55b693b70a55e63726..515f51620ca73b2e70eb7da43ae31c18825586a1 100644
--- a/entity/Salesproject_entity/entityfields/state/onValueChange.js
+++ b/entity/Salesproject_entity/entityfields/state/onValueChange.js
@@ -12,7 +12,7 @@ if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
     var state = vars.get("$field.STATE");
 
     // Postponed
-    if (state == '23d38486-4cce-41ce-a8df-164ad44df706')
+    if (state == $KeywordRegistry.salesprojectState$postponed())
     {
         var stateName = KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), state);
         var clearForecast = question.askYesNo(translate.withArguments("Clear forecast and set state to '%0'?", [stateName]), translate.withArguments("Would you really like to clear the forecast and set the state to '%0'?" + "\n" + translate.text("This cannot be undone!"), [stateName]), false);
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
index 67dfadce51729efc98e31f67a5a9892eb264710e..775a8af9d388163a8d1208e001d41893eaa4447d 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
@@ -30,7 +30,7 @@ vars.get("$local.changed").forEach(function(fieldName) {
             // set COMPETITION / OFFER to Lost
             
             // Lost
-            if (state == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd')
+            if (state == $KeywordRegistry.salesprojectState$lost())
             {
                 // set all offers of the salesproject to lost
                 db.updateData("OFFER", ["STATUS"], null, ["a5682630-01ae-4769-8f03-47dc1db44da4"], SqlCondition.equals("OFFER.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2"));
@@ -38,7 +38,7 @@ vars.get("$local.changed").forEach(function(fieldName) {
                 clearReason = false;
             }
             // Order
-            else if (state == '130bb53a-a97e-455e-8f34-8d445e985474')
+            else if (state == $KeywordRegistry.salesprojectState$order())
             {
                 // set all competitions of the salesproject to lost
                 db.updateData("COMPETITION", ["STATUS"], null, ["ff73172c-8517-4b6e-98cb-43aebacd9af1"], SqlCondition.equals("COMPETITION.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2"));
@@ -46,7 +46,7 @@ vars.get("$local.changed").forEach(function(fieldName) {
                 clearReason = false;
             }
             // Postponed
-            else if (state == '23d38486-4cce-41ce-a8df-164ad44df706')
+            else if (state == $KeywordRegistry.salesprojectState$postponed())
             {
                 // do not notify as the user just got a question, if he really would like to clear the forecast
                 needToUpdateForecast = false;
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index af182d86ab01f75543a9cb21ba7a69e81f56050d..04e5cd8b2c71d90a7ef81d3f923f792e3a588995 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -396,7 +396,7 @@ ContextUtils.getSelectMap  = function()
                                             .setContactIdField("CONTACT_ID")
                                             .setCreationDateField("STARTDATE")
                                             .setStateField("STATE")
-                                            .setActiveStates(["483bcaeb-1e5b-4772-b54e-7d7d8aa65712", "23d38486-4cce-41ce-a8df-164ad44df706"])
+                                            .setActiveStates([$KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectState$postponed()])
             ,"Contract": ContextSelector.create("CONTRACT", "CONTRACTID")
                                         .setTitleExpression(maskingUtils.concat([
                                                                 KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACTTYPE"),
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index 43e114f5ecb0b32cb9fe237ae84ddf6cf2d7ef8b..0de7e18283759d5840cebabdf51bf6df63134f22 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -64,6 +64,12 @@ $KeywordRegistry.quantityUnit$pieces = function(){return "QUANTITYPIECES";};
 $KeywordRegistry.MemberRole = function(){return "MemberRole";};
 $KeywordRegistry.salesprojectSource = function(){return "SalesprojectSource";};
 $KeywordRegistry.salesorderState = function(){return "SalesorderState";};
+$KeywordRegistry.salesorderState$open = function(){return "SALPROJSTATOPEN                     ";};
+$KeywordRegistry.salesorderState$postponed = function(){return "SALPROJSTATPOSTPONED                ";};
+$KeywordRegistry.salesorderState$aborted = function(){return "SALPROJSTATABORT                    ";};
+$KeywordRegistry.salesorderState$partialOrder = function(){return "SALPROJSTATPARTIAL                  ";};
+$KeywordRegistry.salesorderState$order = function(){return "SALPROJSTATORDER                    ";};
+$KeywordRegistry.salesorderState$lost = function(){return "SALPROJSTATLOST                     ";};
 $KeywordRegistry.salesprojectWonLost = function(){return "SalesprojectWonLost";};
 $KeywordRegistry.stockWarehouse = function(){return "StockWarehouse";};
 $KeywordRegistry.salesprojectProbability = function(){return "SalesprojectProbability";};