En este post rápido, les voy a mostrar como crear una vista CDS fácilmente.
Ingresamos a Eclipse, vamos al package que usemos o creamos un Data Definition como objeto local.
En la ventana que se abre, buscamos Core Data Services y seleccionamos Data Definition.
Ingresamos un nombre / Descripción y hacemos click en next.
En la siguiente pantalla, se nos dará la opción de elegir una orden de transporte, en el caso que estemos trabajando en un package, si estamos en un objeto local nos aparecerá la pantalla griseada.
Seleccionamos la orden de transporte y hacemos click en next.
Si estamos en un objeto local hacemos click en next.
En la siguiente pantalla se nos dará a seleccionar un template para la vista CDS, seleccionamos Define View y hacemos click en Finish.
Al hacer click en Finish volveremos a Eclipse y veremos algo como lo siguiente:
En esta pantalla, debemos ingresar un nombre para nuestra vista ABAP (sqlViewName) y reemplazar el data_source_name por las tablas de donde sacamos los datos. Por ejemplo:
@AbapCatalog.sqlViewName: 'ZCDS_VUELOS_V'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'CDS Para aerolineas y vuelos'
define view ZCDS_VUELOS as select from scarr
join sflight
on scarr.carrid = sflight.carrid
join sbook
on sflight.carrid = sbook.carrid and
sflight.connid = sbook.connid and
sflight.fldate = sbook.fldate
{
key scarr.carrid,
key sflight.connid,
key sflight.fldate,
key sbook.bookid,
scarr.carrname,
scarr.url,
sflight.price,
sflight.currency,
sflight.planetype,
sflight.seatsmax,
sflight.seatsocc,
sbook.customid,
sbook.custtype,
sbook.class,
sbook.loccuram,
sbook.loccurkey,
sbook.order_date,
sbook.passname
}
En esta vista CDS podemos ver que estamos haciendo un JOIN de 3 tablas.
Una ves que tenemos nuestra vista CDS lista, activamos (CTRL+F3).
Con nuestra vista CDS ya activa podemos ir a la SE16 con el nombre, en este caso ZCDS_VUELOS_V y probarla.
Vemos que nos trae datos:
También la podemos probar desde eclipse, haciendo click derecho sobre nuestra vista CDS y yendo a:
Tambien podemos hacer uso de la vista CDS desde un reporte de ABAP común y corriente.
Como podemos ver en la captura, estamos parados después de que se realizo el SELECT y la tabla interna LT_DATOS contiene datos.