Access Control – Herencia

En esta lección continuamos con el ejemplo práctico de la clase CDS Access Control – Crear Instance Role  donde hemos aprendido cómo crear un objeto Access Control que maneja los datos que devuelve una vista CDS.
En este ejemplo creamos un nuevo objeto Access Control que hereda del anterior. De esta forma heredamos todos los filtros establecidos en el objeto padre y ampliamos con una nueva lógica que nos permitirá o restringirá el acceso a los datos.
Objetos creados en la clase CDS Access Control – Crear Instance Role:

  • CDS
  • Access Control

Procedimiento:

  1. Antes de crear el objeto visualizamos los datos que devuelve la vista CDS con la opción Data Preview. Como podemos observar por la restricción PurchasingGroup = ‘R10’ sólo se devuelven los datos con el grupo R10.
  2. 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.
  3. Una vez asignado el nombre, descripción y orden de transporte seguimos y seleccionamos de la plantilla de código la “Define Instance Role”.
  4. Implementamos la lógica y añadimos un nuevo filtro para el elemento PurchasinGroup = ‘LF1’. En la herencia, después del nombre del objeto padre Access Control, tenemos que utilizar la palabra reservada AND u OR ya que estamos continuando con el filtro del padre. Podemos ver este objeto como una modificación del objeto padre donde para añadir más filtros utilizamos AND u OR en la lógica del WHERE. Para este ejemplo utilizamos OR indicando que queremos controlar que se devuelva por la vista el valor establecido en el padre R10 y los registros con el valor LF1 en el elemento PurchasingGroup establecido por el objeto hijo.
  5. Realizamos un test con Data Preview visualizando los datos que devuelve la vista CDS.

Como podemos ver, se han devuelto los registros con el valor R10 controlado por el objeto padre y LF1 por el objeto hijo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *