diff --git a/src-db/database/sourcedata/AD_REFERENCE.xml b/src-db/database/sourcedata/AD_REFERENCE.xml
--- a/src-db/database/sourcedata/AD_REFERENCE.xml
+++ b/src-db/database/sourcedata/AD_REFERENCE.xml
@@ -4250,6 +4250,18 @@
 <!--0588C365DDAC46079E9D6ABD652CB6E4-->  <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
 <!--0588C365DDAC46079E9D6ABD652CB6E4--></AD_REFERENCE>
 
+<!--06AB6C4089ED49C387779E28E0359F8C--><AD_REFERENCE>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <AD_REFERENCE_ID><![CDATA[06AB6C4089ED49C387779E28E0359F8C]]></AD_REFERENCE_ID>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <NAME><![CDATA[Context Role Direct Accessible Organizations]]></NAME>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <ISBASEREFERENCE><![CDATA[N]]></ISBASEREFERENCE>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <PARENTREFERENCE_ID><![CDATA[95E2A8B50A254B2AAE6774B8C2F28120]]></PARENTREFERENCE_ID>
+<!--06AB6C4089ED49C387779E28E0359F8C-->  <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
+<!--06AB6C4089ED49C387779E28E0359F8C--></AD_REFERENCE>
+
 <!--085E99751D2045AA9D4FA23F4B765B21--><AD_REFERENCE>
 <!--085E99751D2045AA9D4FA23F4B765B21-->  <AD_REFERENCE_ID><![CDATA[085E99751D2045AA9D4FA23F4B765B21]]></AD_REFERENCE_ID>
 <!--085E99751D2045AA9D4FA23F4B765B21-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml b/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
--- a/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
+++ b/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
@@ -517,7 +517,7 @@
 <!--3DBAFE673E004477AD1426381A44134A-->  <HELP><![CDATA[An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.]]></HELP>
 <!--3DBAFE673E004477AD1426381A44134A-->  <SEQNO><![CDATA[10]]></SEQNO>
 <!--3DBAFE673E004477AD1426381A44134A-->  <AD_REFERENCE_ID><![CDATA[95E2A8B50A254B2AAE6774B8C2F28120]]></AD_REFERENCE_ID>
-<!--3DBAFE673E004477AD1426381A44134A-->  <AD_REFERENCE_VALUE_ID><![CDATA[100A788331734AE8BCC87BA0AC9E3406]]></AD_REFERENCE_VALUE_ID>
+<!--3DBAFE673E004477AD1426381A44134A-->  <AD_REFERENCE_VALUE_ID><![CDATA[06AB6C4089ED49C387779E28E0359F8C]]></AD_REFERENCE_VALUE_ID>
 <!--3DBAFE673E004477AD1426381A44134A-->  <COLUMNNAME><![CDATA[AD_Org_ID]]></COLUMNNAME>
 <!--3DBAFE673E004477AD1426381A44134A-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
 <!--3DBAFE673E004477AD1426381A44134A-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
diff --git a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
--- a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
+++ b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
@@ -1080,6 +1080,22 @@
 <!--E65052A724B3451CA643A0CC355CEA40-->  <CUSTOM_QUERY><![CDATA[N]]></CUSTOM_QUERY>
 <!--E65052A724B3451CA643A0CC355CEA40--></OBUISEL_SELECTOR>
 
+<!--E80D7648BF3848BD9DD23B31287CC59B--><OBUISEL_SELECTOR>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <OBUISEL_SELECTOR_ID><![CDATA[E80D7648BF3848BD9DD23B31287CC59B]]></OBUISEL_SELECTOR_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <NAME><![CDATA[Context Role Direct Accessible Organizations]]></NAME>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <AD_REFERENCE_ID><![CDATA[06AB6C4089ED49C387779E28E0359F8C]]></AD_REFERENCE_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <AD_TABLE_ID><![CDATA[155]]></AD_TABLE_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <FILTER_EXPRESSION><![CDATA[OB.getFilterExpression("org.openbravo.erpCommon.info.ContextRoleDirectAccessibleOrganizations")]]></FILTER_EXPRESSION>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <OBCLKER_TEMPLATE_ID><![CDATA[9314DE8599AD44E7BFC4CC50699042AB]]></OBCLKER_TEMPLATE_ID>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <SUGGESTIONTEXTMATCHSTYLE><![CDATA[startsWith]]></SUGGESTIONTEXTMATCHSTYLE>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <POPUPTEXTMATCHSTYLE><![CDATA[startsWith]]></POPUPTEXTMATCHSTYLE>
+<!--E80D7648BF3848BD9DD23B31287CC59B-->  <CUSTOM_QUERY><![CDATA[N]]></CUSTOM_QUERY>
+<!--E80D7648BF3848BD9DD23B31287CC59B--></OBUISEL_SELECTOR>
+
 <!--E8F1B0721E104D07AAC532290C951C37--><OBUISEL_SELECTOR>
 <!--E8F1B0721E104D07AAC532290C951C37-->  <OBUISEL_SELECTOR_ID><![CDATA[E8F1B0721E104D07AAC532290C951C37]]></OBUISEL_SELECTOR_ID>
 <!--E8F1B0721E104D07AAC532290C951C37-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/erpCommon/info/ContextRoleDirectAccessibleOrganizations.java b/src/org/openbravo/erpCommon/info/ContextRoleDirectAccessibleOrganizations.java
new file mode 100644
--- /dev/null
+++ b/src/org/openbravo/erpCommon/info/ContextRoleDirectAccessibleOrganizations.java
@@ -0,0 +1,65 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2017 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+
+package org.openbravo.erpCommon.info;
+
+import java.util.Map;
+
+import org.openbravo.base.model.AccessLevel;
+import org.openbravo.client.application.FilterExpression;
+import org.openbravo.client.application.Process;
+import org.openbravo.client.kernel.RequestContext;
+import org.openbravo.dal.service.OBDal;
+import org.springframework.util.StringUtils;
+
+/**
+ * Filter expression for the "Context Role Direct Accessible Organizations" reference.
+ * 
+ * It filters the organizations to be displayed taking into account if their access has been
+ * explicitly defined for the role in the current context. It also takes into account if the access
+ * level of the process definition allows to include the organization '*'.
+ */
+public class ContextRoleDirectAccessibleOrganizations implements FilterExpression {
+
+  @Override
+  public String getExpression(Map<String, String> requestMap) {
+    StringBuilder filterExpression = new StringBuilder("");
+    String userOrgs = RequestContext.get().getVariablesSecureApp().getSessionValue("#User_Org");
+    if (StringUtils.isEmpty(userOrgs)) {
+      return filterExpression.toString();
+    }
+    filterExpression.append("e.id IN(" + userOrgs + ")");
+    if (!requestMap.containsKey("_processDefinitionId")) {
+      return filterExpression.toString();
+    }
+    int accessLevel = getProcessDefinitionAccessLevel(requestMap.get("_processDefinitionId"));
+    if (AccessLevel.ORGANIZATION.getDbValue() == accessLevel) {
+      filterExpression.append(" AND e.id <> '0'");
+    }
+    return filterExpression.toString();
+  }
+
+  private int getProcessDefinitionAccessLevel(String processDefinitionId) {
+    Process processDefinition = OBDal.getInstance().get(Process.class, processDefinitionId);
+    if (processDefinition == null) {
+      return -1;
+    }
+    return Integer.parseInt(processDefinition.getDataAccessLevel());
+  }
+}
