Está en la página 1de 4

CDS VIEW

Diapositivas 1 - 3

se resume en hacer todo lo que puedas en base de datos para no cargar innecesariamente la
aplicación,

se le denomina “Code Pushdown”.

Los CDS constan de los tres siguientes sub-lenguajes que abordan los diferentes subdominios
de modelado de datos y acceso

Data Definition Language (DDL)

La parte DDL de los Core Data Services puede considerarse una mejora de SQL que permite
definir tablas y vistas de base de datos

Query Language (QL)

Las vistas definidas con Data Definition Language de CDS, se pueden consumir en programas
ABAP utilizando el lenguaje de consulta Open SQL

 Data Control Language (DCL)


El DCL se utiliza para definir autorizaciones para las entidades CDS de forma declarativa.
Este es un concepto nuevo y para Las autorizaciones se pueden comprobar de dos maneras:

1. Comprobar las autorizaciones implícitamente: cuando se llaman transacciones.


2. Comprobar las autorizaciones explícitamente: utilizando la sentencia AUTHORITY CHECK.

Esto lo veremos en los ejemplos, pero básicamente podemos definir una autorización para que
todos o algunos usuarios puedan acceder y/o ejecutar una vista en concreto.

Explicar tabla de mejoras diapositiva 4

Diapositiva 5 capas

Tenemos 3 capas, presentación lo que ve el usuario, debe ser una interfaz amigable y
funcional, aplicación contiene el backend y sap Gateway y la capa de base de datos que es
donde debemos mover la lógica para optimizar los tiempos de ejecución de las aplicaciones.
Diapositiva 6

Vamos a crear nuestra primera vista CDS, lo primero que debemos hacer es instalar eclipse y
una vez instalado ir Help>install new software

Añadimos el siguiente “work with”

https://tools.hana.ondemand.com/oxygen

Marcamos todo y finalizamos, con esto tenemos el eclipse con la herramienta de


programación en ABAP y las herramientas de HANA.

Creamos un nuevo proyecto y lo conectamos con los datos de conexión de SAP LOGON, luego
creamos un paquete y dentro un Data Definition para empezar a crear nuestra vista.

Una vez definida, nos genera la definición empezamos a ajustarla para nuestro caso.

En sql view name = y el nombre de la vista sql

Ddl_name_source_editable = nombre del data definition

Vamos a ver un ejemplo sencillo donde usamos nuestra vista en un report y mostramos los
datos.

Los siguientes ejemplos son iguales pero añadiendo la sentencia case o también podemos
hacer sumatorios para tener subtotales ya creados en la vista, counts para numero de pedidos
o también lo podemos usar para numero de palets etc etc

Tambien podemos crear vista con parámetros como vemos en el ejemplo, y dependiendo del
parámetro realizamos una opción y otra.

Por ejemplo si creamos una vista que llama a la función ADR_GET que acepta como parámetro
el ADNR, si en esta vista le indicamos el adnr según lo que necesitemos, tendremos una vista
que devuelve los datos de dirección para proveedor, socidad, solicitante etc etc lógicamente
estas vistas las podemos replicar en otros proyectos y reutilizarlas, por lo que tendríamos 1
vista para recuperar todos los datos de dirección para cualquier formulario (que necesite esos
datos) para cualquier proyecto y todo esto optimizando los tiempo de procesamiento de la
aplicación.

Supongamos que tenemos la vista anterior creada, y preparada pero para un caso en concreto
necesitamos mas datos, o calcular otro valor, podemos extender las Vistas como si
extendiéramos un BADI.

En este caso se creo una extensión para comprobar si el importe bruto es mayor a un importe
para definir el impacto (se podría crear en la vista principal pero la cree como extensión para el
ejemplo)
Diapositiva 17

Formas de buscar las vistas CDS que tenemos en el sistema:

Personalmente la más cómoda sería la última pero se puede buscar de varias maneras

Diapositiva 22

¿Y si queremos que nuestra vista CDS la podamos consumir como un servicio ODATA y
utilizarlo en una app FIORI por ejemplo?

CDS EN ODATA

Hay una serie de paso para crear un servicio ODATA pero de la siguiente forma es mucho mas
rápido, y automático:

@odata.publish = true

Iriamos a la transacción MAINT_SERVICE para añadir nuestro servicio, en mi caso era un CDS
en LOCAL una Y* completo los campos, le doy a buscar, selecciono el servicio y lo añado.

Ahora ya tenemos nuestro servicio en MAINT_SERVICE, lo probamos con cliente SAP GATEWAY
y con $metadata vemos que tiene 200 y OK, comprobamos en eclipse que el odata nos indica
que esta correcto.

Diapositiva 27

Muy bien, tenemos nuestro servicio, que devuelve datos de una vista creada en eclipse, ahora
vamos a consumirla en una APP fiori con una plantilla simple para mostrar datos de la vista
que hemos creado.

Seguimos los pasos pero básicamente es elegir una plantilla, indicarle el nombre del servicio, la
conexión y listo.

La idea es que realizamos las búsquedas y cálculos en la vista, y en la APP solo debemos
mostrar los datos.

Diapositiva 32 BOPF Business Object Processing Framework

Vamos a crear un ejemplo como el anterior, pero usando BOPF, en este caso conseguiremos
crear un CRUD (crear modificar eliminar) , para hacer modificaciones en los datos de la base de
datos y aparte la vista para mostrar los datos y los cambios.

BOPF es un framework y como tal nos ayuda a programar generando funcionalidades standard
como el crud que indicaremos.

AMDP

Clases y objetos para crearlo, mejoras entre cds y amdp.

También podría gustarte