diff --git a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js b/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js
index 246829a0939ec787dc3120eb207de15ecf92524a..5e0b9da78464ddf5464d0e585cb20d54fabb1cf5 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js
@@ -8,7 +8,7 @@ import("KeywordRegistry_basic");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("CONTRACTID, " 
+var sqlQuery = newSelect("CONTRACTID as \"_uid_\", " 
                     + sqlHelper.concat(["CONTRACTCODE", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractStatus(), "CONTRACTSTATUS")], " | ")
                     + " as TITLECOLUMN, " 
                     + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Type of contract") + ":'", 
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js b/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js
index 8e45835b1830cd62337b7379d863b8322472b63e..f1c99b739c8bd081d90c67e26442d96c773cb16b 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js
@@ -8,7 +8,7 @@ import("KeywordRegistry_basic");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("OFFERID, " 
+var sqlQuery = newSelect("OFFERID as \"_uid_\", " 
                         + sqlHelper.concat([sqlHelper.cast("OFFERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.offerStatus(), "OFFER.STATUS")], " | ")
                         + " as TITLECOLUMN, " 
                         + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Description") + ":'", sqlHelper.castLob("OFFER.INFO", 250)])  
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js b/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js
index 4c8439051784ec1a0e19cfbf28a1e4c4b1209114..c616bfc1b98e7fa8eea095d46c9f3953ae1db5ce 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js
@@ -6,7 +6,7 @@ import("Communication_lib");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("CONTACT.CONTACTID "
+var sqlQuery = newSelect("CONTACT.CONTACTID as \"_uid_\""
                             + "," + sqlHelper.concat(["ORGANISATION.NAME", "'|'", "ORGANISATION.CUSTOMERCODE"]) 
                             + " as TITLECOLUMN "
                             + "," + sqlHelper.concat([
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/person/query.js b/aliasDefinition/Data_alias/indexsearchgroups/person/query.js
index 3ed54fc08c605189fa2ca5de442e8dec088f9c1b..5090d95333cd71db0f2a6ec3640d0e2fcb3818a3 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/person/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/person/query.js
@@ -8,7 +8,7 @@ import("Communication_lib");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("CONTACT.CONTACTID "
+var sqlQuery = newSelect("CONTACT.CONTACTID as \"_uid_\""
                         + "," + sqlHelper.concat(["PERSON.SALUTATION", "PERSON.FIRSTNAME", "PERSON.LASTNAME", "'|'", "ORGANISATION.NAME"]) 
                         + " as TITLECOLUMN "
                         + "," + sqlHelper.concat([
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/product/query.js b/aliasDefinition/Data_alias/indexsearchgroups/product/query.js
index ae4c7967393e5ae45974a68d041eb6bfa763bfe9..58746cabc0092f332e39977fb0c51f40f5b326e6 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/product/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/product/query.js
@@ -7,7 +7,7 @@ import("KeywordRegistry_basic");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("PRODUCTID, " 
+var sqlQuery = newSelect("PRODUCTID as \"_uid_\", " 
                         + sqlHelper.concat(["PRODUCTCODE", "PRODUCTNAME"], " | ")
                         + " as TITLECOLUMN, " 
                         + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODEID")
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js
index e3336377e4cff90461b0bfda6a56b2254108770f..b052a3e88e0c0d83dfc3ebfab3cf0961cd884d0b 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js
@@ -8,7 +8,7 @@ import("KeywordRegistry_basic");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("SALESORDERID, " 
+var sqlQuery = newSelect("SALESORDERID as \"_uid_\", " 
                         + sqlHelper.concat([sqlHelper.cast("SALESORDERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesorderState(), "SALESORDER.STATUS")], " | ")
                         + " as TITLECOLUMN, " 
                         + sqlHelper.concat(["ORGANISATION.NAME"], " | ") 
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
index 2c0c8f45233ac9fb30996c54fee3f07192835caa..b5cf6826e387801f367b4132aca3c97ceca9aff6 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
@@ -7,7 +7,7 @@ import("KeywordRegistry_basic");
 
 var sqlHelper = new SqlMaskingUtils();
 
-var sqlQuery = newSelect("SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, " 
+var sqlQuery = newSelect("SALESPROJECTID as \"_uid_\", PROJECTTITLE as TITLECOLUMN, " 
                         + sqlHelper.concat([
                             "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS"),
                             "'| " + translate.text("Phase") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
diff --git a/entity/Person_entity/recordcontainers/index/query.js b/entity/Person_entity/recordcontainers/index/query.js
index cb7a36c3abd0d9217b2c7848b6e2b4f53bbb3151..0897f96b0a0e66b2cdaaa9ea7193b6cb5fe1a1af 100644
--- a/entity/Person_entity/recordcontainers/index/query.js
+++ b/entity/Person_entity/recordcontainers/index/query.js
@@ -6,43 +6,43 @@ import("system.db");
 import("Sql_lib");
 import("Communication_lib");
 
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
+var sqlHelper = new SqlMaskingUtils();
+var querySelect = newSelect("CONTACT.CONTACTID as \"_uid_\""
+                        + "," + sqlHelper.concat(["PERSON.SALUTATION", "PERSON.FIRSTNAME", "PERSON.LASTNAME", "'|'", "ORGANISATION.NAME"]) //  as "_title_"
+                        + "," + sqlHelper.concat([
+                             sqlHelper.concat(["defaultAddress.ADDRESS", "defaultAddress.BUILDINGNO", "'-'"
+                                ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
+                            ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
+                            ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
+                            ], " | ") // as "_description_"
+                        //additional indexed fields
+                        + ", CONTACT.CONTACTID "
+                        + ", PERSON.PERSONID "
+                        + ", PERSON.SALUTATION "
+                        + ", PERSON.TITLE " // as "TITLE.value
+                        + ", PERSON.FIRSTNAME "
+                        + ", PERSON.LASTNAME "
+                        + ", TRIM(PERSON.GENDER) " // as GENDER
+                        + ", CONTACT.ORGANISATION_ID "
+                        + ", ORGANISATION.NAME "
+                        + ", COMMUNICATION.ADDR " // as IndexCommunication
+                        + ", ADDRESS.ADDRESS " // as IndexAddress
+                        + ", ADDRESS.COUNTRY " // as IndexCountry
+                        + ", ADDRESS.ZIP " // as IndexZIP
+                        + ", ADDRESS.CITY " // as IndexCity"
+                        + ", PERSON.FIRSTNAME " // as IndexPhoneticFirstname
+                        + ", PERSON.LASTNAME ")
+                    .from("PERSON")
+                    .join("CONTACT", "CONTACT.PERSON_ID = PERSON.PERSONID")
+                    .join("ORGANISATION", "CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID")
+                    .leftJoin("ADDRESS", "defaultAddress.ADDRESSID = CONTACT.ADDRESS_ID", "defaultAddress")
+                    .leftJoin("ADDRESS", "ADDRESS.CONTACT_ID = CONTACT.CONTACTID or ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID")
+                    .leftJoin("COMMUNICATION", "COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID")
+                    .orderBy("CONTACT.CONTACTID");
+
 if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where CONTACT.CONTACTID in ('" + affectedIds.join("', '") + "')";
+    var affectedIds = vars.get("$local.idvalue");
+    sqlQuery.whereIfSet("CONTACT.CONTACTID", affectedIds, SqlBuilder.IN());
 }
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = 'select CONTACT.CONTACTID ' // as "_uid_"
-    + "," + sqlHelper.concat(["PERSON.SALUTATION", "PERSON.FIRSTNAME", "PERSON.LASTNAME", "'|'", "ORGANISATION.NAME"]) //  as "_title_"
-    + "," + sqlHelper.concat([
-         sqlHelper.concat(["defaultAddress.ADDRESS", "defaultAddress.BUILDINGNO", "'-'"
-            ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
-        ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
-        ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
-        ], " | ") // as "_description_"
-    //additional indexed fields
-    + ", CONTACT.CONTACTID "
-    + ", PERSON.PERSONID "
-    + ", PERSON.SALUTATION "
-    + ", PERSON.TITLE " // as "TITLE.value
-    + ", PERSON.FIRSTNAME "
-    + ", PERSON.LASTNAME "
-    + ", TRIM(PERSON.GENDER) " // as GENDER
-    + ", CONTACT.ORGANISATION_ID "
-    + ", ORGANISATION.NAME "
-    + ", COMMUNICATION.ADDR " // as IndexCommunication
-    + ", ADDRESS.ADDRESS " // as IndexAddress
-    + ", ADDRESS.COUNTRY " // as IndexCountry
-    + ", ADDRESS.ZIP " // as IndexZIP
-    + ", ADDRESS.CITY " // as IndexCity"
-    + ", PERSON.FIRSTNAME " // as IndexPhoneticFirstname
-    + ", PERSON.LASTNAME " // as IndexPhoneticLastname
-    + " from PERSON "
-    + " join CONTACT on CONTACT.PERSON_ID = PERSON.PERSONID "
-    + " join ORGANISATION on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID "
-    + " left join ADDRESS defaultAddress on defaultAddress.ADDRESSID = CONTACT.ADDRESS_ID "
-    + " left join ADDRESS on ADDRESS.CONTACT_ID = CONTACT.CONTACTID or ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID "
-    + " left join COMMUNICATION on COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID "
-    + (queryCondition || "") 
-    + " order by CONTACT.CONTACTID ";
+
 result.string(sqlQuery);
\ No newline at end of file