{"id":65,"date":"2021-06-24T19:10:37","date_gmt":"2021-06-24T22:10:37","guid":{"rendered":"https:\/\/www.matiasvillagarcia.com\/blog\/?p=65"},"modified":"2021-06-24T19:13:23","modified_gmt":"2021-06-24T22:13:23","slug":"creando-una-vista-cds","status":"publish","type":"post","link":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/2021\/06\/24\/creando-una-vista-cds\/","title":{"rendered":"Creando una vista CDS"},"content":{"rendered":"\n<p>En este post r\u00e1pido, les voy a mostrar como crear una vista CDS f\u00e1cilmente.<\/p>\n\n\n\n<p>Ingresamos a Eclipse, vamos al package que usemos o creamos un Data Definition como objeto local.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"419\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image.png\" alt=\"\" class=\"wp-image-66\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image.png 491w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-300x256.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/figure>\n\n\n\n<p>En la ventana que se abre, buscamos Core Data Services y seleccionamos Data Definition.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"471\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-1.png\" alt=\"\" class=\"wp-image-67\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-1.png 574w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-1-300x246.png 300w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/figure>\n\n\n\n<p>Ingresamos un nombre \/ Descripci\u00f3n y hacemos click en next.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"577\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-2.png\" alt=\"\" class=\"wp-image-68\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-2.png 573w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-2-298x300.png 298w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-2-150x150.png 150w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/figure>\n\n\n\n<p>En la siguiente pantalla, se nos dar\u00e1 la opci\u00f3n de elegir una orden de transporte, en el caso que estemos trabajando en un package, si estamos en un objeto local nos aparecer\u00e1 la pantalla griseada.<\/p>\n\n\n\n<p>Seleccionamos la orden de transporte y hacemos click en next.<\/p>\n\n\n\n<p>Si estamos en un objeto local hacemos click en next.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"575\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-3.png\" alt=\"\" class=\"wp-image-69\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-3.png 569w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-3-297x300.png 297w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/figure>\n\n\n\n<p>En la siguiente pantalla se nos dar\u00e1 a seleccionar un template para la vista CDS, seleccionamos Define View y hacemos click en Finish.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"571\" height=\"578\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-4.png\" alt=\"\" class=\"wp-image-70\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-4.png 571w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-4-296x300.png 296w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><\/figure>\n\n\n\n<p>Al hacer click en Finish volveremos a Eclipse y veremos algo como lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"465\" height=\"149\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-5.png\" alt=\"\" class=\"wp-image-71\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-5.png 465w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-5-300x96.png 300w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/figure>\n\n\n\n<p>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:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"501\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-6.png\" alt=\"\" class=\"wp-image-72\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-6.png 566w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-6-300x266.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>@AbapCatalog.sqlViewName: 'ZCDS_VUELOS_V'\n@AbapCatalog.compiler.compareFilter: true\n@AbapCatalog.preserveKey: true\n@AccessControl.authorizationCheck: #CHECK\n@EndUserText.label: 'CDS Para aerolineas y vuelos'\ndefine view ZCDS_VUELOS as select from scarr \n                        join sflight \n                            on scarr.carrid = sflight.carrid\n                        join sbook\n                            on sflight.carrid = sbook.carrid and\n                               sflight.connid = sbook.connid and\n                               sflight.fldate = sbook.fldate\n{\n    key scarr.carrid,\n    key sflight.connid,\n    key sflight.fldate,\n    key sbook.bookid,\n    scarr.carrname,\n    scarr.url,\n    sflight.price,\n    sflight.currency,\n    sflight.planetype,\n    sflight.seatsmax,\n    sflight.seatsocc,\n    sbook.customid,\n    sbook.custtype,\n    sbook.class,\n    sbook.loccuram,\n    sbook.loccurkey,\n    sbook.order_date,\n    sbook.passname\n}\n<\/code><\/pre>\n\n\n\n<p>En esta vista CDS podemos ver que estamos haciendo un JOIN de 3 tablas.<\/p>\n\n\n\n<p>Una ves que tenemos nuestra vista CDS lista, activamos (CTRL+F3).<\/p>\n\n\n\n<p>Con nuestra vista CDS ya activa podemos ir a la SE16 con el nombre, en este caso ZCDS_VUELOS_V y probarla.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"416\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-7.png\" alt=\"\" class=\"wp-image-73\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-7.png 550w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-7-300x227.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p>Vemos que nos trae datos:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"302\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-8.png\" alt=\"\" class=\"wp-image-74\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-8.png 423w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-8-300x214.png 300w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><\/figure>\n\n\n\n<p>Tambi\u00e9n la podemos probar desde eclipse, haciendo click derecho sobre nuestra vista CDS y yendo a:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"351\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-9.png\" alt=\"\" class=\"wp-image-75\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-9.png 624w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-9-300x169.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"336\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-10.png\" alt=\"\" class=\"wp-image-76\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-10.png 624w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-10-300x162.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<p>Tambien podemos hacer uso de la vista CDS desde un reporte de ABAP com\u00fan y corriente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-11-1024x356.png\" alt=\"\" class=\"wp-image-78\" srcset=\"https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-11-1024x356.png 1024w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-11-300x104.png 300w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-11-768x267.png 768w, https:\/\/www.matiasvillagarcia.com\/blog\/wp-content\/uploads\/2021\/06\/image-11.png 1382w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure>\n\n\n\n<p>Como podemos ver en la captura, estamos parados despu\u00e9s de que se realizo el SELECT y la tabla interna LT_DATOS contiene datos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este post r\u00e1pido, les voy a mostrar como crear una vista CDS f\u00e1cilmente. 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\u00f3n y hacemos click en next. En [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6,5],"tags":[],"class_list":["post-65","post","type-post","status-publish","format-standard","hentry","category-abap","category-cds","category-hana"],"_links":{"self":[{"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=65"}],"version-history":[{"count":4,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/65\/revisions"}],"predecessor-version":[{"id":81,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/65\/revisions\/81"}],"wp:attachment":[{"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matiasvillagarcia.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}