diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index fcf879f04887778574b0293a2a677d92ccac7dd8..a9b9eac3121960b68e3d6a4cf4d740fa3aa21457 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -494,6 +494,10 @@ ContextSelector.prototype.setGroupBy = function(pValue)
 ContextUtils.getSelectMap  = function()
 {
     var maskingUtils = new SqlMaskingUtils();
+    var isOracle = maskingUtils.dbType == db.DBTYPE_ORACLE10_CLUSTER
+        || maskingUtils.dbType == db.DBTYPE_ORACLE10_OCI
+        || maskingUtils.dbType == db.DBTYPE_ORACLE10_THIN;
+    
     return {
             "Organisation": ContextSelector.create("ORGANISATION", "CONTACT.CONTACTID", "ORGANISATION.NAME")
                                        .setJoinExpression("join CONTACT on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID and CONTACT.PERSON_ID is null")
@@ -539,7 +543,7 @@ ContextUtils.getSelectMap  = function()
                                         .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                                 KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACTTYPE"),
                                                                 maskingUtils.cast("CONTRACTCODE", SQLTYPES.VARCHAR, 10)
-                                                                ], " "), SQLTYPES.NVARCHAR, 50))
+                                                                ], " "), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                         .setContactIdField("CONTACT_ID")
                                         .setCreationDateField("CONTRACTSTART")
                                         .setStateField("CONTRACTSTATUS")
@@ -551,7 +555,7 @@ ContextUtils.getSelectMap  = function()
                                                 maskingUtils.cast("OFFERCODE", SQLTYPES.VARCHAR, 10),
                                                 "'-'",
                                                 maskingUtils.cast("VERSNR", SQLTYPES.VARCHAR, 10)
-                                                ], "", false), SQLTYPES.NVARCHAR, 50))
+                                                ], "", false), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("OFFERDATE")
                                      .setStateField("STATUS")
@@ -560,7 +564,7 @@ ContextUtils.getSelectMap  = function()
                                      .setTitleExpression(maskingUtils.cast(maskingUtils.concat([
                                                         KeywordUtils.getResolvedTitleSqlPart("OrderType", "ORDERTYPE"),
                                                         maskingUtils.cast("SALESORDERCODE", SQLTYPES.VARCHAR, 10)
-                                                        ], " "), SQLTYPES.NVARCHAR, 50))
+                                                        ], " "), isOracle ? SQLTYPES.NVARCHAR : SQLTYPES.VARCHAR, 50))
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("SALESORDERDATE")
                                      .setStateField("ORDERSTATUS")
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index fc73644c5204df63d95c03bfddb4be197faad48b..75c6923e24957c4f574efec077d73d60d9a52680 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -3406,6 +3406,7 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
         case db.DBTYPE_MYSQL4:
             switch(pTargetDatatype) 
             {
+                case SQLTYPES.NVARCHAR:
                 case SQLTYPES.VARCHAR:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.INTEGER:
@@ -3445,18 +3446,23 @@ SqlMaskingUtils.prototype.cast = function (pField, pTargetDatatype, pTargetLengt
                 case SQLTYPES.INTEGER:
                 case SQLTYPES.CHAR:
                 case SQLTYPES.VARCHAR:
+                case SQLTYPES.NVARCHAR:
                     sqlDataType = _mapDefaults(pTargetDatatype);
                     break;
             }
             break;
         case db.DBTYPE_SQLSERVER2000:
-        case SQLTYPES.DATE:
-        case SQLTYPES.DECIMAL:
-        case SQLTYPES.INTEGER:
-        case SQLTYPES.CHAR:
-        case SQLTYPES.VARCHAR:
-            sqlDataType = _mapDefaults(pTargetDatatype);
-            break;
+            switch(pTargetDatatype)
+            {
+                case SQLTYPES.DATE:
+                case SQLTYPES.DECIMAL:
+                case SQLTYPES.INTEGER:
+                case SQLTYPES.CHAR:
+                case SQLTYPES.VARCHAR:
+                case SQLTYPES.NVARCHAR:
+                    sqlDataType = _mapDefaults(pTargetDatatype);
+                    break;
+            }
             //TODO: firebird support?
     }
 
@@ -3586,7 +3592,7 @@ SqlMaskingUtils.prototype.concat = function (pFields, pSeparator, pAutoTrimField
     
     if (pSeparator === null || pSeparator === undefined)
         pSeparator = "' '";
-    else if (pSeparator)
+    else if (pSeparator || pSeparator === "")
         pSeparator = "'" + db.quote(pSeparator, this.alias) + "'";
     
     var doEmptyStringCheck = true;