Los objetos CDS Access Control permiten controlar los datos que devuelven las vistas CDS en las operaciones Open SQL y SADL.
En esta lección crearemos un objeto Access Control que va a impedir el acceso a los datos devueltos por una vista CDS.
El objeto CDS que utilizamos es el siguiente:
Antes de empezar con la creación del objeto de control realizamos un test con la opción Data Preview para visualizar los datos que devuelve el CDS.
Procedimiento para impedir el acceso a los datos a través de open SQL o SADL:
- En Eclipse, en ADT utilizamos la opción del menú contextual que se habilita al pulsar el botón derecho del ratón sobre el nombre del paquete de desarrollo. Creamos el objeto Access Control de la carpeta Core Data Services.
- Una vez asignado el nombre, descripción y orden de transporte seguimos y seleccionamos de la plantilla de código la “Define Access Inhibiting Role”.
- Implementamos la lógica utilizando un filtro con una condición que siempre es falsa.
- Realizamos un test visualizando los datos devueltos por la vista CDS por la opción Data Preview. Como podemos ver no se devuelven datos ya que la condición del objeto Access Control no se cumple.Aspecto importante: En tiempo de ejecución se evalúan todos los objetos Access Control y se aplica el control del objeto menos restrictivo. Por lo tanto, esta restricción de impedir el acceso a una vista CDS funciona siempre y cuando no exista otro objeto de control menos restrictivo.