diff --git a/entity/Competition_entity/Competition_entity.aod b/entity/Competition_entity/Competition_entity.aod
index 1fe54675aa10cb72973ac960741e10c8df5772c8..27776d910005d4b27eb3615e59024ae33bd481c8 100644
--- a/entity/Competition_entity/Competition_entity.aod
+++ b/entity/Competition_entity/Competition_entity.aod
@@ -296,10 +296,12 @@
         <dbRecordFieldMapping>
           <name>DATE_CANCELLED.value</name>
           <recordfield>COMPETITION.DATE_CANCELLED</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>INFO.value</name>
           <recordfield>COMPETITION.INFO</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ORGANISATION_NAME.value</name>
@@ -312,14 +314,17 @@
         <dbRecordFieldMapping>
           <name>REASON.value</name>
           <recordfield>COMPETITION.REASON</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
           <recordfield>COMPETITION.CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.value</name>
           <recordfield>COMPETITION.STATUS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.displayValue</name>
@@ -344,11 +349,20 @@
         <dbRecordFieldMapping>
           <name>PHASE.value</name>
           <recordfield>COMPETITION.PHASE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>COMPETITIONID.value</name>
           <recordfield>COMPETITION.COMPETITIONID</recordfield>
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Organisations</name>
+        </consumerMapping>
+        <consumerMapping>
+          <name>Organisation</name>
+          <isFilterable v="true" />
+          <filtertype>BASIC</filtertype>
+        </consumerMapping>
       </recordFieldMappings>
       <linkInformation>
         <linkInformation>
@@ -372,6 +386,7 @@
           <filterFieldsProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
           <filterValuesProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
           <filterConditionProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
       </filterExtensions>
diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod
index 97b8ff6f214851a906f1b612b6a4ab69cf5e482e..726c0a44ed24b0d7ec567ef035c6df891a84edff 100644
--- a/entity/Member_entity/Member_entity.aod
+++ b/entity/Member_entity/Member_entity.aod
@@ -24,6 +24,7 @@
       <consumer>Contacts</consumer>
       <linkedContext>Person</linkedContext>
       <mandatory v="true" />
+      <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/contact_id/dropDownProcess.js</dropDownProcess>
     </entityField>
     <entityField>
       <name>OBJECT_ROWID</name>
@@ -127,16 +128,19 @@
     <entityField>
       <name>CONTACTROLE</name>
       <title>Function</title>
+      <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/contactrole/dropDownProcess.js</dropDownProcess>
       <state>READONLY</state>
     </entityField>
     <entityField>
       <name>DEPARTMENT</name>
       <title>Department</title>
+      <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/department/dropDownProcess.js</dropDownProcess>
       <state>READONLY</state>
     </entityField>
     <entityField>
       <name>POSITION</name>
       <title>Position</title>
+      <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/position/dropDownProcess.js</dropDownProcess>
       <state>READONLY</state>
     </entityField>
     <entityField>
diff --git a/entity/Member_entity/entityfields/contact_id/dropDownProcess.js b/entity/Member_entity/entityfields/contact_id/dropDownProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e04712f9964d01c3585f846d62f43a8ec9c2a17b
--- /dev/null
+++ b/entity/Member_entity/entityfields/contact_id/dropDownProcess.js
@@ -0,0 +1,11 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+//This dropDownProcess exists, even though the fieldState is READONLY.
+//-->So we can use it when using the filter
+var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactPosition()).map(function (e){
+    return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
+});
+
+result.object(res);
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/contactrole/dropDownProcess.js b/entity/Member_entity/entityfields/contactrole/dropDownProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c7f69406b89ae9ea23e6dbc478aac060135aca11
--- /dev/null
+++ b/entity/Member_entity/entityfields/contactrole/dropDownProcess.js
@@ -0,0 +1,11 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+//This dropDownProcess exists, even though the fieldState is READONLY.
+//-->So we can use it when using the filter
+var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactContactrole()).map(function (e){
+    return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
+});
+
+result.object(res);
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/department/dropDownProcess.js b/entity/Member_entity/entityfields/department/dropDownProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e2e2b59d7aab8b70488b981e5ec1a4b56d347ea7
--- /dev/null
+++ b/entity/Member_entity/entityfields/department/dropDownProcess.js
@@ -0,0 +1,11 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+//This dropDownProcess exists, even though the fieldState is READONLY.
+//-->So we can use it when using the filter
+var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactDepartment()).map(function (e){
+    return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
+});
+
+result.object(res);
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/position/dropDownProcess.js b/entity/Member_entity/entityfields/position/dropDownProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e04712f9964d01c3585f846d62f43a8ec9c2a17b
--- /dev/null
+++ b/entity/Member_entity/entityfields/position/dropDownProcess.js
@@ -0,0 +1,11 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+//This dropDownProcess exists, even though the fieldState is READONLY.
+//-->So we can use it when using the filter
+var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactPosition()).map(function (e){
+    return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
+});
+
+result.object(res);
\ No newline at end of file
diff --git a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
index e6325607e20d595c4255e0ce13228fd2d08ae66b..9bdc00cf13fb54d355de21f794d28a9956bd2e84 100644
--- a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
+++ b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
   <name>CompetitionDrawer_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
   <layout>
     <drawerLayout>
       <name>layout</name>