{"id":9320,"date":"2021-02-02T08:00:31","date_gmt":"2021-02-02T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=9320"},"modified":"2024-12-11T12:24:33","modified_gmt":"2024-12-11T11:24:33","slug":"amdps-en-hana-2a-parte","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/amdps-en-hana-2a-parte\/","title":{"rendered":"AMDPS en HANA<br><span class=\"font-300\">2\u00aa Parte<\/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\/2021\/02\/AMDPS-EN-HANA-2aPARTE.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;AMDPS-EN-HANA-2\u00aaPARTE&#8221; 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<h2><strong>ABAP Managed Database Procedures (AMDPS) \u2013 2\u00aaPARTE<\/strong><\/h2>\n<p>En la primera parte de este tema coment\u00e1bamos los conceptos b\u00e1sicos para entender qu\u00e9 es un AMDP y sus caracter\u00edsticas principales. En esta segunda parte, nuestra intenci\u00f3n es entender\u00a0las ventajas de los tipos de m\u00e9todos AMDP.<\/p>\n<p>Para comprender mejor como beneficiarnos de este tipo de m\u00e9todos es conveniente saber que son las t\u00e9cnicas de modelado \u201cBottom-Up Approach\u201d y \u201cTop-Down Approach\u201d.<\/p>\n<div class=\"wp-block-image\" style=\"text-align: center;\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9328 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image001-1.png\" alt=\"\" width=\"600\" height=\"235\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image001-1.png 600w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image001-1-480x188.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 600px, 100vw\" \/><br \/><figcaption><em>Bottom-Up Approach<\/em><\/figcaption><\/figure>\n<\/div>\n<h3><strong>1. Bottom-Up approach o Enfoque Ascendente<\/strong><\/h3>\n<p>En este tipo de enfoque, se pueden crear vistas (vista de c\u00e1lculo, vista de atributos, vista anal\u00edtica) en la capa BD de HANA con \u201cHANA Modeling\u201d y estas vistas se exponen y utilizan en la capa ABAP a trav\u00e9s de vistas externas.<\/p>\n<p>Tambi\u00e9n puede utilizarse este enfoque para procedimientos de BD.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9332 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image003-2.png\" alt=\"\" width=\"620\" height=\"267\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image003-2.png 620w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image003-2-480x207.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 620px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>El consumo ABAP es posible mediante:<\/p>\n<p><strong>\u2013\u00a0Vistas externas:<\/strong><\/p>\n<ul>\n<li>Son s\u00f3lo de lectura.<\/li>\n<li>Est\u00e1n Supervisadas por el diccionario ABAP.<\/li>\n<li>Se pueden utilizar en los programas ABAP para acceder a los datos disponibles en forma de Vistas de informaci\u00f3n en SAP HANA BD.<\/li>\n<li>M\u00e1s optimizado que los procedimientos almacenados. (se discute m\u00e1s adelante).<\/li>\n<\/ul>\n<p><strong>\u2013\u00a0Proc. BD Proxy<\/strong>: Los procedimientos HANA de BD pueden ser expuestos como proxys de BD. en la capa del Diccionario ABAP.<\/p>\n<h4><strong>Inconvenientes principales<\/strong><\/h4>\n<ul>\n<li>Se necesita licencia adicional para crear vistas en la capa BD (para ABAP y BD HANA ambas).<\/li>\n<li>Mantenimiento dual.<\/li>\n<li>Es necesaria una sincronizaci\u00f3n de cambios (cualquier cambio realizado en la capa BD (modelos) debe reflejarse en la capa App.<\/li>\n<li>Gesti\u00f3n de transporte (necesita transportes separados para moverse a trav\u00e9s de ABAP y HANA BD si se realizan cambios en ambos).<\/li>\n<li>Costo de licencia adicional (mantenimiento de la capa HANA y ABAP).<\/li>\n<\/ul>\n<p>Antes de ABAP 7.4 est\u00e1bamos utilizando este enfoque.<\/p>\n<p>Para evitar estos problemas se pens\u00f3 en utilizar otro tipo de Modelado, el \u201cTop-Down Approach\u201d o enfoque descendente.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>2. Top-Down approach o Enfoque descendente.<\/strong><\/h3>\n<p>En este tipo de enfoque, creamos objetos utilizando el c\u00f3digo ABAP que puede aprovechar la potencia de SAP HANA.<\/p>\n<p>En este escenario cobran importancia los Core Data Services (CDS) y los ABAP Managed Database Procedures (AMDP).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9336 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image005-1.png\" alt=\"\" width=\"620\" height=\"254\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image005-1.png 620w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/02\/image005-1-480x197.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 620px, 100vw\" \/><\/figure>\n<\/div>\n<p>Recordamos algunos de los conceptos y funciones principales de las CDS y los AMDP.<\/p>\n<h4><strong>CDS\u00a0(Core Data Services)<\/strong><\/h4>\n<ul>\n<li>Definidos en el repositorio ABAP utilizando la sintaxis SQL DDL.<\/li>\n<li>Utilizan Lenguaje Open SQL.<\/li>\n<li>Las CDS son ejecutadas como una instrucci\u00f3n individual, por lo tanto, no permiten introducir un punto de \u201cdebugging\u201d dentro.<\/li>\n<li><a href=\"https:\/\/orekait.com\/blog\/conceptos-basicos-sobre-bbdd-sap-y-hana-parte-ii\/\">M\u00e1s informaci\u00f3n.<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4><strong>AMDP\u00a0(ABAP Managed Database Procedures)<\/strong><\/h4>\n<ul>\n<li>Son m\u00e9todos de clase ABAP simple que contienen c\u00f3digo de procedimiento espec\u00edfico de BD.<\/li>\n<li>Utilizan Lenguaje Nativo SQL.<\/li>\n<li>Permiten introducir puntos de \u201cdebugging\u201d en su interior.<\/li>\n<li>El c\u00f3digo dentro del m\u00e9todo se inserta en la capa de base de datos y se ejecuta dentro de la base de datos<\/li>\n<li>Deben utilizarse solo si se necesita acceder a funciones espec\u00edficas de la base de datos que no existen en SQL abierto.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4><strong>AMDP VS CDS.<\/strong><\/h4>\n<p>En los AMDPs, podemos llamar a una funci\u00f3n dentro de la otra, esto nos resulta muy \u00fatil para devolver m\u00faltiples conjuntos de resultados en l\u00f3gicas complejas. Mientras que las CDS est\u00e1n dedicadas para un solo conjunto de l\u00f3gica y devuelve solo un conjunto de resultados.<\/p>\n<p>Est\u00e1 permitido crear vistas de CDS para leer y procesar datos en la capa BD.<\/p>\n<p>Mientras que los AMDPs se pueden crear para procesar y modificar datos en la capa BD.<\/p>\n<p>Los AMDP se utilizan para trabajar con procedimientos almacenados, que luego van a la capa HANA BD y lo ejecutan.<\/p>\n<p>Esta funcionalidad no se puede lograr con Open SQL y CDS.<\/p>\n<p><strong>Beneficios modelo \u201cTop-Down Approach\u201d (enfoque descendente) con AMDPs y CDS.<\/strong><\/p>\n<ul>\n<li>Se permiten crear y utilizar procedimientos de BD en AMDPs y vistas en CDS sin tener acceso a la capa BD HANA.<\/li>\n<li>AMDP y CDS se pueden crear en eclipse \u00fanicamente, no en GUI. Para ello se necesita la herramienta ADT (ABAP Development Tools) que se utiliza tambi\u00e9n en HANA Studio.<\/li>\n<li>Las CDS y los AMDPs no necesitan la licencia de HANA, cuando se ejecuta por primera vez, se crean autom\u00e1ticamente vistas y procedimientos respectivamente en la BD HANA.<\/li>\n<li>Al transferir datos a otros sistemas, CDS crear\u00e1 vistas y AMDP crear\u00e1 procedimientos autom\u00e1ticamente en el nuevo sistema.<\/li>\n<\/ul>\n<p>De esta forma, concluimos a la espera de que el tema haya sido de vuestro inter\u00e9s.<\/p>\n<p>Como coment\u00e1bamos en la primera parte del art\u00edculo, confiamos en profundizar m\u00e1s a fondo y mostraros m\u00e1s en el futuro sobre el tema.<\/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>ABAP Managed Database Procedures (AMDPS) \u2013 2\u00aaPARTE En la primera parte de este tema coment\u00e1bamos los conceptos b\u00e1sicos para entender qu\u00e9 es un AMDP y sus caracter\u00edsticas principales. En esta segunda parte, nuestra intenci\u00f3n es entender\u00a0las ventajas de los tipos de m\u00e9todos AMDP. Para comprender mejor como beneficiarnos de este tipo de m\u00e9todos es conveniente [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9322,"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":[51],"tags":[],"class_list":["post-9320","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-user-experience-integracion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/9320","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=9320"}],"version-history":[{"count":9,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/9320\/revisions"}],"predecessor-version":[{"id":21720,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/9320\/revisions\/21720"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/9322"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=9320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=9320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=9320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}