diff --git a/entity/ActivityLink_entity/ActivityLink_entity.aod b/entity/ActivityLink_entity/ActivityLink_entity.aod
index be409330d53def37793e2e0c360ff2aad8aa61c6..bf6bac7e1b76d842c6774c8da6d4540b43122a85 100644
--- a/entity/ActivityLink_entity/ActivityLink_entity.aod
+++ b/entity/ActivityLink_entity/ActivityLink_entity.aod
@@ -10,9 +10,11 @@
     </entityProvider>
     <entityField>
       <name>ACTIVITYLINKID</name>
+      <valueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>OBJECT_TYPE</name>
+      <title>Object type</title>
       <consumer>Contexts</consumer>
       <linkedContext>Context</linkedContext>
       <displayValueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess>
@@ -22,22 +24,12 @@
       <title>Beziehung</title>
       <consumer>Objects</consumer>
       <linkedContextProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess>
+      <displayValueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>ACTIVITY_ID</name>
+      <valueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js</valueProcess>
     </entityField>
-    <entityParameter>
-      <name>ObjectRowid_param</name>
-      <expose v="true" />
-      <triggerRecalculation v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityParameter>
-      <name>ObjectType_param</name>
-      <expose v="true" />
-      <triggerRecalculation v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
     <entityProvider>
       <name>Link</name>
       <fieldType>DEPENDENCY_IN</fieldType>
@@ -54,11 +46,7 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>ObjectRowid_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectType_param</name>
+          <name>ActivityId_param</name>
           <expose v="true" />
         </entityParameter>
       </children>
@@ -88,6 +76,11 @@
         <fieldName>#PROVIDER</fieldName>
       </dependency>
     </entityConsumer>
+    <entityParameter>
+      <name>ActivityId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js b/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..3d7f987d124710e6e2987bac550e6c8b6eaaa119
--- /dev/null
+++ b/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$param.ActivityId_param"))
\ No newline at end of file
diff --git a/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js b/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..86ef789e064a4016f2d12c432498dc23474807aa
--- /dev/null
+++ b/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4bec272246cb114439a2de8479cbfa9c9feebfe7
--- /dev/null
+++ b/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("Context_lib");
+
+if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE"))
+    result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID"))));
\ No newline at end of file
diff --git a/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js b/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js
index af5991c0cd552dd6b51fe8b99cf7e95139c84c5f..f5f56bc8bb2e41b4b3a1e60bba4cbde45f4a1e05 100644
--- a/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js
@@ -1,10 +1,13 @@
+import("system.logging");
+import("system.vars");
 import("system.db");
 import("system.result");
 import("Sql_lib");
 
+logging.log("GET: " + vars.get("$param.ActivityId_param"))
+
 var cond = SqlCondition.begin()
-                       .andPrepareVars("ACTIVITYLINK.OBJECT_ROWID", "$param.ObjectRowid_param")
-                       .andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectType_param");
+                       .andPrepareVars("ACTIVITYLINK.ACTIVITY_ID", "$param.ActivityId_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
-result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
+result.string(db.translateCondition(cond.build("1 = 0")));
\ No newline at end of file
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 529db43dc538ae9bcd337e7b1b9af89ff79c3eea..52c7b7707909e889ab2089eb686bff45fc37cfd1 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -147,7 +147,6 @@
     </entityField>
     <entityParameter>
       <name>ActivityId_param</name>
-      <expose v="true" />
       <mandatory v="false" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -184,12 +183,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>ObjectRowid_param</name>
-          <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/objectrowid_param/code.js</code>
-        </entityParameter>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/objecttype_param/code.js</code>
+          <name>ActivityId_param</name>
+          <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/activityid_param/code.js</code>
+          <expose v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Activity_entity/entityfields/links/children/activityid_param/code.js b/entity/Activity_entity/entityfields/links/children/activityid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8267b62060b4bd30cedaba4713f4421a6e6f9ff
--- /dev/null
+++ b/entity/Activity_entity/entityfields/links/children/activityid_param/code.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.ACTIVITYID"));
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
index f8ca95a041f3a052a2e375692dcaa0bdf90d52f3..9c8391b37c47aa5a3d88d8d58f8d5b59760f8470 100644
--- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
@@ -9,6 +9,7 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.
     var activityLinkCond = SqlCondition.begin().andPrepareVars("ACTIVITYLINK.OBJECT_ROWID", "$param.RowId_param")
                                                .andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectId_param");
 
+                                                            // TODO: more performant way than IN. Maybe a join??
     cond.and(db.translateStatement(activityLinkCond.buildSql("ACTIVITY.ACTIVITYID in (select ACTIVITYLINK.ACTIVITY_ID from ACTIVITYLINK", "1=2", ")")))
 }
     
diff --git a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
index 597ac9502a58f95a5c666e853338c7f276225c48..d7491b7ecf0d1e22859cd53718fcbc68c1b872bc 100644
--- a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
+++ b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
@@ -11,6 +11,7 @@
   <children>
     <tableViewTemplate>
       <name>ActivityLinkFilter_template</name>
+      <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>