From ca220c6f5c6c1dcc871afe39990168e1f6824448 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 27 Nov 2018 15:40:13 +0100
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1027750][JDito -
 libray Standard ist komplett definiert und wird in allen libs verwendet]
 refactor Keyword_lib

---
 .../addr_type/possibleItemsProcess.js         |   5 +-
 .../country/possibleItemsProcess.js           |   5 +-
 entity/Comm_entity/conditionProcess.js        |   3 +-
 .../entityfields/addr/contentTypeProcess.js   |   5 +-
 .../entityfields/addr/onValidation.js         |   3 +-
 .../medium_id/possibleItemsProcess.js         |  41 +-
 .../medium_id/valueMappingProcess.js          |  13 +-
 .../valueProcess.js                           |   4 +-
 .../contractstatus/possibleItemsProcess.js    |   5 +-
 .../contracttype/possibleItemsProcess.js      |   5 +-
 .../entityfields/image/valueProcess.js        |   4 +-
 .../payment/possibleItemsProcess.js           |   5 +-
 .../direction/possibleItemsProcess.js         |   5 +-
 .../medium/possibleItemsProcess.js            |   5 +-
 .../subject_details/valueProcess.js           |   5 +-
 .../currency/possibleItemsProcess.js          |   5 +-
 .../entityfields/image/valueProcess.js        |   4 +-
 .../language/possibleItemsProcess.js          |   5 +-
 .../probability/possibleItemsProcess.js       |   3 +-
 .../status/possibleItemsProcess.js            |   5 +-
 .../groupcodeid/possibleItemsProcess.js       |   5 +-
 .../entityfields/unit/possibleItemsProcess.js |   5 +-
 .../language/possibleItemsProcess.js          |   5 +-
 .../status/possibleItemsProcess.js            |   5 +-
 .../entityfields/type/possibleItemsProcess.js |   5 +-
 .../language/possibleItemsProcess.js          |   5 +-
 .../source_id/possibleItemsProcess.js         |   4 +-
 .../groupcodeid/possibleItemsProcess.js       |   5 +-
 .../entityfields/image/valueProcess.js        |   4 +-
 .../entityfields/unit/possibleItemsProcess.js |   5 +-
 .../currency/possibleItemsProcess.js          |   5 +-
 .../pricelist/possibleItemsProcess.js         |   5 +-
 .../possibleItemsProcess.js                   |   5 +-
 .../reason/possibleItemsProcess.js            |   5 +-
 .../status/possibleItemsProcess.js            |   5 +-
 .../value/possibleItemsProcess.js             |   6 +-
 .../groupcode/possibleItemsProcess.js         |   5 +-
 .../salesproject_role/possibleItemsProcess.js |   5 +-
 .../source/possibleItemsProcess.js            |   5 +-
 .../estimation/possibleItemsProcess.js        |   5 +-
 .../phase/possibleItemsProcess.js             |   5 +-
 .../state/possibleItemsProcess.js             |   5 +-
 .../warehouse/possibleItemsProcess.js         |   5 +-
 process/Keyword_lib/process.js                | 357 +++++++++---------
 44 files changed, 280 insertions(+), 326 deletions(-)

diff --git a/entity/Address_entity/entityfields/addr_type/possibleItemsProcess.js b/entity/Address_entity/entityfields/addr_type/possibleItemsProcess.js
index 17673fc9d16..5403dab1fe3 100644
--- a/entity/Address_entity/entityfields/addr_type/possibleItemsProcess.js
+++ b/entity/Address_entity/entityfields/addr_type/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("ADDRESS.TYPE");
+items = KeywordUtils.getStandardArray("ADDRESS.TYPE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/country/possibleItemsProcess.js b/entity/Address_entity/entityfields/country/possibleItemsProcess.js
index 5113732dff8..890e37e4f61 100644
--- a/entity/Address_entity/entityfields/country/possibleItemsProcess.js
+++ b/entity/Address_entity/entityfields/country/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("COUNTRY");
+items = KeywordUtils.getStandardArray("COUNTRY");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Comm_entity/conditionProcess.js b/entity/Comm_entity/conditionProcess.js
index b37bd303393..56359a39d6f 100644
--- a/entity/Comm_entity/conditionProcess.js
+++ b/entity/Comm_entity/conditionProcess.js
@@ -12,8 +12,7 @@ if (vars.exists("$param.MediumCategoriesFilter_param")){
     mediumCategories = vars.get("$param.MediumCategoriesFilter_param");
     if (mediumCategories != null && mediumCategories != "") {
         mediumCategories = text.decodeMS(mediumCategories);   
-        keywordUtil = new KeywordUtils();
-        var kwd = keywordUtil.createKeyword("COMM.MEDIUM");
+        var kwd = KeywordUtils.createKeyword("COMM.MEDIUM");
         kwd.filter(function(id, name, customs){
             return mediumCategories.indexOf(customs.category) > -1;
         });
diff --git a/entity/Comm_entity/entityfields/addr/contentTypeProcess.js b/entity/Comm_entity/entityfields/addr/contentTypeProcess.js
index d447305cf06..bc63ebb57a3 100644
--- a/entity/Comm_entity/entityfields/addr/contentTypeProcess.js
+++ b/entity/Comm_entity/entityfields/addr/contentTypeProcess.js
@@ -3,12 +3,11 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-var keywordUtils, medium, contentType;
+var medium, contentType;
 //TODO: add constants for contentTypes #1022547
 medium = vars.get("$field.MEDIUM_ID");
 if (medium){
-    keywordUtils = new KeywordUtils();
-    contentType = keywordUtils.createKeyword("COMM.MEDIUM").getPropForKey(medium, "contentType", true) || "TEXT";
+    contentType = KeywordUtils.createKeyword("COMM.MEDIUM").getPropForKey(medium, "contentType", true) || "TEXT";
 }
 else {
     contentType = "TEXT";
diff --git a/entity/Comm_entity/entityfields/addr/onValidation.js b/entity/Comm_entity/entityfields/addr/onValidation.js
index f7e031675a3..636a54f8673 100644
--- a/entity/Comm_entity/entityfields/addr/onValidation.js
+++ b/entity/Comm_entity/entityfields/addr/onValidation.js
@@ -9,8 +9,7 @@ import("Comm_lib");
 import("Util_lib");
 import("Entity_lib");
 
-var kwdUtil = new KeywordUtils();
-var kwd = kwdUtil.createKeyword("COMM.MEDIUM");
+var kwd = KeywordUtils.createKeyword("COMM.MEDIUM");
 var commMedium = vars.get("$field.MEDIUM_ID");
 var commCategory = kwd.getPropForKey(commMedium, "contentType", true);//TODO: maybe accessible via  $property - then it's not needed to keep this information within the keyword
 
diff --git a/entity/Comm_entity/entityfields/medium_id/possibleItemsProcess.js b/entity/Comm_entity/entityfields/medium_id/possibleItemsProcess.js
index a5f76ab6c89..4f577af9f62 100644
--- a/entity/Comm_entity/entityfields/medium_id/possibleItemsProcess.js
+++ b/entity/Comm_entity/entityfields/medium_id/possibleItemsProcess.js
@@ -1,21 +1,20 @@
-import("system.logging");
-import("system.text");
-import("system.vars");
-import("system.result");
-import("Keyword_lib");
-
-var mediumCategories, kwdUtils, kwd, items;
-
-kwdUtils = new KeywordUtils();
-if (vars.exists("$param.MediumCategoriesFilter_param") && (mediumCategories = vars.get("$param.MediumCategoriesFilter_param")) != ""){
-    mediumCategories = text.decodeMS(mediumCategories);
-    kwd = kwdUtils.createKeyword("COMM.MEDIUM");
-    kwd.filter(function(id, name, customs){
-        return mediumCategories.indexOf(customs.category) > -1;
-    });
-    items = kwd.toArray();
-}
-else {
-    items = kwdUtils.getStandardArray("COMM.MEDIUM");
-}
-result.object(items);
+import("system.logging");
+import("system.text");
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+
+var mediumCategories, kwd, items;
+
+if (vars.exists("$param.MediumCategoriesFilter_param") && (mediumCategories = vars.get("$param.MediumCategoriesFilter_param")) != ""){
+    mediumCategories = text.decodeMS(mediumCategories);
+    kwd = KeywordUtils.createKeyword("COMM.MEDIUM");
+    kwd.filter(function(id, name, customs){
+        return mediumCategories.indexOf(customs.category) > -1;
+    });
+    items = kwd.toArray();
+}
+else {
+    items = KeywordUtils.getStandardArray("COMM.MEDIUM");
+}
+result.object(items);
diff --git a/entity/Comm_entity/entityfields/medium_id/valueMappingProcess.js b/entity/Comm_entity/entityfields/medium_id/valueMappingProcess.js
index aa610615b48..41e8d5ace57 100644
--- a/entity/Comm_entity/entityfields/medium_id/valueMappingProcess.js
+++ b/entity/Comm_entity/entityfields/medium_id/valueMappingProcess.js
@@ -1,8 +1,7 @@
-import("system.result");
-import("Keyword_lib");
-
-var kwdUtils, items;
-
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("COMM.MEDIUM");
+import("system.result");
+import("Keyword_lib");
+
+var kwdUtils, items;
+
+items = KeywordUtils.getStandardArray("COMM.MEDIUM");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js b/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js
index b6a434814eb..7950e01efeb 100644
--- a/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js
+++ b/entity/Contract_entity/entityfields/contractcode_display_fieldgroup/valueProcess.js
@@ -2,9 +2,7 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils = new KeywordUtils();
-
 var cType = vars.get("$field.CONTRACTTYPE");
 var cCode = vars.get("$field.CONTRACTCODE");
 
-result.string(kwdUtils.getViewValue("CONTRACT.CONTRACTTYPE", cType) + " : " + cCode);
\ No newline at end of file
+result.string(KeywordUtils.getViewValue("CONTRACT.CONTRACTTYPE", cType) + " : " + cCode);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractstatus/possibleItemsProcess.js b/entity/Contract_entity/entityfields/contractstatus/possibleItemsProcess.js
index 4ee17a5e318..44b0166cc25 100644
--- a/entity/Contract_entity/entityfields/contractstatus/possibleItemsProcess.js
+++ b/entity/Contract_entity/entityfields/contractstatus/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("CONTRACT.CONTRACTSTATUS");
+items = KeywordUtils.getStandardArray("CONTRACT.CONTRACTSTATUS");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contracttype/possibleItemsProcess.js b/entity/Contract_entity/entityfields/contracttype/possibleItemsProcess.js
index a0f73ce40bd..cbd3cf1b207 100644
--- a/entity/Contract_entity/entityfields/contracttype/possibleItemsProcess.js
+++ b/entity/Contract_entity/entityfields/contracttype/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("CONTRACT.CONTRACTTYPE");
+items = KeywordUtils.getStandardArray("CONTRACT.CONTRACTTYPE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/image/valueProcess.js b/entity/Contract_entity/entityfields/image/valueProcess.js
index d57bf169099..722fa96502a 100644
--- a/entity/Contract_entity/entityfields/image/valueProcess.js
+++ b/entity/Contract_entity/entityfields/image/valueProcess.js
@@ -2,6 +2,4 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var KeywUtils = new KeywordUtils();
-
-result.string("TEXT:" + KeywUtils.getViewValue("CONTRACT.CONTRACTTYPE", vars.getString("$field.CONTRACTTYPE")) );
\ No newline at end of file
+result.string("TEXT:" + KeywordUtils.getViewValue("CONTRACT.CONTRACTTYPE", vars.getString("$field.CONTRACTTYPE")) );
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/payment/possibleItemsProcess.js b/entity/Contract_entity/entityfields/payment/possibleItemsProcess.js
index c743e4350e3..f10c981a91d 100644
--- a/entity/Contract_entity/entityfields/payment/possibleItemsProcess.js
+++ b/entity/Contract_entity/entityfields/payment/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("CONTRACT.PAYMENT");
+items = KeywordUtils.getStandardArray("CONTRACT.PAYMENT");
 result.object(items);
\ No newline at end of file
diff --git a/entity/History_entity/entityfields/direction/possibleItemsProcess.js b/entity/History_entity/entityfields/direction/possibleItemsProcess.js
index ac50fec19b5..ea9cc755462 100644
--- a/entity/History_entity/entityfields/direction/possibleItemsProcess.js
+++ b/entity/History_entity/entityfields/direction/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("HISTORY.DIRECTION");
+items = KeywordUtils.getStandardArray("HISTORY.DIRECTION");
 result.object(items);
\ No newline at end of file
diff --git a/entity/History_entity/entityfields/medium/possibleItemsProcess.js b/entity/History_entity/entityfields/medium/possibleItemsProcess.js
index fb301bb7950..3509857cfdf 100644
--- a/entity/History_entity/entityfields/medium/possibleItemsProcess.js
+++ b/entity/History_entity/entityfields/medium/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("HISTORY.MEDIUM");
+items = KeywordUtils.getStandardArray("HISTORY.MEDIUM");
 result.object(items);
\ No newline at end of file
diff --git a/entity/History_entity/entityfields/subject_details/valueProcess.js b/entity/History_entity/entityfields/subject_details/valueProcess.js
index 0a37a824659..4ba97bcc711 100644
--- a/entity/History_entity/entityfields/subject_details/valueProcess.js
+++ b/entity/History_entity/entityfields/subject_details/valueProcess.js
@@ -2,9 +2,8 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, histMedium;
+var histMedium;
 histMedium = vars.get("$field.MEDIUM");
 if (histMedium){
-    kwdUtils = new KeywordUtils();
-    result.string(vars.get("$field.SUBJECT") + " (" + kwdUtils.getViewValue("HISTORY.MEDIUM", histMedium) + ")");
+    result.string(vars.get("$field.SUBJECT") + " (" + KeywordUtils.getViewValue("HISTORY.MEDIUM", histMedium) + ")");
 }
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/currency/possibleItemsProcess.js b/entity/Offer_entity/entityfields/currency/possibleItemsProcess.js
index 9720030d092..184c5606ba9 100644
--- a/entity/Offer_entity/entityfields/currency/possibleItemsProcess.js
+++ b/entity/Offer_entity/entityfields/currency/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("CURRENCY");
+items = KeywordUtils.getStandardArray("CURRENCY");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/image/valueProcess.js b/entity/Offer_entity/entityfields/image/valueProcess.js
index f0d0bb6a8a1..f7a107a3721 100644
--- a/entity/Offer_entity/entityfields/image/valueProcess.js
+++ b/entity/Offer_entity/entityfields/image/valueProcess.js
@@ -2,6 +2,4 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var KeywUtils = new KeywordUtils();
-
-result.string("TEXT:" + KeywUtils.getViewValue("OFFER.STATUS", vars.getString("$field.STATUS")) );
\ No newline at end of file
+result.string("TEXT:" + KeywordUtils.getViewValue("OFFER.STATUS", vars.getString("$field.STATUS")) );
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/language/possibleItemsProcess.js b/entity/Offer_entity/entityfields/language/possibleItemsProcess.js
index 26992f2c6cf..ff880a85055 100644
--- a/entity/Offer_entity/entityfields/language/possibleItemsProcess.js
+++ b/entity/Offer_entity/entityfields/language/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("LANGUAGE");
+items = KeywordUtils.getStandardArray("LANGUAGE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js b/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
index 21b13505b4d..46d56eb03b8 100644
--- a/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
+++ b/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
@@ -3,6 +3,5 @@ import("Keyword_lib");
 
 var kwdUtils, items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("OFFER.PROBABILITY");
+items = KeywordUtils.getStandardArray("OFFER.PROBABILITY");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js b/entity/Offer_entity/entityfields/status/possibleItemsProcess.js
index 5eab809f3ab..a59c5804d8f 100644
--- a/entity/Offer_entity/entityfields/status/possibleItemsProcess.js
+++ b/entity/Offer_entity/entityfields/status/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("OFFER.STATUS");
+items = KeywordUtils.getStandardArray("OFFER.STATUS");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
index ec42dede214..8828ea38229 100644
--- a/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
+++ b/entity/Offeritem_entity/entityfields/groupcodeid/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("GROUPCODE");
+items = KeywordUtils.getStandardArray("GROUPCODE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/unit/possibleItemsProcess.js b/entity/Offeritem_entity/entityfields/unit/possibleItemsProcess.js
index 020f0770d41..fe799afc5e1 100644
--- a/entity/Offeritem_entity/entityfields/unit/possibleItemsProcess.js
+++ b/entity/Offeritem_entity/entityfields/unit/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("UNIT");
+items = KeywordUtils.getStandardArray("UNIT");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Org_entity/entityfields/language/possibleItemsProcess.js b/entity/Org_entity/entityfields/language/possibleItemsProcess.js
index 26992f2c6cf..ff880a85055 100644
--- a/entity/Org_entity/entityfields/language/possibleItemsProcess.js
+++ b/entity/Org_entity/entityfields/language/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("LANGUAGE");
+items = KeywordUtils.getStandardArray("LANGUAGE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Org_entity/entityfields/status/possibleItemsProcess.js b/entity/Org_entity/entityfields/status/possibleItemsProcess.js
index 208d6d1437c..9c3936a8af5 100644
--- a/entity/Org_entity/entityfields/status/possibleItemsProcess.js
+++ b/entity/Org_entity/entityfields/status/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("RELATION.STATUS");
+items = KeywordUtils.getStandardArray("RELATION.STATUS");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Org_entity/entityfields/type/possibleItemsProcess.js b/entity/Org_entity/entityfields/type/possibleItemsProcess.js
index 6350c3846c2..4d7899f0d57 100644
--- a/entity/Org_entity/entityfields/type/possibleItemsProcess.js
+++ b/entity/Org_entity/entityfields/type/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("ORG.TYPE");
+items = KeywordUtils.getStandardArray("ORG.TYPE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Pers_entity/entityfields/language/possibleItemsProcess.js b/entity/Pers_entity/entityfields/language/possibleItemsProcess.js
index 26992f2c6cf..ff880a85055 100644
--- a/entity/Pers_entity/entityfields/language/possibleItemsProcess.js
+++ b/entity/Pers_entity/entityfields/language/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("LANGUAGE");
+items = KeywordUtils.getStandardArray("LANGUAGE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js b/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js
index 5f303b27235..ce35858aa77 100644
--- a/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js
+++ b/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js
@@ -6,8 +6,6 @@ import("system.logging");
 import("Keyword_lib");
 import("Product_lib");
 
-var kwUtils = new KeywordUtils();
-
 var condition = "";
 if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
 {
@@ -30,7 +28,7 @@ var prods = db.table("select PRODUCTID, GROUPCODEID, PRODUCTNAME, PRODUCTCODE fr
 var res = [];
 for(var i = 0; i < prods.length; i++)
 {
-    res.push([prods[i][0], kwUtils.getViewValue("GROUPCODE", prods[i][1]) + " / " + prods[i][2] + " / " + prods[i][3]]);
+    res.push([prods[i][0], KeywordUtils.getViewValue("GROUPCODE", prods[i][1]) + " / " + prods[i][2] + " / " + prods[i][3]]);
 }
 
 result.object(res);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js b/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
index ec42dede214..8828ea38229 100644
--- a/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
+++ b/entity/Product_entity/entityfields/groupcodeid/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("GROUPCODE");
+items = KeywordUtils.getStandardArray("GROUPCODE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/image/valueProcess.js b/entity/Product_entity/entityfields/image/valueProcess.js
index a47886f94ef..8b722378044 100644
--- a/entity/Product_entity/entityfields/image/valueProcess.js
+++ b/entity/Product_entity/entityfields/image/valueProcess.js
@@ -2,6 +2,4 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var KeywUtils = new KeywordUtils();
-
-result.string("TEXT:" + KeywUtils.getViewValue("GROUPCODE", vars.getString("$field.GROUPCODEID")) );
\ No newline at end of file
+result.string("TEXT:" + KeywordUtils.getViewValue("GROUPCODE", vars.getString("$field.GROUPCODEID")) );
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/unit/possibleItemsProcess.js b/entity/Product_entity/entityfields/unit/possibleItemsProcess.js
index 020f0770d41..fe799afc5e1 100644
--- a/entity/Product_entity/entityfields/unit/possibleItemsProcess.js
+++ b/entity/Product_entity/entityfields/unit/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("UNIT");
+items = KeywordUtils.getStandardArray("UNIT");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Productprice_entity/entityfields/currency/possibleItemsProcess.js b/entity/Productprice_entity/entityfields/currency/possibleItemsProcess.js
index 9720030d092..82e43a3d1a5 100644
--- a/entity/Productprice_entity/entityfields/currency/possibleItemsProcess.js
+++ b/entity/Productprice_entity/entityfields/currency/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var KeywordUtils, items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("CURRENCY");
+items = KeywordUtils.getStandardArray("CURRENCY");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js b/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js
index 23c85c28b99..4da9244ba53 100644
--- a/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js
+++ b/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js
@@ -4,10 +4,9 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("PRICELIST");
+items = KeywordUtils.getStandardArray("PRICELIST");
 
 if(vars.get("$field.RELATION_ID") != "")
 {
diff --git a/entity/Productprice_entity/entityfields/product_groupcodeid/possibleItemsProcess.js b/entity/Productprice_entity/entityfields/product_groupcodeid/possibleItemsProcess.js
index ec42dede214..8828ea38229 100644
--- a/entity/Productprice_entity/entityfields/product_groupcodeid/possibleItemsProcess.js
+++ b/entity/Productprice_entity/entityfields/product_groupcodeid/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("GROUPCODE");
+items = KeywordUtils.getStandardArray("GROUPCODE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js b/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js
index 2e3b856b52e..01a11701422 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js
+++ b/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.WONLOST");
+items = KeywordUtils.getStandardArray("SALESPROJECT.WONLOST");
 result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/status/possibleItemsProcess.js b/entity/SalesprojectCompetition_entity/entityfields/status/possibleItemsProcess.js
index 0f550b980ab..ab6d2ec06bf 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/status/possibleItemsProcess.js
+++ b/entity/SalesprojectCompetition_entity/entityfields/status/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.STATE");
+items = KeywordUtils.getStandardArray("SALESPROJECT.STATE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js b/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js
index 5f5dd7b9b25..3c10841be6c 100644
--- a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js
+++ b/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js
@@ -2,9 +2,7 @@ import("system.result");
 import("system.vars");
 import("Keyword_lib");
 
-var kwdUtils, items, keyword;
-
-kwdUtils = new KeywordUtils();
+var items, keyword;
 
 switch (vars.get("$field.TYPE"))
 {
@@ -17,7 +15,7 @@ switch (vars.get("$field.TYPE"))
 }
 
 if (keyword) {
-    items = kwdUtils.getStandardArray(keyword);
+    items = KeywordUtils.getStandardArray(keyword);
 }
 else 
 {
diff --git a/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js b/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
index ec42dede214..8828ea38229 100644
--- a/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
+++ b/entity/SalesprojectForecast_entity/entityfields/groupcode/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("GROUPCODE");
+items = KeywordUtils.getStandardArray("GROUPCODE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectMember_entity/entityfields/salesproject_role/possibleItemsProcess.js b/entity/SalesprojectMember_entity/entityfields/salesproject_role/possibleItemsProcess.js
index 708bd325e71..5377db7fd34 100644
--- a/entity/SalesprojectMember_entity/entityfields/salesproject_role/possibleItemsProcess.js
+++ b/entity/SalesprojectMember_entity/entityfields/salesproject_role/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.ROLE");
+items = KeywordUtils.getStandardArray("SALESPROJECT.ROLE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/SalesprojectSource_entity/entityfields/source/possibleItemsProcess.js b/entity/SalesprojectSource_entity/entityfields/source/possibleItemsProcess.js
index 1cada37bd4f..7c84b7abc72 100644
--- a/entity/SalesprojectSource_entity/entityfields/source/possibleItemsProcess.js
+++ b/entity/SalesprojectSource_entity/entityfields/source/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.SOURCE");
+items = KeywordUtils.getStandardArray("SALESPROJECT.SOURCE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/estimation/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/estimation/possibleItemsProcess.js
index 1f0263295fc..c87db915b89 100644
--- a/entity/Salesproject_entity/entityfields/estimation/possibleItemsProcess.js
+++ b/entity/Salesproject_entity/entityfields/estimation/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.ESTIMATION");
+items = KeywordUtils.getStandardArray("SALESPROJECT.ESTIMATION");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/phase/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/phase/possibleItemsProcess.js
index 9d12c334f8a..74024580c2b 100644
--- a/entity/Salesproject_entity/entityfields/phase/possibleItemsProcess.js
+++ b/entity/Salesproject_entity/entityfields/phase/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.PHASE");
+items = KeywordUtils.getStandardArray("SALESPROJECT.PHASE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/state/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/state/possibleItemsProcess.js
index 0f550b980ab..ab6d2ec06bf 100644
--- a/entity/Salesproject_entity/entityfields/state/possibleItemsProcess.js
+++ b/entity/Salesproject_entity/entityfields/state/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("SALESPROJECT.STATE");
+items = KeywordUtils.getStandardArray("SALESPROJECT.STATE");
 result.object(items);
\ No newline at end of file
diff --git a/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js b/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js
index f2f6ce317e1..6c5c4530865 100644
--- a/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js
+++ b/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js
@@ -1,8 +1,7 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
+var items;
 
-kwdUtils = new KeywordUtils();
-items = kwdUtils.getStandardArray("STOCK.WAREHOUSE");
+items = KeywordUtils.getStandardArray("STOCK.WAREHOUSE");
 result.object(items);
\ No newline at end of file
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index fd778f65a00..96fc4a73da5 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -1,25 +1,29 @@
 import("system.translate");
 import("system.neon");
-
 /**
  * provides methods for interactions with keywords
+ * @class
+ * @static
  */
 function KeywordUtils(){
+}
+(function(){//scope for private functions
+
+
     /**
      * returns the default case for keyword-arrays (id and translated name)
      * @param {String} keywordType specifies the type of the keyword and therefore the list elements; e.g. "COUNTRY"
      * @return {Array} a 2D array in form of [["id1", "name1"], ["idN", "nameN"]]
      * @example
-     * var kwdUtils, items;
+     * var items;
      * 
-     * kwdUtils = new KeywordUtils();
-     * items = kwdUtils.getStandardArray("ADDRESS.TYPE");
+     * items = KeywordUtils.getStandardArray("ADDRESS.TYPE");
      * result.object(items);
      */
-    this.getStandardArray = function(keywordType){
-        return this.createKeyword(keywordType).toArray(["id", "name"]);
+    KeywordUtils.getStandardArray = function(keywordType){
+        return KeywordUtils.createKeyword(keywordType).toArray(["id", "name"]);
     }
-    
+
     /**
      * returns a specific name (translated) - this is normally the view-value - of a given keyword;
      * <br/>if the key could not be found an empty string "" is returned 
@@ -27,18 +31,17 @@ function KeywordUtils(){
      * @param {String} key id value of the keyword where the view-value shall be searched
      * @return {String} representation of the translated name of the keyword-key
      * @example
-     * var kwdUtils, histMedium;
+     * var histMedium;
      * histMedium = vars.get("$field.MEDIUM");
      * if (histMedium){
-     *     kwdUtils = new KeywordUtils();
-     *     result.string(vars.get("$field.SUBJECT") + " (" + kwdUtils.getViewValue("HISTORY.MEDIUM", histMedium) + ")");
+     *     result.string(vars.get("$field.SUBJECT") + " (" + KeywordUtils.getViewValue("HISTORY.MEDIUM", histMedium) + ")");
      * }
      */
-    this.getViewValue = function(keywordType, key){
-        var k = this.createKeyword(keywordType);
+    KeywordUtils.getViewValue = function(keywordType, key){
+        var k = KeywordUtils.createKeyword(keywordType);
         return k.getPropForKey(key, "name") || "";
     }
-    
+
     /**
      * creates an object with methods for interacting with an specific keyword
      * @param {String} keywordType specifies the type of the keyword and therefore the list elements; e.g. "COUNTRY"
@@ -48,235 +51,235 @@ function KeywordUtils(){
      * <br/>- getPropsForKey
      * <br/>- filter
      */
-    this.createKeyword = function(keywordType){//TODO: rename ot createKeywordObj?
+    KeywordUtils.createKeyword = function(keywordType){//TODO: rename ot createKeywordObj?
         var valueContainer, _toArrayFn, _getPropForKeyFn, _getPropsForKeyFn;
 
         switch (keywordType){
             case "RELATION.STATUS":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Inactive"))
-                    ,createKeywordEntry("1", translate.text("Active"))
-                    ,createKeywordEntry("2", translate.text("In review"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Inactive"))
+                    ,_createKeywordEntry("1", translate.text("Active"))
+                    ,_createKeywordEntry("2", translate.text("In review"))
                 ]);
                 break;
             case "COUNTRY":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("DE", translate.text("Germany"))
-                    ,createKeywordEntry("AT", translate.text("Austria"))
-                    ,createKeywordEntry("CH", translate.text("Switzerland"))
-                    ,createKeywordEntry("GB", translate.text("United Kingdom"))
-                    ,createKeywordEntry("NO", translate.text("Norway"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("DE", translate.text("Germany"))
+                    ,_createKeywordEntry("AT", translate.text("Austria"))
+                    ,_createKeywordEntry("CH", translate.text("Switzerland"))
+                    ,_createKeywordEntry("GB", translate.text("United Kingdom"))
+                    ,_createKeywordEntry("NO", translate.text("Norway"))
                 ]);
                 break;
             case "LANGUAGE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("de", translate.text("German"))
-                    ,createKeywordEntry("de-DE", translate.text("German (Germany)"))
-                    ,createKeywordEntry("de-AT", translate.text("German (Austria)"))
-                    ,createKeywordEntry("en", translate.text("English"))
-                    ,createKeywordEntry("en-GB", translate.text("English (United Kingdom)"))
-                    ,createKeywordEntry("no-NO", translate.text("Norwegian"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("de", translate.text("German"))
+                    ,_createKeywordEntry("de-DE", translate.text("German (Germany)"))
+                    ,_createKeywordEntry("de-AT", translate.text("German (Austria)"))
+                    ,_createKeywordEntry("en", translate.text("English"))
+                    ,_createKeywordEntry("en-GB", translate.text("English (United Kingdom)"))
+                    ,_createKeywordEntry("no-NO", translate.text("Norwegian"))
                 ]);
                 break;
             case "HISTORY.DIRECTION":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("i", translate.text("Incoming"))
-                    ,createKeywordEntry("o", translate.text("Outgoing"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("i", translate.text("Incoming"))
+                    ,_createKeywordEntry("o", translate.text("Outgoing"))
                 ]);
                 break;
             case "HISTORY.MEDIUM":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Visit"))
-                    ,createKeywordEntry("1", translate.text("E-Mail"))
-                    ,createKeywordEntry("2", translate.text("Phone"))
-                    ,createKeywordEntry("3", translate.text("Internal"))
-                    ,createKeywordEntry("4", translate.text("Online-Meeting"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Visit"))
+                    ,_createKeywordEntry("1", translate.text("E-Mail"))
+                    ,_createKeywordEntry("2", translate.text("Phone"))
+                    ,_createKeywordEntry("3", translate.text("Internal"))
+                    ,_createKeywordEntry("4", translate.text("Online-Meeting"))
                 ]);
             case "COMM.MEDIUM":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Mobile"), null, {category: "PHONE", contentType: "TELEPHONE"})
-                    ,createKeywordEntry("1", translate.text("E-Mail"), null, {category: "EMAIL", contentType: "EMAIL"})
-                    ,createKeywordEntry("2", translate.text("Phone"), null, {category: "PHONE", contentType: "TELEPHONE"})
-                    ,createKeywordEntry("3", translate.text("Internet"), null, {category: "OTHER", contentType: "LINK"})
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Mobile"), null, {category: "PHONE", contentType: "TELEPHONE"})
+                    ,_createKeywordEntry("1", translate.text("E-Mail"), null, {category: "EMAIL", contentType: "EMAIL"})
+                    ,_createKeywordEntry("2", translate.text("Phone"), null, {category: "PHONE", contentType: "TELEPHONE"})
+                    ,_createKeywordEntry("3", translate.text("Internet"), null, {category: "OTHER", contentType: "LINK"})
                 ]);
                 break;
             case "ADDRESS.TYPE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Office address"))
-                    ,createKeywordEntry("2", translate.text("Home address"))
-                    ,createKeywordEntry("3", translate.text("Delivery address"))
-                    ,createKeywordEntry("4", translate.text("Post office box"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Office address"))
+                    ,_createKeywordEntry("2", translate.text("Home address"))
+                    ,_createKeywordEntry("3", translate.text("Delivery address"))
+                    ,_createKeywordEntry("4", translate.text("Post office box"))
                 ]);
                 break;
             case "ORG.TYPE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Customer"))
-                    ,createKeywordEntry("1", translate.text("Prospect"))
-                    ,createKeywordEntry("2", translate.text("Supplier"))
-                    ,createKeywordEntry("3", translate.text("${ORGTYPE_OTHER}"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Customer"))
+                    ,_createKeywordEntry("1", translate.text("Prospect"))
+                    ,_createKeywordEntry("2", translate.text("Supplier"))
+                    ,_createKeywordEntry("3", translate.text("${ORGTYPE_OTHER}"))
                 ]);
                 break;
             case "PERS.GENDER":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("f", translate.text("Female"))
-                    ,createKeywordEntry("m", translate.text("Male"))
-                    ,createKeywordEntry("o", translate.text("${GENDER_OTHER}"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("f", translate.text("Female"))
+                    ,_createKeywordEntry("m", translate.text("Male"))
+                    ,_createKeywordEntry("o", translate.text("${GENDER_OTHER}"))
                 ]);
                 break;
             case "CONTRACT.CONTRACTTYPE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Framework contract"))
-                    ,createKeywordEntry("1", translate.text("Service contract"))
-                    ,createKeywordEntry("2", translate.text("Maintenance contract"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Framework contract"))
+                    ,_createKeywordEntry("1", translate.text("Service contract"))
+                    ,_createKeywordEntry("2", translate.text("Maintenance contract"))
                 ]);
                 break;
             case "CONTRACT.CONTRACTSTATUS":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Valid, unlimited"))
-                    ,createKeywordEntry("1", translate.text("Valid, limited"))
-                    ,createKeywordEntry("2", translate.text("Not signed yet"))
-                    ,createKeywordEntry("3", translate.text("None, individual count"))
-                    ,createKeywordEntry("4", translate.text("Cancelled"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Valid, unlimited"))
+                    ,_createKeywordEntry("1", translate.text("Valid, limited"))
+                    ,_createKeywordEntry("2", translate.text("Not signed yet"))
+                    ,_createKeywordEntry("3", translate.text("None, individual count"))
+                    ,_createKeywordEntry("4", translate.text("Cancelled"))
                 ]);
                 break;
             case "CONTRACT.PAYMENT":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("0", translate.text("Annually"))
-                    ,createKeywordEntry("1", translate.text("Semiannually"))
-                    ,createKeywordEntry("2", translate.text("Quarterly"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("0", translate.text("Annually"))
+                    ,_createKeywordEntry("1", translate.text("Semiannually"))
+                    ,_createKeywordEntry("2", translate.text("Quarterly"))
                 ]);
                 break;
             case "GROUPCODE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Commodity group 1"))
-                    ,createKeywordEntry("2", translate.text("Commodity group 2"))
-                    ,createKeywordEntry("3", translate.text("Commodity group 3"))
-                    ,createKeywordEntry("4", translate.text("Discount"))
-                    ,createKeywordEntry("5", translate.text("Spare parts"))
-                    ,createKeywordEntry("6", translate.text("Service"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Commodity group 1"))
+                    ,_createKeywordEntry("2", translate.text("Commodity group 2"))
+                    ,_createKeywordEntry("3", translate.text("Commodity group 3"))
+                    ,_createKeywordEntry("4", translate.text("Discount"))
+                    ,_createKeywordEntry("5", translate.text("Spare parts"))
+                    ,_createKeywordEntry("6", translate.text("Service"))
                 ]);
                 break;
             case "UNIT":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Pieces"))
-                    ,createKeywordEntry("2", translate.text("Kgs"))
-                    ,createKeywordEntry("3", translate.text("Liter"))
-                    ,createKeywordEntry("4", translate.text("Hours"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Pieces"))
+                    ,_createKeywordEntry("2", translate.text("Kgs"))
+                    ,_createKeywordEntry("3", translate.text("Liter"))
+                    ,_createKeywordEntry("4", translate.text("Hours"))
                 ]);
                 break;
             case "PRICELIST":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("${PRICELIST_DEFAULT}"))
-                    ,createKeywordEntry("2", translate.text("Key account"))
-                    ,createKeywordEntry("3", translate.text("Special price list1"))
-                    ,createKeywordEntry("4", translate.text("${PRICELIST_SERVICE}"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("${PRICELIST_DEFAULT}"))
+                    ,_createKeywordEntry("2", translate.text("Key account"))
+                    ,_createKeywordEntry("3", translate.text("Special price list1"))
+                    ,_createKeywordEntry("4", translate.text("${PRICELIST_SERVICE}"))
                 ]);
                 break;
             case "CURRENCY":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("EUR"))
-                    ,createKeywordEntry("2", translate.text("USD"))
-                    ,createKeywordEntry("3", translate.text("CND"))
-                    ,createKeywordEntry("4", translate.text("CHF"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("EUR"))
+                    ,_createKeywordEntry("2", translate.text("USD"))
+                    ,_createKeywordEntry("3", translate.text("CND"))
+                    ,_createKeywordEntry("4", translate.text("CHF"))
                 ]);
                 break;
             case "STOCK.WAREHOUSE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Warehouse 1"))
-                    ,createKeywordEntry("2", translate.text("Warehouse 2"))
-                    ,createKeywordEntry("3", translate.text("Warehouse 3"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Warehouse 1"))
+                    ,_createKeywordEntry("2", translate.text("Warehouse 2"))
+                    ,_createKeywordEntry("3", translate.text("Warehouse 3"))
                 ]);
                 break;
             case "SALESPROJECT.ESTIMATION":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Project_volume sufficient"))
-                    ,createKeywordEntry("2", translate.text("Project_budget available"))
-                    ,createKeywordEntry("3", translate.text("Project_specifications available"))
-                    ,createKeywordEntry("4", translate.text("Project_timeframe critical"))
-                    ,createKeywordEntry("5", translate.text("Project_payment default/penalty critical"))
-                    ,createKeywordEntry("6", translate.text("Project_references available"))
-                    ,createKeywordEntry("7", translate.text("Product_requirements suitable"))
-                    ,createKeywordEntry("8", translate.text("Product_philosophy fitting"))
-                    ,createKeywordEntry("9", translate.text("Product_industry template available"))
-                    ,createKeywordEntry("10", translate.text("Other_sympathy available"))
-                    ,createKeywordEntry("11", translate.text("Other_advocate available"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Project_volume sufficient"))
+                    ,_createKeywordEntry("2", translate.text("Project_budget available"))
+                    ,_createKeywordEntry("3", translate.text("Project_specifications available"))
+                    ,_createKeywordEntry("4", translate.text("Project_timeframe critical"))
+                    ,_createKeywordEntry("5", translate.text("Project_payment default/penalty critical"))
+                    ,_createKeywordEntry("6", translate.text("Project_references available"))
+                    ,_createKeywordEntry("7", translate.text("Product_requirements suitable"))
+                    ,_createKeywordEntry("8", translate.text("Product_philosophy fitting"))
+                    ,_createKeywordEntry("9", translate.text("Product_industry template available"))
+                    ,_createKeywordEntry("10", translate.text("Other_sympathy available"))
+                    ,_createKeywordEntry("11", translate.text("Other_advocate available"))
                 ]);                
                 break;
             case "SALESPROJECT.SOURCE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Own website"))
-                    ,createKeywordEntry("2", translate.text("Customer recommendation"))
-                    ,createKeywordEntry("3", translate.text("Address purchase"))
-                    ,createKeywordEntry("4", translate.text("Fair"))
-                    ,createKeywordEntry("5", translate.text("IBau"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Own website"))
+                    ,_createKeywordEntry("2", translate.text("Customer recommendation"))
+                    ,_createKeywordEntry("3", translate.text("Address purchase"))
+                    ,_createKeywordEntry("4", translate.text("Fair"))
+                    ,_createKeywordEntry("5", translate.text("IBau"))
                 ]);                
                 break;
             case "SALESPROJECT.STATE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Open"))
-                    ,createKeywordEntry("2", translate.text("Postponed"))
-                    ,createKeywordEntry("3", translate.text("Aborted"))
-                    ,createKeywordEntry("4", translate.text("Partial order"))
-                    ,createKeywordEntry("5", translate.text("Order"))
-                    ,createKeywordEntry("6", translate.text("Lost"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Open"))
+                    ,_createKeywordEntry("2", translate.text("Postponed"))
+                    ,_createKeywordEntry("3", translate.text("Aborted"))
+                    ,_createKeywordEntry("4", translate.text("Partial order"))
+                    ,_createKeywordEntry("5", translate.text("Order"))
+                    ,_createKeywordEntry("6", translate.text("Lost"))
                 ]);                
                 break;
             case "SALESPROJECT.PHASE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("9", translate.text("Project decision"))
-                    ,createKeywordEntry("8", translate.text("Negotiation"))
-                    ,createKeywordEntry("7", translate.text("Workshop"))
-                    ,createKeywordEntry("6", translate.text("Presentation follow-up"))
-                    ,createKeywordEntry("5", translate.text("Presentation preparation"))
-                    ,createKeywordEntry("4", translate.text("Deliver opinion"))
-                    ,createKeywordEntry("3", translate.text("Specifications in progress"))
-                    ,createKeywordEntry("2", translate.text("Waiting for requirements"))
-                    ,createKeywordEntry("1", translate.text("Lead"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("9", translate.text("Project decision"))
+                    ,_createKeywordEntry("8", translate.text("Negotiation"))
+                    ,_createKeywordEntry("7", translate.text("Workshop"))
+                    ,_createKeywordEntry("6", translate.text("Presentation follow-up"))
+                    ,_createKeywordEntry("5", translate.text("Presentation preparation"))
+                    ,_createKeywordEntry("4", translate.text("Deliver opinion"))
+                    ,_createKeywordEntry("3", translate.text("Specifications in progress"))
+                    ,_createKeywordEntry("2", translate.text("Waiting for requirements"))
+                    ,_createKeywordEntry("1", translate.text("Lead"))
                 ]);
                 break;
             case "SALESPROJECT.WONLOST":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Project_volume"))
-                    ,createKeywordEntry("2", translate.text("Project_duration"))
-                    ,createKeywordEntry("3", translate.text("Project_reference"))
-                    ,createKeywordEntry("4", translate.text("Product_technic"))
-                    ,createKeywordEntry("5", translate.text("Product_flexibility"))
-                    ,createKeywordEntry("6", translate.text("Product_GuI"))
-                    ,createKeywordEntry("7", translate.text("Product_functionality"))
-                    ,createKeywordEntry("8", translate.text("Product_industry knowhow"))
-                    ,createKeywordEntry("9", translate.text("Product_mobile use"))
-                    ,createKeywordEntry("10", translate.text("Company_size"))
-                    ,createKeywordEntry("11", translate.text("Company_internationality"))
-                    ,createKeywordEntry("12", translate.text("Company_industry knowhow"))
-                    ,createKeywordEntry("13", translate.text("Other_existing Customer"))
-                    ,createKeywordEntry("14", translate.text("Other_unknown"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Project_volume"))
+                    ,_createKeywordEntry("2", translate.text("Project_duration"))
+                    ,_createKeywordEntry("3", translate.text("Project_reference"))
+                    ,_createKeywordEntry("4", translate.text("Product_technic"))
+                    ,_createKeywordEntry("5", translate.text("Product_flexibility"))
+                    ,_createKeywordEntry("6", translate.text("Product_GuI"))
+                    ,_createKeywordEntry("7", translate.text("Product_functionality"))
+                    ,_createKeywordEntry("8", translate.text("Product_industry knowhow"))
+                    ,_createKeywordEntry("9", translate.text("Product_mobile use"))
+                    ,_createKeywordEntry("10", translate.text("Company_size"))
+                    ,_createKeywordEntry("11", translate.text("Company_internationality"))
+                    ,_createKeywordEntry("12", translate.text("Company_industry knowhow"))
+                    ,_createKeywordEntry("13", translate.text("Other_existing Customer"))
+                    ,_createKeywordEntry("14", translate.text("Other_unknown"))
                 ]);
                 break;
             case "SALESPROJECT.ROLE":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Project manager"))
-                    ,createKeywordEntry("2", translate.text("Project assistant"))
-                    ,createKeywordEntry("3", translate.text("Adviser"))
-                    ,createKeywordEntry("4", translate.text("Decision maker"))
-                    ,createKeywordEntry("5", translate.text("Sales AD"))
-                    ,createKeywordEntry("6", translate.text("Sales ID"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Project manager"))
+                    ,_createKeywordEntry("2", translate.text("Project assistant"))
+                    ,_createKeywordEntry("3", translate.text("Adviser"))
+                    ,_createKeywordEntry("4", translate.text("Decision maker"))
+                    ,_createKeywordEntry("5", translate.text("Sales AD"))
+                    ,_createKeywordEntry("6", translate.text("Sales ID"))
                 ]);
                 break;
             case "OFFER.PROBABILITY":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("0 %"), null, {percentValue: 0})
-                    ,createKeywordEntry("2", translate.text("25 %"), null, {percentValue: 25})
-                    ,createKeywordEntry("3", translate.text("50 %"), null, {percentValue: 50})
-                    ,createKeywordEntry("4", translate.text("75 %"), null, {percentValue: 75})
-                    ,createKeywordEntry("5", translate.text("100 %"), null, {percentValue: 100})
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("0 %"), null, {percentValue: 0})
+                    ,_createKeywordEntry("2", translate.text("25 %"), null, {percentValue: 25})
+                    ,_createKeywordEntry("3", translate.text("50 %"), null, {percentValue: 50})
+                    ,_createKeywordEntry("4", translate.text("75 %"), null, {percentValue: 75})
+                    ,_createKeywordEntry("5", translate.text("100 %"), null, {percentValue: 100})
                 ]);
                 break;
             case "OFFER.STATUS":
-                valueContainer = createKeywordEntriesContainer([
-                     createKeywordEntry("1", translate.text("Checked"))
-                    ,createKeywordEntry("2", translate.text("Sent"))
-                    ,createKeywordEntry("3", translate.text("Won"))
-                    ,createKeywordEntry("4", translate.text("Lost"))
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("Checked"))
+                    ,_createKeywordEntry("2", translate.text("Sent"))
+                    ,_createKeywordEntry("3", translate.text("Won"))
+                    ,_createKeywordEntry("4", translate.text("Lost"))
                 ]);
                 break;
             default: 
@@ -293,15 +296,15 @@ function KeywordUtils(){
                 keyObject = valueContainer[key]["customProperties"];
             else
                 keyObject = valueContainer[key];
-                
+
             if (keyObject == undefined)
                 return undefined;
             return keyObject[field];
         };
-        
+
         _getPropsForKeyFn = function(key, fields) {
             var keyObject, i, l, currentRow, currentField;
-            
+
             keyObject = valueContainer[key];
             if (keyObject == undefined)
                 return [];//TODO: throw error instead?
@@ -318,7 +321,7 @@ function KeywordUtils(){
             }
             return currentRow;
         };
-        
+
         _toArrayFn = function(fields){
             var res, id, currentRow;
 
@@ -331,7 +334,7 @@ function KeywordUtils(){
                 }
                 return res;
             }
-            
+
             for (id in valueContainer){
                 currentRow = _getPropsForKeyFn(id, fields);
                 res.push(currentRow);
@@ -357,7 +360,7 @@ function KeywordUtils(){
             }
         };
     };
-    
+
     /**
      * internal  function for creating an object that represents a keyword entry
      * @param {String} id represents the key of an entry; a KeywordEntriesContainer can contain the same key only once
@@ -366,7 +369,7 @@ function KeywordUtils(){
      * @param {Object} [customProperties=null] an Object with additional properties; these can be virtually anything
      * @return {Object} object that represents a single keyword entry; normally severel entries are cumulated in a "keywordEntriesContainer"
      */
-    function createKeywordEntry(id, name, description, customProperties){
+    function _createKeywordEntry(id, name, description, customProperties){
         //TODO: verify if mandatory-checks are really that usefull or can at least be made easier
         if (!id)
             throw new Error(translate.withArguments("the param \"%0\" in \"%1\" is mandatory and has to be set", [
@@ -387,10 +390,10 @@ function KeywordUtils(){
 
     /**
      * internal  function for creating an object that represents a container of several keywordEntries
-     * @param {Array} keywordEntries an Array of keywordEntry-objects (as they are created by "createKeywordEntry"
+     * @param {Array} keywordEntries an Array of keywordEntry-objects (as they are created by "_createKeywordEntry"
      * @return {Object} object that contains several keywordEntries
      */
-    function createKeywordEntriesContainer(keywordEntries){
+    function _createKeywordEntriesContainer(keywordEntries){
         var res, i, l, id;
 
         res = {};
@@ -403,4 +406,4 @@ function KeywordUtils(){
         }
         return res;
     }
-}
\ No newline at end of file
+})();
\ No newline at end of file
-- 
GitLab