¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Optimización de rendimiento con Asociaciones en vistas CDS de SAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 86 Vistas
0
Cargando...
En las publicaciones de blog anteriores , pudiste ver que las vistas CDS son una mejora de SQL y en proyectos en tiempo real, necesitamos unir múltiples tablas juntas para convertir los datos en información significativa. Veamos cómo funciona con las vistas CDS.

JOINS: Podemos utilizar diferentes tipos de Joins dentro de una vista CDS;



    • Inner Join

    • Left Outer join

    • Right outer join




No hablaré sobre todos los Joins, se comportan de manera similar a los conceptos simples de SQL. Veamos un ejemplo de código de Inner Join con fines de sintaxis;

  1. Crea una nueva vista CDS con plantilla 'JOIN'






Agrega los componentes necesarios para completar la vista. Une las tablas SFLIGHT y SPFLI. Agrega información del aeropuerto de la tabla SPFLI.



  • Activa y ejecuta la vista para ver los datos;






Vimos cómo una vista CDS obtuvo datos de 2 tablas con la ayuda de un Join. Ahora pensemos ¿por qué creamos estas vistas CDS? ¿Cuál es el propósito?

Las vistas CDS no son accedidas directamente por los usuarios comerciales, sino que serán consumidas por un programa ABAP, aplicaciones Fiori o herramientas de front-end de BI. Si has creado una vista CDS con Joins en 5 tablas diferentes, entonces estas condiciones de Join se ejecutarán cada vez que se active esta vista CDS. Aunque el usuario comercial esté viendo solo campos de 2 tablas, la vista CDS primero ejecutará las condiciones de Join de las 5 tablas y no importa cuántos campos esté viendo el usuario. Este es el concepto de SQL con Joins pero resulta en un rendimiento retrasado para obtener los datos de la vista CDS en caso de que el usuario esté viendo solo los datos parciales. Para superar este problema, SAP hizo una mejora a esta forma de obtener datos con SQL y desarrolló de manera excelente el concepto de 'ASOCIACIONES'. Con las Asociaciones, los datos se obtendrán solo cuando el usuario desee verlos. Veamos cómo funciona;



ASOCIACIONES:

Las ASOCIACIONES son una especie de Joins para obtener datos de múltiples tablas en condiciones de Join, pero estos son 'JOINS BAJO DEMANDA', es decir, solo se activarán cuando el usuario acceda a los datos requeridos que necesitan la Asociación de tablas. Por ejemplo, si tu vista CDS tiene 4 Asociaciones configuradas y el usuario está obteniendo datos solo de 2 tablas, la ASOCIACIÓN en las otras 2 tablas no se activará y el sistema devolverá los resultados rápidamente, lo que permite un tiempo de respuesta muy rápido en comparación con los Joins SQL regulares.

Las Asociaciones se definen con 'Cardinalidad'. Sintaxis: asociación[<cardinalidad>]

El concepto de Cardinalidad no es nuevo y sigue el mismo concepto con las vistas CDS también. Hay 4 tipos de Cardinalidad posibles basados en los datos y la relación en las tablas unidas;

  • 0..1

  • 0..n o 0..*

  • 1..0

  • 1..n o 1..*


NOTA : Si estás confundido sobre qué tipo de asociación deberías configurar en tu vista CDS, puedes aplicar una regla general: 'siempre usa esto : association[1]. Esto siempre activará un OUTER join y funcionará en todos los casos.

Creemos una vista CDS con el concepto de ASOCIACIÓN.

  1. Crea una vista con la plantilla de Asociación;




Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?