From 5a64008ef0477aa37b7577305e13a182fef39b84 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 11 Feb 2019 08:45:20 +0100
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201032312][Keywords=20f=C3=BCr=20bestehende=20Module=20anlegen?=
 =?UTF-8?q?]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 aliasDefinition/Data_alias/Data_alias.aod     | 48 +++++-----
 .../children/containername_param/code.js      |  3 +-
 .../direction.displayvalue/expression.js      |  2 +-
 .../children/containername_param/code.js      |  4 +-
 .../children/containername_param/code.js      |  4 +-
 .../children/containername_param/code.js      |  4 +-
 .../contractstatus.displayvalue/expression.js |  2 +-
 .../contracttype.displayvalue/expression.js   |  2 +-
 .../payment.displayvalue/expression.js        |  2 +-
 entity/Keyword_entity/Keyword_entity.aod      | 36 ++++++++
 entity/Offer_entity/Offer_entity.aod          | 21 ++++-
 .../entityfields/image/valueProcess.js        |  2 +-
 .../children/containername_param/code.js      |  4 +-
 .../children/containername_param/code.js      |  4 +
 .../status/possibleItemsProcess.js            | 16 ----
 .../currency.displayvalue/expression.js       |  2 +-
 .../status.displayvalue/expression.js         |  5 +
 entity/Offeritem_entity/Offeritem_entity.aod  | 21 ++++-
 .../groupcodeid/possibleItemsProcess.js       |  7 --
 .../children/containername_param/code.js      |  4 +
 .../groupcodeid.displayvalue/expression.js    |  5 +
 .../children/containername_param/code.js      |  4 +-
 .../currency.displayvalue/expression.js       |  2 +-
 entity/Orderitem_entity/Orderitem_entity.aod  | 21 ++++-
 .../groupcodeid/possibleItemsProcess.js       |  7 --
 .../children/containername_param/code.js      |  4 +
 .../groupcodeid.displayvalue/expression.js    |  5 +
 .../Organisation_entity.aod                   | 22 ++++-
 .../children/containername_param/code.js      |  4 +
 .../children/containername_param/code.js      |  3 +-
 .../children/containername_param/code.js      |  4 +-
 .../entityfields/type/possibleItemsProcess.js |  7 --
 .../status.displayvalue/expression.js         |  2 +-
 .../type.displayvalue/expression.js           |  5 +
 entity/Product_entity/Product_entity.aod      | 21 ++++-
 .../groupcodeid/possibleItemsProcess.js       |  7 --
 .../children/containername_param/code.js      |  4 +
 .../groupcodeid.displayvalue/expression.js    |  5 +
 .../children/containername_param/code.js      |  4 +-
 .../currency.displayvalue/expression.js       |  2 +-
 .../SalesprojectForecast_entity.aod           | 21 ++++-
 .../groupcode/possibleItemsProcess.js         |  7 --
 .../children/containername_param/code.js      |  4 +
 .../groupcode.displayvalue/expression.js      |  5 +
 .../data/AditoBasic/ab_keyword_entry.xml      |  2 +-
 ...roupcode.xml => init_ProductGroupcode.xml} | 12 +--
 .../data/example_offer/OFFER_1000.xml         | 16 ++--
 .../data/example_offer/OFFER_1001.xml         |  4 +-
 .../data/example_offer/OFFER_1002.xml         |  4 +-
 .../data/example_offer/OFFER_1003.xml         |  4 +-
 .../data/example_offer/OFFER_1004.xml         |  4 +-
 .../data_alias/data/example_org/ORG_gfk.xml   |  2 +-
 .../data/example_org/ORG_privat.xml           |  2 +-
 .../data/example_product/PRODUCT_42154311.xml | 14 +--
 .../example_salesorder/SALESORDER_1000.xml    | 14 +--
 .../example_salesorder/SALESORDER_1001.xml    |  2 +-
 .../example_salesorder/SALESORDER_1002.xml    |  2 +-
 .../example_salesorder/SALESORDER_1003.xml    |  2 +-
 .../example_salesorder/SALESORDER_1004.xml    |  2 +-
 .../example_salesproject/SALESPROJECT_gfk.xml |  8 +-
 .../data_alias/struct/create_offer.xml        |  2 +-
 .../data_alias/struct/create_offeritem.xml    |  2 +-
 .../data_alias/struct/create_org.xml          |  4 +-
 .../data_alias/struct/create_product.xml      |  2 +-
 .../struct/create_salesorderitem.xml          |  2 +-
 .../struct/create_salesproject_forecast.xml   |  2 +-
 process/Keyword_lib/process.js                | 91 ++++++-------------
 67 files changed, 352 insertions(+), 215 deletions(-)
 create mode 100644 entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/code.js
 delete mode 100644 entity/Offer_entity/entityfields/status/possibleItemsProcess.js
 create mode 100644 entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
 delete mode 100644 entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
 create mode 100644 entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
 create mode 100644 entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
 delete mode 100644 entity/Orderitem_entity/entityfields/groupcodeid/possibleItemsProcess.js
 create mode 100644 entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
 create mode 100644 entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
 create mode 100644 entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/code.js
 delete mode 100644 entity/Organisation_entity/entityfields/type/possibleItemsProcess.js
 create mode 100644 entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
 delete mode 100644 entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
 create mode 100644 entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
 create mode 100644 entity/Product_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
 delete mode 100644 entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
 create mode 100644 entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
 create mode 100644 entity/SalesprojectForecast_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js
 rename others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/{init_OfferitemGroupcode.xml => init_ProductGroupcode.xml} (92%)

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index d435d6e3ae..d751bf7656 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -88,8 +88,8 @@
                 <name>TYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -728,8 +728,8 @@
                 <name>PAYMENT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -741,8 +741,8 @@
                 <name>CONTRACTSTATUS</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -793,8 +793,8 @@
                 <name>CONTRACTTYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -942,8 +942,8 @@
                 <name>GROUPCODEID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -1139,8 +1139,8 @@
                 <name>CURRENCY</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
@@ -1554,8 +1554,8 @@
                 <name>CURRENCY</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -1658,8 +1658,8 @@
                 <name>STATUS</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -1914,8 +1914,8 @@
                 <name>GROUPCODEID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -2395,8 +2395,8 @@
                 <name>GROUPCODE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -3041,8 +3041,8 @@
                 <name>CURRENCY</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -3382,8 +3382,8 @@
                 <name>GROUPCODEID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
diff --git a/entity/Activity_entity/entityfields/keyworddirections/children/containername_param/code.js b/entity/Activity_entity/entityfields/keyworddirections/children/containername_param/code.js
index a61ca767b2..8cfc283099 100644
--- a/entity/Activity_entity/entityfields/keyworddirections/children/containername_param/code.js
+++ b/entity/Activity_entity/entityfields/keyworddirections/children/containername_param/code.js
@@ -1,3 +1,4 @@
 import("system.result");
+import("Keyword_lib");
 
-result.string("ActivityDirection");
\ No newline at end of file
+result.string($KeywordRegistry.get.ActivityDirection);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/direction.displayvalue/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/direction.displayvalue/expression.js
index dbba57a01b..1c43b5f520 100644
--- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/direction.displayvalue/expression.js
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/direction.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("ActivityDirection", "ACTIVITY.DIRECTION");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ActivityDirection, "ACTIVITY.DIRECTION");
 result.string(sql);
diff --git a/entity/Contract_entity/entityfields/contractpayments/children/containername_param/code.js b/entity/Contract_entity/entityfields/contractpayments/children/containername_param/code.js
index c34418d5c8..54ff29d035 100644
--- a/entity/Contract_entity/entityfields/contractpayments/children/containername_param/code.js
+++ b/entity/Contract_entity/entityfields/contractpayments/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("ContractPayment");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ContractPayment);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractstates/children/containername_param/code.js b/entity/Contract_entity/entityfields/contractstates/children/containername_param/code.js
index 11ada9125d..54ff29d035 100644
--- a/entity/Contract_entity/entityfields/contractstates/children/containername_param/code.js
+++ b/entity/Contract_entity/entityfields/contractstates/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("ContractStatus");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ContractPayment);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contracttypes/children/containername_param/code.js b/entity/Contract_entity/entityfields/contracttypes/children/containername_param/code.js
index c7495149c8..0fe52ea7a1 100644
--- a/entity/Contract_entity/entityfields/contracttypes/children/containername_param/code.js
+++ b/entity/Contract_entity/entityfields/contracttypes/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("ContractType");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ContractType);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js
index 07c629a28a..d84fac9571 100644
--- a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js
+++ b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contractstatus.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("ContractStatus", "CONTRACT.CONTRACTSTATUS");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ContractStatus, "CONTRACT.CONTRACTSTATUS");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js
index b436148a9b..5f5e46ae86 100644
--- a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js
+++ b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contracttype.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACT.CONTRACTTYPE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ContractType, "CONTRACT.CONTRACTTYPE");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js
index 48711d1d4a..51b49d2305 100644
--- a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js
+++ b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/payment.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("ContractPayment", "CONTRACT.PAYMENT");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ContractPayment, "CONTRACT.PAYMENT");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Keyword_entity/Keyword_entity.aod b/entity/Keyword_entity/Keyword_entity.aod
index 92a3e27b2b..be24a47a6b 100644
--- a/entity/Keyword_entity/Keyword_entity.aod
+++ b/entity/Keyword_entity/Keyword_entity.aod
@@ -118,6 +118,42 @@
           <fieldName>KeywordCurrencies</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>f5dcbf08-3765-4a9d-8b42-cb1219c87f57</name>
+          <entityName>Offeritem_entity</entityName>
+          <fieldName>KeywordProductGroupcodes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>53bcaa07-94eb-4e81-9e9e-c5748156dad5</name>
+          <entityName>Orderitem_entity</entityName>
+          <fieldName>KeywordProductGroupcodes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>c404b010-1634-4160-adca-7edf1535ee26</name>
+          <entityName>Product_entity</entityName>
+          <fieldName>KeywordProductGroupcodes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>3575fdd7-3dd6-4318-b0d2-32d1df821076</name>
+          <entityName>SalesprojectForecast_entity</entityName>
+          <fieldName>KeywordProductGroupcodes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>5a21cbe2-4eb0-4968-80fa-b98a64599230</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>KeywordOfferStates</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>8696e561-b263-4c7c-b753-c5da44b48055</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>KeywordOrganisationTypes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 4c96e366bc..77e750c984 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -70,7 +70,7 @@
     <entityField>
       <name>STATUS</name>
       <title>Status</title>
-      <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/status/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>KeywordOfferStates</consumer>
       <state>EDITABLE</state>
     </entityField>
     <entityField>
@@ -332,6 +332,21 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>KeywordOfferStates</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -444,6 +459,10 @@
           <name>CURRENCY.displayValue</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Offer_entity/entityfields/image/valueProcess.js b/entity/Offer_entity/entityfields/image/valueProcess.js
index f7a107a372..4705d8645a 100644
--- a/entity/Offer_entity/entityfields/image/valueProcess.js
+++ b/entity/Offer_entity/entityfields/image/valueProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-result.string("TEXT:" + KeywordUtils.getViewValue("OFFER.STATUS", vars.getString("$field.STATUS")) );
\ No newline at end of file
+result.string("TEXT:" + KeywordUtils.getViewValue($KeywordRegistry.get.OfferStatus, vars.getString("$field.STATUS")) );
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/code.js b/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/code.js
index 84063b8ce3..0ef9cd2565 100644
--- a/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/code.js
+++ b/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("Currency");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.Currency);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/code.js b/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/code.js
new file mode 100644
index 0000000000..86f885ef0b
--- /dev/null
+++ b/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.OfferStatus);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js b/entity/Offer_entity/entityfields/status/possibleItemsProcess.js
deleted file mode 100644
index 4b16d722ad..0000000000
--- a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("system.vars");
-import("Offer_lib");
-
-var items = KeywordUtils.getStandardArray("OFFER.STATUS");
-
-
-if (!OfferUtils.isEditable(vars.get("$field.STATUS")))
-{
-    items = items.filter(function(pItem) 
-    {
-        return !OfferUtils.isEditable(pItem[0]);
-    });
-}
-result.object(items);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
index c677c3247f..13bbda5570 100644
--- a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("Currency", "OFFER.CURRENCY");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.Currency, "OFFER.CURRENCY");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
new file mode 100644
index 0000000000..e6d5b0c724
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.OfferStatus, "OFFER.STATUS");
+result.string(sql);
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index 1de272d816..c3be284bd5 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -20,7 +20,7 @@
     <entityField>
       <name>GROUPCODEID</name>
       <title>Commodity group</title>
-      <possibleItemsProcess>%aditoprj%/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>KeywordProductGroupcodes</consumer>
       <state>READONLY</state>
     </entityField>
     <entityField>
@@ -148,6 +148,21 @@
       <contentType>LONG_TEXT</contentType>
       <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/info/valueProcess.js</valueProcess>
     </entityField>
+    <entityConsumer>
+      <name>KeywordProductGroupcodes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -229,6 +244,10 @@
           <name>INFO.value</name>
           <recordfield>OFFERITEM.INFO</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>GROUPCODEID.displayValue</name>
+          <expression>%aditoprj%/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
deleted file mode 100644
index 8828ea3822..0000000000
--- a/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var items;
-
-items = KeywordUtils.getStandardArray("GROUPCODE");
-result.object(items);
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js b/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
new file mode 100644
index 0000000000..d7218938fa
--- /dev/null
+++ b/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ProductGroupcode);
\ No newline at end of file
diff --git a/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
new file mode 100644
index 0000000000..55e2a9c3ac
--- /dev/null
+++ b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ProductGroupcode, "OFFERITEM.GROUPCODEID");
+result.string(sql);
diff --git a/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/code.js b/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/code.js
index 84063b8ce3..0ef9cd2565 100644
--- a/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/code.js
+++ b/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("Currency");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.Currency);
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js b/entity/Order_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
index 202e231369..260c4da2e2 100644
--- a/entity/Order_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
+++ b/entity/Order_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("Currency", "SALESORDER.CURRENCY");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.Currency, "SALESORDER.CURRENCY");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod
index a968a11607..6fa012d218 100644
--- a/entity/Orderitem_entity/Orderitem_entity.aod
+++ b/entity/Orderitem_entity/Orderitem_entity.aod
@@ -21,7 +21,7 @@
     <entityField>
       <name>GROUPCODEID</name>
       <title>Commodity group</title>
-      <possibleItemsProcess>%aditoprj%/entity/Orderitem_entity/entityfields/groupcodeid/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>KeywordProductGroupcodes</consumer>
       <state>READONLY</state>
     </entityField>
     <entityField>
@@ -152,6 +152,21 @@
       <name>INFO</name>
       <title>Note</title>
     </entityField>
+    <entityConsumer>
+      <name>KeywordProductGroupcodes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -233,6 +248,10 @@
           <name>VAT.value</name>
           <recordfield>SALESORDERITEM.VAT</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>GROUPCODEID.displayValue</name>
+          <expression>%aditoprj%/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Orderitem_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Orderitem_entity/entityfields/groupcodeid/possibleItemsProcess.js
deleted file mode 100644
index 8828ea3822..0000000000
--- a/entity/Orderitem_entity/entityfields/groupcodeid/possibleItemsProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var items;
-
-items = KeywordUtils.getStandardArray("GROUPCODE");
-result.object(items);
\ No newline at end of file
diff --git a/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js b/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
new file mode 100644
index 0000000000..d7218938fa
--- /dev/null
+++ b/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ProductGroupcode);
\ No newline at end of file
diff --git a/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
new file mode 100644
index 0000000000..c9ff4dc3ee
--- /dev/null
+++ b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ProductGroupcode, "SALESORDERITEM.GROUPCODEID");
+result.string(sql);
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index f20931628d..8e37869ecd 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -51,13 +51,12 @@
       <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordRelationStates</consumer>
-      <contentType>TEXT</contentType>
       <searchable v="false" />
     </entityField>
     <entityField>
       <name>TYPE</name>
       <title>Type</title>
-      <possibleItemsProcess>%aditoprj%/entity/Organisation_entity/entityfields/type/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>KeywordOrganisationTypes</consumer>
       <searchable v="false" />
     </entityField>
     <entityConsumer>
@@ -443,6 +442,21 @@ Usually this is used for filtering COMM-entires by a specified contact or creati
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>KeywordOrganisationTypes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -534,6 +548,10 @@ Usually this is used for filtering COMM-entires by a specified contact or creati
           <name>STATUS.displayValue</name>
           <expression>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TYPE.displayValue</name>
+          <expression>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/code.js b/entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/code.js
new file mode 100644
index 0000000000..06fbc3ebbb
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.OrganisationType);
diff --git a/entity/Organisation_entity/entityfields/keywordrelationstates/children/containername_param/code.js b/entity/Organisation_entity/entityfields/keywordrelationstates/children/containername_param/code.js
index 5d02d3d16c..90bd293148 100644
--- a/entity/Organisation_entity/entityfields/keywordrelationstates/children/containername_param/code.js
+++ b/entity/Organisation_entity/entityfields/keywordrelationstates/children/containername_param/code.js
@@ -1,3 +1,4 @@
 import("system.result");
+import("Keyword_lib");
 
-result.string("RelationStatus");
\ No newline at end of file
+result.string($KeywordRegistry.get.RelationStatus);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/keywordrelationstatus_dfo/children/containername_param/code.js b/entity/Organisation_entity/entityfields/keywordrelationstatus_dfo/children/containername_param/code.js
index 4de51f9166..90bd293148 100644
--- a/entity/Organisation_entity/entityfields/keywordrelationstatus_dfo/children/containername_param/code.js
+++ b/entity/Organisation_entity/entityfields/keywordrelationstatus_dfo/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("RelationStatus");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.RelationStatus);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/type/possibleItemsProcess.js b/entity/Organisation_entity/entityfields/type/possibleItemsProcess.js
deleted file mode 100644
index 4d7899f0d5..0000000000
--- a/entity/Organisation_entity/entityfields/type/possibleItemsProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var items;
-
-items = KeywordUtils.getStandardArray("ORG.TYPE");
-result.object(items);
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
index c921dc2007..ef80c8f700 100644
--- a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("RelationStatus", "RELATION.STATUS");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.RelationStatus, "RELATION.STATUS");
 result.string(sql);
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
new file mode 100644
index 0000000000..7f6a3ceb65
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.OrganisationType, "ORG.TYPE");
+result.string(sql);
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index fdba153893..7cccaceb0c 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -18,8 +18,8 @@
     <entityField>
       <name>GROUPCODEID</name>
       <title>Product group</title>
+      <consumer>KeywordProductGroupcodes</consumer>
       <mandatory v="true" />
-      <possibleItemsProcess>%aditoprj%/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js</possibleItemsProcess>
     </entityField>
     <entityField>
       <name>MINSTOCK</name>
@@ -232,6 +232,21 @@
     <entityField>
       <name>ORG_NAME</name>
     </entityField>
+    <entityConsumer>
+      <name>KeywordProductGroupcodes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -329,6 +344,10 @@
           <name>INFO.value</name>
           <recordfield>PRODUCT.INFO</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>GROUPCODEID.displayValue</name>
+          <expression>%aditoprj%/entity/Product_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
deleted file mode 100644
index 8828ea3822..0000000000
--- a/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var items;
-
-items = KeywordUtils.getStandardArray("GROUPCODE");
-result.object(items);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js b/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
new file mode 100644
index 0000000000..d7218938fa
--- /dev/null
+++ b/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ProductGroupcode);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js b/entity/Product_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
new file mode 100644
index 0000000000..f2dc803438
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/recordfieldmappings/groupcodeid.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ProductGroupcode, "PRODUCT.GROUPCODEID");
+result.string(sql);
diff --git a/entity/Productprice_entity/entityfields/keywordcurrencies/children/containername_param/code.js b/entity/Productprice_entity/entityfields/keywordcurrencies/children/containername_param/code.js
index 84063b8ce3..0ef9cd2565 100644
--- a/entity/Productprice_entity/entityfields/keywordcurrencies/children/containername_param/code.js
+++ b/entity/Productprice_entity/entityfields/keywordcurrencies/children/containername_param/code.js
@@ -1,2 +1,4 @@
 import("system.result");
-result.string("Currency");
\ No newline at end of file
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.Currency);
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js b/entity/Productprice_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
index 065362abed..6cefa2f3b9 100644
--- a/entity/Productprice_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
+++ b/entity/Productprice_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart("Currency", "PRODUCTPRICE.CURRENCY");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.Currency, "PRODUCTPRICE.CURRENCY");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
index ebc680c2fe..7392e4e601 100644
--- a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
+++ b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
@@ -17,7 +17,7 @@
     <entityField>
       <name>GROUPCODE</name>
       <title>Product</title>
-      <possibleItemsProcess>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>KeywordProductGroupcodes</consumer>
     </entityField>
     <entityField>
       <name>INFO</name>
@@ -62,6 +62,21 @@
         </entityDependency>
       </dependencies>
     </entityProvider>
+    <entityConsumer>
+      <name>KeywordProductGroupcodes</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Keyword_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -111,6 +126,10 @@
           <name>VOLUME.value</name>
           <recordfield>SALESPROJECT_FORECAST.VOLUME</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>GROUPCODE.displayValue</name>
+          <expression>%aditoprj%/entity/SalesprojectForecast_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js b/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
deleted file mode 100644
index 8828ea3822..0000000000
--- a/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var items;
-
-items = KeywordUtils.getStandardArray("GROUPCODE");
-result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js b/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
new file mode 100644
index 0000000000..d7218938fa
--- /dev/null
+++ b/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.string($KeywordRegistry.get.ProductGroupcode);
\ No newline at end of file
diff --git a/entity/SalesprojectForecast_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js b/entity/SalesprojectForecast_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js
new file mode 100644
index 0000000000..a381b5188c
--- /dev/null
+++ b/entity/SalesprojectForecast_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.ProductGroupcode, "SALESPROJECT_FORECAST.GROUPCODE");
+result.string(sql);
diff --git a/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry.xml b/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry.xml
index 0a45f8bd45..1fa2ad1be6 100644
--- a/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry.xml
+++ b/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry.xml
@@ -6,7 +6,7 @@
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_ContractStatus.xml"/>
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_ContractType.xml"/>
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_Currency.xml"/>
-    <include relativeToChangelogFile="true" file="ab_keyword_entry/init_OfferitemGroupcode.xml"/>
+    <include relativeToChangelogFile="true" file="ab_keyword_entry/init_ProductGroupcode.xml"/>
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_OfferStatus.xml"/>
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_OrganisationType.xml"/>
     <include relativeToChangelogFile="true" file="ab_keyword_entry/init_PersonGender.xml"/>
diff --git a/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_OfferitemGroupcode.xml b/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_ProductGroupcode.xml
similarity index 92%
rename from others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_OfferitemGroupcode.xml
rename to others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_ProductGroupcode.xml
index 248033e03b..87e63f3f38 100644
--- a/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_OfferitemGroupcode.xml
+++ b/others/db_changes/data_alias/data/AditoBasic/ab_keyword_entry/init_ProductGroupcode.xml
@@ -5,7 +5,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="b6079a56-594f-463d-8b85-67db622cf522"/>
       <column name="KEYID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
       <column name="TITLE" value="Commodity group 1"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="0"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
@@ -14,7 +14,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="7c666a94-ef9a-42e9-83c8-de3a97123bce"/>
       <column name="KEYID" value="2a87ee6c-3c20-40ef-8329-c353cbeb58a6"/>
       <column name="TITLE" value="Commodity group 2"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="1"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
@@ -23,7 +23,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="72ffaa0b-9982-4614-93be-31ae76f91d19"/>
       <column name="KEYID" value="dd51e43d-fed3-4402-9616-5d9dbdbbfd71"/>
       <column name="TITLE" value="Commodity group 3"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="2"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
@@ -32,7 +32,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="688b91d3-3c5b-4704-9220-e11b4532c05c"/>
       <column name="KEYID" value="dc511fd4-bda8-40b5-8602-4bea554576e6"/>
       <column name="TITLE" value="Discount"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="3"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
@@ -41,7 +41,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="5f5a0927-5827-4948-bfe7-32e83d8cf3aa"/>
       <column name="KEYID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
       <column name="TITLE" value="Spare parts"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="4"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
@@ -50,7 +50,7 @@
       <column name="AB_KEYWORD_ENTRYID" value="611cd178-c0fc-4d2a-a9ba-af747d571755"/>
       <column name="KEYID" value="5b8b8e5f-2df8-4119-aae6-e224fb360d4e"/>
       <column name="TITLE" value="Service"/>
-      <column name="CONTAINER" value="OfferitemGroupcode"/>
+      <column name="CONTAINER" value="ProductGroupcode"/>
       <column name="SORTING" valueNumeric="5"/>
       <column name="ISACTIVE" valueNumeric="1"/>
       <column name="ISESSENTIAL" valueNumeric="0"/>
diff --git a/others/db_changes/data_alias/data/example_offer/OFFER_1000.xml b/others/db_changes/data_alias/data/example_offer/OFFER_1000.xml
index b9dd17e314..1db01af0b7 100644
--- a/others/db_changes/data_alias/data/example_offer/OFFER_1000.xml
+++ b/others/db_changes/data_alias/data/example_offer/OFFER_1000.xml
@@ -8,7 +8,7 @@
             <column name="OFFERDATE" valueDate="2018-11-21T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1000"/>
             <column name="VERSNR" valueNumeric="1"/>
-            <column name="STATUS" valueNumeric="2"/>
+            <column name="STATUS" value="e5d6b5a4-7576-440f-8332-bc40147c0335"/>
             <column name="PROBABILITY" valueNumeric="5"/>
             <column name="NET" valueNumeric="210.00"/>
             <column name="VAT" valueNumeric="39.90"/>
@@ -21,7 +21,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="1"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
@@ -36,7 +36,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="1"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
             <column name="ITEMSORT" valueNumeric="2"/>
             <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
@@ -50,7 +50,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
             <column name="ITEMSORT" valueNumeric="3"/>
             <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
@@ -64,7 +64,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="4"/>
+            <column name="GROUPCODEID" value="dc511fd4-bda8-40b5-8602-4bea554576e6"/>
             <column name="ASSIGNEDTO" value="44b75a12-ae8b-4003-9347-9952843425a9"/>
             <column name="ITEMSORT" valueNumeric="4"/>
             <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
@@ -78,7 +78,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="306997c2-212f-4ee3-97a2-525320c67f67"/>
             <column name="ITEMSORT" valueNumeric="5"/>
             <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
@@ -92,7 +92,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
             <column name="ITEMSORT" valueNumeric="6"/>
             <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
@@ -106,7 +106,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="aea44090-b57a-4620-ae65-12c9ade05c79"/>
             <column name="ITEMSORT" valueNumeric="7"/>
             <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
diff --git a/others/db_changes/data_alias/data/example_offer/OFFER_1001.xml b/others/db_changes/data_alias/data/example_offer/OFFER_1001.xml
index b630a245d3..ecc6cc3d07 100644
--- a/others/db_changes/data_alias/data/example_offer/OFFER_1001.xml
+++ b/others/db_changes/data_alias/data/example_offer/OFFER_1001.xml
@@ -8,7 +8,7 @@
             <column name="OFFERDATE" valueDate="2018-08-12T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1001"/>
             <column name="VERSNR" valueNumeric="1"/>
-            <column name="STATUS" valueNumeric="2"/>
+            <column name="STATUS" value="e5d6b5a4-7576-440f-8332-bc40147c0335"/>
             <column name="PROBABILITY" valueNumeric="3"/>
             <column name="NET" valueNumeric="420.00"/>
             <column name="VAT" valueNumeric="79.80"/>
@@ -21,7 +21,7 @@
             <column name="OFFER_ID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_offer/OFFER_1002.xml b/others/db_changes/data_alias/data/example_offer/OFFER_1002.xml
index a393f41c3f..313d5556c1 100644
--- a/others/db_changes/data_alias/data/example_offer/OFFER_1002.xml
+++ b/others/db_changes/data_alias/data/example_offer/OFFER_1002.xml
@@ -8,7 +8,7 @@
             <column name="OFFERDATE" valueDate="2018-06-14T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1002"/>
             <column name="VERSNR" valueNumeric="1"/>
-            <column name="STATUS" valueNumeric="2"/>
+            <column name="STATUS" value="e5d6b5a4-7576-440f-8332-bc40147c0335"/>
             <column name="PROBABILITY" valueNumeric="4"/>
             <column name="NET" valueNumeric="630.00"/>
             <column name="VAT" valueNumeric="119.70"/>
@@ -21,7 +21,7 @@
             <column name="OFFER_ID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_offer/OFFER_1003.xml b/others/db_changes/data_alias/data/example_offer/OFFER_1003.xml
index a426f2e88b..72947481ec 100644
--- a/others/db_changes/data_alias/data/example_offer/OFFER_1003.xml
+++ b/others/db_changes/data_alias/data/example_offer/OFFER_1003.xml
@@ -8,7 +8,7 @@
             <column name="OFFERDATE" valueDate="2018-02-23T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1003"/>
             <column name="VERSNR" valueNumeric="1"/>
-            <column name="STATUS" valueNumeric="1"/>
+            <column name="STATUS" value="5134153d-2e18-452f-ab35-7a52f1aee7d1"/>
             <column name="PROBABILITY" valueNumeric="1"/>
             <column name="NET" valueNumeric="420.00"/>
             <column name="VAT" valueNumeric="79.80"/>
@@ -21,7 +21,7 @@
             <column name="OFFER_ID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_offer/OFFER_1004.xml b/others/db_changes/data_alias/data/example_offer/OFFER_1004.xml
index fa800dad48..322eaf4bfc 100644
--- a/others/db_changes/data_alias/data/example_offer/OFFER_1004.xml
+++ b/others/db_changes/data_alias/data/example_offer/OFFER_1004.xml
@@ -8,7 +8,7 @@
             <column name="OFFERDATE" valueDate="2017-11-09T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1004"/>
             <column name="VERSNR" valueNumeric="1"/>
-            <column name="STATUS" valueNumeric="1"/>
+            <column name="STATUS" value="5134153d-2e18-452f-ab35-7a52f1aee7d1"/>
             <column name="PROBABILITY" valueNumeric="3"/>
             <column name="NET" valueNumeric="840.00"/>
             <column name="VAT" valueNumeric="159.60"/>
@@ -21,7 +21,7 @@
             <column name="OFFER_ID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="UNIT" valueNumeric="4"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_org/ORG_gfk.xml b/others/db_changes/data_alias/data/example_org/ORG_gfk.xml
index 73dec748b6..36c8791e74 100644
--- a/others/db_changes/data_alias/data/example_org/ORG_gfk.xml
+++ b/others/db_changes/data_alias/data/example_org/ORG_gfk.xml
@@ -5,7 +5,7 @@
             <column name="ORGID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
             <column name="NAME" value="Gfk AG"/>
             <column name="CUSTOMERCODE" value="00000001"/>
-            <column name="TYPE" valueNumeric="0"/>
+            <column name="TYPE" value="9cac8c7f-b9d8-45ad-ba0a-7ac17341c970"/>
             <column name="PRICE_POLITICS" valueNumeric="1"/>    
             <column name="STRENGTH" valueNumeric="1"/>    
             <column name="WEAKNESS" valueNumeric="1"/>
diff --git a/others/db_changes/data_alias/data/example_org/ORG_privat.xml b/others/db_changes/data_alias/data/example_org/ORG_privat.xml
index fd6b0ecb8f..5acde0141c 100644
--- a/others/db_changes/data_alias/data/example_org/ORG_privat.xml
+++ b/others/db_changes/data_alias/data/example_org/ORG_privat.xml
@@ -5,7 +5,7 @@
             <column name="ORGID" value="0"/>
             <column name="NAME" value="privat"/>
             <column name="CUSTOMERCODE" value=""/>
-            <column name="TYPE" valueNumeric="0"/>
+            <column name="TYPE" value="9cac8c7f-b9d8-45ad-ba0a-7ac17341c970"/>
 	</insert>
 	<rollback>
 		<delete tableName="ORG">
diff --git a/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml b/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml
index 61c0eb8736..29cbb4f99a 100644
--- a/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml
+++ b/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml
@@ -4,7 +4,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="MINSTOCK" valueNumeric="5.00"/>
             <column name="PRODUCTCODE" value="ProduktNr1"/>
             <column name="PRODUCTNAME" value="AX45"/>
@@ -14,7 +14,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="MINSTOCK" valueNumeric="12.00"/>
             <column name="PRODUCTCODE" value="ProduktNr1.1"/>
             <column name="PRODUCTNAME" value="Produktname1.1"/>
@@ -24,7 +24,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="MINSTOCK" valueNumeric="10.00"/>
             <column name="PRODUCTCODE" value="ProduktNr1.2"/>
             <column name="PRODUCTNAME" value="Produktname1.2"/>
@@ -34,7 +34,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="MINSTOCK" valueNumeric="15.00"/>
             <column name="PRODUCTCODE" value="ProduktNr4.1"/>
             <column name="PRODUCTNAME" value="Produktname4.1"/>
@@ -44,7 +44,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="MINSTOCK" valueNumeric="50.00"/>
             <column name="PRODUCTCODE" value="ProduktNr4.2"/>
             <column name="PRODUCTNAME" value="Produktname4.2a"/>
@@ -54,7 +54,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="4"/>
+            <column name="GROUPCODEID" value="dc511fd4-bda8-40b5-8602-4bea554576e6"/>
             <column name="MINSTOCK" valueNumeric="0.00"/>
             <column name="PRODUCTCODE" value="R01"/>
             <column name="PRODUCTNAME" value="Sonderrabatt"/>
@@ -64,7 +64,7 @@
         <insert tableName="PRODUCT">
             <column name="PRODUCTID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
             <column name="ADVERTISING" value="N"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="MINSTOCK" valueNumeric="2.00"/>
             <column name="PRODUCTCODE" value="AX47-2233"/>
             <column name="PRODUCTNAME" value="AX47"/>
diff --git a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1000.xml b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1000.xml
index 941ce71fca..e1786e1f22 100644
--- a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1000.xml
+++ b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1000.xml
@@ -20,7 +20,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="1"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
@@ -35,7 +35,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="1"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
             <column name="ITEMSORT" valueNumeric="2"/>
             <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
@@ -49,7 +49,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
             <column name="ITEMSORT" valueNumeric="3"/>
             <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
@@ -63,7 +63,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="4"/>
+            <column name="GROUPCODEID" value="dc511fd4-bda8-40b5-8602-4bea554576e6"/>
             <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
             <column name="ITEMSORT" valueNumeric="4"/>
             <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
@@ -77,7 +77,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
             <column name="ITEMSORT" valueNumeric="5"/>
             <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
@@ -91,7 +91,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
             <column name="ITEMSORT" valueNumeric="6"/>
             <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
@@ -105,7 +105,7 @@
             <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="GROUPCODEID" value="d878701c-8b69-4687-b677-f564ae1a2ec1"/>
             <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
             <column name="ITEMSORT" valueNumeric="7"/>
             <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
diff --git a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1001.xml b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1001.xml
index a11562d308..4a2217e227 100644
--- a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1001.xml
+++ b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1001.xml
@@ -20,7 +20,7 @@
             <column name="SALESORDER_ID" value="41197800-027b-47f5-923a-f1004d09a969"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1002.xml b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1002.xml
index c15939abb4..c785f001ab 100644
--- a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1002.xml
+++ b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1002.xml
@@ -20,7 +20,7 @@
             <column name="SALESORDER_ID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="3"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1003.xml b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1003.xml
index 5a127bc9bf..24cb562bc9 100644
--- a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1003.xml
+++ b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1003.xml
@@ -20,7 +20,7 @@
             <column name="SALESORDER_ID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
             <column name="UNIT" valueNumeric="1"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1004.xml b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1004.xml
index 6611d451b8..f75a87d11c 100644
--- a/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1004.xml
+++ b/others/db_changes/data_alias/data/example_salesorder/SALESORDER_1004.xml
@@ -20,7 +20,7 @@
             <column name="SALESORDER_ID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
             <column name="UNIT" valueNumeric="4"/>
             <column name="QUANTITY" valueNumeric="2"/>
-            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="GROUPCODEID" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
             <column name="PRICE" valueNumeric="210.00"/>
             <column name="ITEMSORT" valueNumeric="1"/>
             <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
diff --git a/others/db_changes/data_alias/data/example_salesproject/SALESPROJECT_gfk.xml b/others/db_changes/data_alias/data/example_salesproject/SALESPROJECT_gfk.xml
index e7b58dacbd..3edff36d08 100644
--- a/others/db_changes/data_alias/data/example_salesproject/SALESPROJECT_gfk.xml
+++ b/others/db_changes/data_alias/data/example_salesproject/SALESPROJECT_gfk.xml
@@ -47,7 +47,7 @@
         <column name="RELATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
 
         <column name="TYPE" value="PLAN"/>
-        <column name="GROUPCODE" valueNumeric="1"/>
+        <column name="GROUPCODE" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
         <column name="INFO" value="grob abgeschätzt, da große Unsicherheit"/>
 
         <column name="DATE_START" valueDate="2018-06-13T09:03:43"/>
@@ -60,7 +60,7 @@
         <column name="RELATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
 
         <column name="TYPE" value="PLAN"/>
-        <column name="GROUPCODE" valueNumeric="1"/>
+        <column name="GROUPCODE" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
         <column name="INFO" value="grob abgeschätzt, da große Unsicherheit"/>
 
         <column name="DATE_START" valueDate="2016-06-13T09:03:43"/>
@@ -73,7 +73,7 @@
         <column name="RELATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
 
         <column name="TYPE" value="PLAN"/>
-        <column name="GROUPCODE" valueNumeric="1"/>
+        <column name="GROUPCODE" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
         <column name="INFO" value="grob abgeschätzt, da große Unsicherheit"/>
 
         <column name="DATE_START" valueDate="2017-06-13T09:03:43"/>
@@ -86,7 +86,7 @@
         <column name="RELATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
 
         <column name="TYPE" value="PLAN"/>
-        <column name="GROUPCODE" valueNumeric="1"/>
+        <column name="GROUPCODE" value="f0ef0c0d-c972-4db5-9ec4-99dcc3363192"/>
         <column name="INFO" value="grob abgeschätzt, da große Unsicherheit"/>
 
         <column name="DATE_START" valueDate="2017-05-13T09:03:43"/>
diff --git a/others/db_changes/data_alias/struct/create_offer.xml b/others/db_changes/data_alias/struct/create_offer.xml
index 3159a27e76..bef9d63d65 100644
--- a/others/db_changes/data_alias/struct/create_offer.xml
+++ b/others/db_changes/data_alias/struct/create_offer.xml
@@ -16,7 +16,7 @@
                 <column name="LANGUAGE" type="CHAR(5)"/>
                 <column name="OFFERCODE" type="INTEGER"/>
                 <column name="VERSNR" type="INTEGER"/>
-                <column name="STATUS" type="INTEGER"/>
+                <column name="STATUS" type="CHAR(36)"/>
                 <column name="PROBABILITY" type="INTEGER"/>
                 <column name="NET" type="NUMERIC(14,2)"/>
                 <column name="VAT" type="NUMERIC(14,2)"/>
diff --git a/others/db_changes/data_alias/struct/create_offeritem.xml b/others/db_changes/data_alias/struct/create_offeritem.xml
index 8a0b1a6825..3f34c928db 100644
--- a/others/db_changes/data_alias/struct/create_offeritem.xml
+++ b/others/db_changes/data_alias/struct/create_offeritem.xml
@@ -8,7 +8,7 @@
                 <column name="OFFER_ID" type="CHAR(36)"/>
                 <column name="UNIT" type="INTEGER"/>
                 <column name="QUANTITY" type="NUMERIC(14,2)"/>
-                <column name="GROUPCODEID" type="INTEGER"/>
+                <column name="GROUPCODEID" type="CHAR(36)"/>
                 <column name="ASSIGNEDTO" type="CHAR(36)">
                     <constraints foreignKeyName="FK_OFFERITEM_ASSIGNEDTO" references="OFFERITEM(OFFERITEMID)"/>
                 </column>
diff --git a/others/db_changes/data_alias/struct/create_org.xml b/others/db_changes/data_alias/struct/create_org.xml
index 3c5b60a867..9e1858fbea 100644
--- a/others/db_changes/data_alias/struct/create_org.xml
+++ b/others/db_changes/data_alias/struct/create_org.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="j.goderbauer" id="1528803466364-1">
+    <changeSet author="j.goderbauer" id="026ec2d0-cbd8-4230-9e87-377d7aa13472">
         <createTable tableName="ORG">
             <column name="NAME" type="NVARCHAR(255)">
                 <constraints nullable="false"/>
             </column>
             <column name="INFO" type="NCLOB"/>
-            <column name="TYPE" type="INTEGER"/>
+            <column name="TYPE" type="CHAR(36)"/>
             <column name="CUSTOMERCODE" type="NVARCHAR(30)"/>
             <column name="ORGID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_ORG_ORGID"/>
diff --git a/others/db_changes/data_alias/struct/create_product.xml b/others/db_changes/data_alias/struct/create_product.xml
index 4efa9edcd5..94ebd50dd9 100644
--- a/others/db_changes/data_alias/struct/create_product.xml
+++ b/others/db_changes/data_alias/struct/create_product.xml
@@ -6,7 +6,7 @@
 			<constraints primaryKey="true" primaryKeyName="PK_PRODUCT_PRODUCTID"/>
 		</column>    
 		<column name="ADVERTISING" type="CHAR(1)"/>          
-		<column name="GROUPCODEID" type="INTEGER"/>
+		<column name="GROUPCODEID" type="CHAR(36)"/>
 		<column name="MINSTOCK" type="INTEGER"/>
 		<column name="RELATION_ID" type="CHAR(36)"/>
 		<column name="PRODUCTCODE" type="NVARCHAR(50)">
diff --git a/others/db_changes/data_alias/struct/create_salesorderitem.xml b/others/db_changes/data_alias/struct/create_salesorderitem.xml
index c42681a495..e44b2f9356 100644
--- a/others/db_changes/data_alias/struct/create_salesorderitem.xml
+++ b/others/db_changes/data_alias/struct/create_salesorderitem.xml
@@ -8,7 +8,7 @@
                 <column name="SALESORDER_ID" type="CHAR(36)"/>
                 <column name="UNIT" type="INTEGER"/>
                 <column name="QUANTITY" type="NUMERIC(14,2)"/>
-                <column name="GROUPCODEID" type="INTEGER"/>
+                <column name="GROUPCODEID" type="CHAR(36)"/>
                 <column name="ASSIGNEDTO" type="CHAR(36)">
                     <constraints foreignKeyName="FK_SALESORDERITEM_ASSIGNEDTO" references="SALESORDERITEM(SALESORDERITEMID)"/>
                 </column>
diff --git a/others/db_changes/data_alias/struct/create_salesproject_forecast.xml b/others/db_changes/data_alias/struct/create_salesproject_forecast.xml
index 56bf09025f..ad93e9433a 100644
--- a/others/db_changes/data_alias/struct/create_salesproject_forecast.xml
+++ b/others/db_changes/data_alias/struct/create_salesproject_forecast.xml
@@ -12,7 +12,7 @@
                 <constraints nullable="false"/>
             </column>
             
-            <column name="GROUPCODE" type="INTEGER"/>
+            <column name="GROUPCODE" type="CHAR(36)"/>
             <column name="INFO" type="NCLOB"/>
             <column name="DATE_START" type="TIMESTAMP"/>
             <column name="TYPE" type="NVARCHAR(10)"/>
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index 0ecd409a5e..6a8be9f9b0 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -4,6 +4,36 @@ import("system.db");
 import("system.translate");
 import("system.neon");
 import("Sql_lib");
+
+/**
+ * provides static functionality for a registry of keywords
+ * The main reason for this is a convenient usage within jdito-code (autocomplete)
+ * never use these registered keywords directly in an library - only within function definition that are called later
+ * the reason behind this is that the registry is initalized at the position of the Keyword_lib-import;
+ * That means, if a value of the registry is used before the import of the Keyword_lib the registry is not set
+ * 
+ * This is a very special case of an object and should not be used as a refernece for own implementations since the requirements will be different
+ * 
+ * @class
+ */
+function $KeywordRegistry(){}
+
+//static property
+$KeywordRegistry.get = {
+    ContractPayment: "ContractPayment",
+    ContractStatus: "ContractStatus",
+    ContractType: "ContractType",
+    ActivityDirection: "ActivityDirection",
+    RelationStatus: "RelationStatus",
+    Currency: "Currency",
+    ProductGroupcode: "ProductGroupcode",
+    OfferStatus: "OfferStatus",
+    OrganisationType: "OrganisationType",
+    
+    "null": null
+};
+Object.freeze($KeywordRegistry.get);
+
 /**
  * provides methods for interactions with keywords
  * 
@@ -128,13 +158,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
         }
 
         switch (keywordType){
-            case "RELATION.STATUS":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("0", translate.text("Inactive", locale))
-                    ,_createKeywordEntry("1", translate.text("Active", locale))
-                    ,_createKeywordEntry("2", translate.text("In review", locale))
-                ]);
-                break;
             case "COUNTRY":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("DE", translate.text("Germany", locale))
@@ -154,13 +177,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
                     ,_createKeywordEntry("no-NO", translate.text("Norwegian", locale))
                 ]);
                 break;
-            case "ACTIVITY.DIRECTION":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("i", translate.text("Incoming", locale))
-                    ,_createKeywordEntry("o", translate.text("Outgoing", locale))
-                    ,_createKeywordEntry("p", translate.text("Internal", locale))
-                ]);
-                break;
             case "ACTIVITY.CATEGORY":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("0", translate.text("Visit", locale), null, {defaultAvatarRepresentation: "VAADIN:TRAIN"})
@@ -185,14 +201,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
                     ,_createKeywordEntry("4", translate.text("Post office box", locale), null, {org: true, pers: true})
                 ]);
                 break;
-            case "ORG.TYPE":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("0", translate.text("Customer", locale))
-                    ,_createKeywordEntry("1", translate.text("Prospect", locale))
-                    ,_createKeywordEntry("2", translate.text("Supplier", locale))
-                    ,_createKeywordEntry("3", translate.text("${ORGTYPE_OTHER}", locale))
-                ]);
-                break;
             case "PERS.GENDER":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("f", translate.text("Female", locale))
@@ -200,29 +208,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
                     ,_createKeywordEntry("o", translate.text("${GENDER_OTHER}", locale))
                 ]);
                 break;
-            case "CONTRACT.CONTRACTTYPE":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("0", translate.text("Framework contract", locale))
-                    ,_createKeywordEntry("1", translate.text("Service contract", locale))
-                    ,_createKeywordEntry("2", translate.text("Maintenance contract", locale))
-                ]);
-                break;
-            case "CONTRACT.CONTRACTSTATUS":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("0", translate.text("Valid, unlimited", locale))
-                    ,_createKeywordEntry("1", translate.text("Valid, limited", locale))
-                    ,_createKeywordEntry("2", translate.text("Not signed yet", locale))
-                    ,_createKeywordEntry("3", translate.text("None, individual count", locale))
-                    ,_createKeywordEntry("4", translate.text("Resigned", locale))
-                ]);
-                break;
-            case "CONTRACT.PAYMENT":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("0", translate.text("Annually", locale))
-                    ,_createKeywordEntry("1", translate.text("Semiannually", locale))
-                    ,_createKeywordEntry("2", translate.text("Quarterly", locale))
-                ]);
-                break;
             case "GROUPCODE":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("1", translate.text("Commodity group 1", locale))
@@ -249,14 +234,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
                     ,_createKeywordEntry("4", translate.text("${PRICELIST_SERVICE}", locale))
                 ]);
                 break;
-            case "CURRENCY":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("1", translate.text("EUR", locale))
-                    ,_createKeywordEntry("2", translate.text("USD", locale))
-                    ,_createKeywordEntry("3", translate.text("CND", locale))
-                    ,_createKeywordEntry("4", translate.text("CHF", locale))
-                ]);
-                break;
             case "STOCK.WAREHOUSE":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("1", translate.text("Warehouse 1", locale))
@@ -435,14 +412,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL
                     ,_createKeywordEntry("5", translate.text("100 %", locale), null, {percentValue: 100})
                 ]);
                 break;
-            case "OFFER.STATUS":
-                valueContainer = _createKeywordEntriesContainer([
-                     _createKeywordEntry("1", translate.text("Checked", locale))
-                    ,_createKeywordEntry("2", translate.text("Sent", locale))
-                    ,_createKeywordEntry("3", translate.text("Won", locale))
-                    ,_createKeywordEntry("4", translate.text("Lost", locale))
-                ]);
-                break;
             case "SALESORDER.STATUS":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("1", translate.text("Checked", locale))
-- 
GitLab