{"id":10869,"date":"2020-03-18T08:00:31","date_gmt":"2020-03-18T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=10869"},"modified":"2024-12-11T16:14:15","modified_gmt":"2024-12-11T15:14:15","slug":"conceptos-basicos-sobre-bbdd-sap-y-hana-parte-iii","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/conceptos-basicos-sobre-bbdd-sap-y-hana-parte-iii\/","title":{"rendered":"Conceptos b\u00e1sicos sobre BBDD SAP y HANA <br><span class=\"font-300\">Parte III<\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-2.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;Conceptos-b\u00e1sicos-sobre-BBDD-SAP-y-HANA-Parte-III-2&#8243; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; header_4_font_size=&#8221;17px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;%22630%22&#8243; height=&#8221;%22307%22&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>Tras la teor\u00eda expuesta en los dos art\u00edculos anteriores sobre bases de datos relacionales en SAP y su aplicaci\u00f3n en bases de datos HANA, vamos con este tercer y \u00faltimo art\u00edculo en el que vamos a exponer un\u00a0<strong>caso pr\u00e1ctico de vista CDS en HANA consumida desde una aplicaci\u00f3n SAPUI5<\/strong>.<\/p>\n<p class=\"entry-title\"><a href=\"https:\/\/orekait.com\/blog\/conceptos-basicos-sobre-bbdd-sap-y-hana-parte-i\/\">Conceptos b\u00e1sicos sobre BBDD SAP y HANA (Parte I)<\/a><\/p>\n<p class=\"entry-title\"><a href=\"https:\/\/orekait.com\/blog\/conceptos-basicos-sobre-bbdd-sap-y-hana-parte-ii\/\">Conceptos b\u00e1sicos sobre BBDD SAP y HANA (Parte II)<\/a><\/p>\n<h2>Objetivo<\/h2>\n<p>Para este ejemplo pr\u00e1ctico hemos pensado crear una aplicaci\u00f3n que muestre las<strong>\u00a0ventajas de las vistas CDS HANA<\/strong>\u00a0a trav\u00e9s de las funciones nativas SQL y del servicio oData que tienen por defecto. Para cumplir nuestro objetivo necesitamos crear la vista y la aplicaci\u00f3n, interconect\u00e1ndolas a trav\u00e9s de un servicio oData para acabar mostrando un listado con el contenido de nuestra\u00a0<u>vista<\/u>\u00a0CDS HANA (en este caso, los detalles de todas las compa\u00f1\u00edas de aerol\u00edneas).<\/p>\n<h2>Creaci\u00f3n de la vista CDS en HANA<\/h2>\n<p>Creamos la vista CDS en HANA y a\u00f1adimos la anotaci\u00f3n @OData.publish: true<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10878 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-anotacion.png\" alt=\"\" width=\"449\" height=\"240\" \/><\/p>\n<h2>Activaci\u00f3n del servicio OData<\/h2>\n<p>Ejecutamos la transacci\u00f3n \/IWFND\/MAINT_SERVICE y buscamos por el nombre de nuestra vista CDS para activar\/a\u00f1adir el servicio y cargar los metadatos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10882 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-transaccion-IWFNDMAINT_SERVICE.png\" alt=\"\" width=\"1025\" height=\"200\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-transaccion-IWFNDMAINT_SERVICE.png 1025w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-transaccion-IWFNDMAINT_SERVICE-980x191.png 980w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-transaccion-IWFNDMAINT_SERVICE-480x94.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1025px, 100vw\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10886 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-5.png\" alt=\"\" width=\"436\" height=\"163\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-5.png 436w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-5-300x112.png 300w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/><\/p>\n<h2>Creaci\u00f3n de la app SAPUI5<\/h2>\n<p>Para facilitar las cosas, utilizamos una plantilla SAPUI5 y creamos una aplicaci\u00f3n sencilla para la visualizaci\u00f3n de los datos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10890 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-aplicacion.png\" alt=\"\" width=\"761\" height=\"292\" \/><\/p>\n<p>Establecemos la conexi\u00f3n con el servicio oData.<\/p>\n<p>Mapeamos los elementos de la lista con el EntitySet ZCDS_VIEW.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10894 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-EntitySet-ZCDS_VIEW.png\" alt=\"\" width=\"789\" height=\"355\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-EntitySet-ZCDS_VIEW.png 789w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-EntitySet-ZCDS_VIEW-480x216.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 789px, 100vw\" \/><\/p>\n<p>Si ejecutamos la aplicaci\u00f3n, ya podemos visualizar los datos.<\/p>\n<p>En nuestro ejemplo, hemos utilizado una vista CDS HANA, lo que significa que en la consulta Select podemos incluir funciones espec\u00edficas SQL como UPPER, LPAD, RPAD etc.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10898 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-CDS-HANA.png\" alt=\"\" width=\"1289\" height=\"263\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-CDS-HANA.png 1289w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-CDS-HANA-1280x261.png 1280w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-CDS-HANA-980x200.png 980w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-CDS-HANA-480x98.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1289px, 100vw\" \/><\/p>\n<p>Cambiando en may\u00fasculas el nombre de la compa\u00f1\u00eda, con la funci\u00f3n UPPER en la vista CDS, obtenemos:<\/p>\n<p>De esta manera, podemos cambiar los datos mostrados en funci\u00f3n de necesidades sin pasar por todos los registros devueltos para actualizarlos, como deber\u00eda hacer despu\u00e9s de una consulta OPEN SQL.<\/p>\n<h2>Conclusiones<\/h2>\n<p>Como hemos visto, las vistas tienen el prop\u00f3sito de facilitar la creaci\u00f3n de los informes complejos, tras el an\u00e1lisis de un mont\u00f3n de datos interdependientes, por lo tanto, ser\u00e1 suficiente solamente ver estos resultados. Si miramos en esquema del servicio creado no se permite la manipulaci\u00f3n de los datos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10902 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/03\/Conceptos-basicos-sobre-BBDD-SAP-y-HANA-Parte-III-1.png\" alt=\"\" width=\"925\" height=\"429\" \/><\/p>\n<p>En caso de necesitar la actualizaci\u00f3n, creaci\u00f3n o eliminaci\u00f3n de ciertos registros, ser\u00e1 necesario crear otro servicio oData que ofrezca la posibilidad de crear un EntityType con el tipo del @AbapCatalog.sqlViewName (en nuestro caso: \u2018ZCDS_VIEW_N\u2019).<\/p>\n<p>Adem\u00e1s, se puede aprovechar y redefinir, en funci\u00f3n de las necesidades, las funciones CRUD (Create, Read, Update, Delete) del proprio EntitySet ya creado.<\/p>\n<p>Por otro lado,\u00a0<a href=\"https:\/\/blogs.sap.com\/2018\/03\/29\/c-create-r-read-u-update-d-delete-odata-services-creation-using-abap-cds-views\/\" target=\"_blank\" rel=\"noopener\"><strong>las vistas CDS permiten la visualizaci\u00f3n de los datos en funci\u00f3n de los permisos de cada usuario<\/strong><\/a>, grupo de usuario u otros par\u00e1metros, manteniendo el acceso controlado a los datos confidenciales<\/p>\n<p>Con esto, hemos visto desde la teor\u00eda a la pr\u00e1ctica las<strong>\u00a0caracter\u00edsticas m\u00e1s importantes de las bases de datos en SAP y en HANA<\/strong>\u00a0y c\u00f3mo pueden ser \u00fatiles para ser utilizadas en las aplicaciones de negocio que queramos desarrollar.<\/p>\n<p>Puedes dejarnos tus preguntas en comentarios o ponerte en contacto con nuestro departamento de User Experience &amp; Integration.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-personalizacion&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tras la teor\u00eda expuesta en los dos art\u00edculos anteriores sobre bases de datos relacionales en SAP y su aplicaci\u00f3n en bases de datos HANA, vamos con este tercer y \u00faltimo art\u00edculo en el que vamos a exponer un\u00a0caso pr\u00e1ctico de vista CDS en HANA consumida desde una aplicaci\u00f3n SAPUI5. Conceptos b\u00e1sicos sobre BBDD SAP y [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":10871,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[53,52,51],"tags":[],"class_list":["post-10869","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-fiori-ux","category-sapui5","category-user-experience-integracion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/10869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=10869"}],"version-history":[{"count":5,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/10869\/revisions"}],"predecessor-version":[{"id":22089,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/10869\/revisions\/22089"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/10871"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=10869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=10869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=10869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}