PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA

Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA

Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA1 | Los tips prácticos importantes al desarrollar aplicaciones ABAP en SAP HANA

Vamos a analizar algunos consejos prácticos sobre temas que son importantes al desarrollar aplicaciones ABAP en SAP HANA.

Estos se dividen en las siguientes áreas:

Recomendaciones generales: proporcionaremos algunas recomendaciones generales para el desarrollo de ABAP en SAP HANA. Principalmente presentaremos los detalles que debemos considerar para la migración y optimización de los programas ABAP.

Pautas de performance: La velocidad de ejecución de los programas, naturalmente, desempeña un papel crucial en el contexto de SAP HANA.

Muchos escenarios de uso implican el acceso a grandes conjuntos de datos en tiempo real.

Una comprensión sólida de las pautas y técnicas para lograr un rendimiento óptimo es esencial.

Proporcionaremos una visión general de las recomendaciones existentes y nuevas, y discutiremos particularmente los cambios en comparación con las bases de datos tradicionales.

Analicemos a continuación los dos aspectos que acabamos de mencionar a través de ejemplos positivos y negativos.

2 | Las recomendaciones generales

Hemos recopilado algunas recomendaciones generales que debemos seguir para realizar la migración y el desarrollo en SAP HANA. Analicemos en detalle cada aspecto a tener en cuenta.


2.1 | El Almacenamiento por columnas Vs Almacenamiento por filas

Cuando creamos una tabla base de datos poder elegir crearla con almacenamiento por columnas (columnar) o por filas.

Por defecto la tabla se creará con almacenamiento por columnas.

Podemos analizar grandes conjuntos de datos de manera más eficiente en el almacenamiento por columnas.

SAP recomienda que configuremos todas las tablas bases de datos utilizando almacenamiento por columnas, siempre que no haya una razón específica para almacenarlas por filas.

Las tablas que contienen datos de la aplicación siempre se almacenan por columnas porque es muy probable que estos datos también se utilicen en escenarios de análisis.

Esto se aplica particularmente a las tablas que contienen una gran cantidad de registros de datos porque el almacenamiento por columnas proporciona mejores propiedades de compresión.

Esto también se aplica a las tablas que se utilizarán para búsquedas de texto.

AUDIO ACLARATIVO: Existen motivos para utilizar todavía el almacenamiento por filas en una tabla, Por ejemplo, si se accede a una tabla predominantemente mediante declaraciones en lenguaje de manipulación de datos DML en el tiempo, por ejemplo mediante Updates Insert o Delete, esta no puede ser una tabla de aplicaciones en la que posteriormente deseamos realizar análisis. Por lo tanto, principalmente las tablas técnicas de SAP son elegibles para el almacenamiento por filas. Los ejemplos incluyen tablas para el procesamiento de actualizaciones correspondientes al paquete STSK o para el procesamiento de llamadas a función remota RFC correspondientes al paquete SRFC. Normalmente se accede a estas tablas con un Select Single.

2.2 | Las implementaciones específicas de SAP HANA

En el desarrollo de ABAP en SAP HANA, debemos distinguir dos escenarios:

Implementaciones independientes de la base de datos: por ejemplo, utilizando Open SQL y ABAP CDS.

Implementaciones que utilizan funciones específicas de SAP HANA: por ejemplo, SQL nativo y HANA CDS.

En el primer caso, no tenemos que considerar nada especial desde la perspectiva de la logística del software.

Utilizamos SAP HANA como cualquier otra base de datos, pero nos beneficiamos directamente de la alta velocidad de procesamiento de SAP HANA en muchos escenarios.

Nuestros desarrollos son ejecutables en todos los sistemas de bases de datos soportados por SAP.

Al usar las funciones nativas de SAP HANA, inicialmente se aplican las mismas implicaciones que las habituales si definimos partes de una aplicación específicamente para un sistema de base de datos (por ejemplo, a través de SQL nativo, Hints otras técnicas).

AUDIO ACLARATIVO: Al diseñar la aplicación debemos considerar las siguientes preguntas, ¿existen sistemas con un sistema de base de datos diferente en nuestro entorno de trabajo o en el entorno del cliente? ¿Cuán fundamentales son las funciones específicas de la base de datos para nuestra aplicación?, ¿Está involucrada la calidad central de la aplicación?, ¿El desarrollo en SAP Hana se llamará únicamente a través de aplicaciones basadas en ABAP o también a través de otros canales?.

Es difícil dar una recomendación general sobre cuándo tiene sentido utilizar una implementación de base de datos específica. Será necesario realizar un análisis del caso.

Para la optimización de rendimiento de una aplicación ABAP existente, es recomendable que procedamos inicialmente utilizando herramientas estándar.

Las siguientes pautas nos proporcionan ayuda en este punto:

Primero Open y luego Native

Preferiblemente debemos utilizar las vistas de Open SQL y CDS antes de implementar SQL nativo, vistas de SAP HANA o procedimientos de base de datos.

Las funciones abiertas se integran de manera óptima con el entorno de desarrollo ABAP y el tiempo de ejecución de ABAP.

El servidor de aplicaciones ABAP comprueba exhaustivamente sus objetos de desarrollo, y no necesita ningún usuario adicional para la base de datos SAP HANA.

Primero ABAP CDS y luego HANA CDS

Debemos utilizar los procedimientos de la base de datos ABAP en lugar de los procedimientos de la base de datos SAP HANA.

Los objetos de desarrollo gestionados por ABAP AS se vinculan de forma óptima con la gestión del ciclo de vida ABAP.

Podemos sincronizar fácilmente los procedimientos de la base de datos ABAP con otros objetos ABAP y transportarlos.


2.3 | Las recomendaciones para la migración

Brindaremos algunos consejos para tener en cuenta al migrar un sistema existente a SAP HANA.

Una regla básica es que las aplicaciones ABAP son totalmente compatibles.

Pero igualmente debemos tener en cuenta algunos puntos importantes:

Código ABAP dependiente de la base de datos

Si usamos código ABAP dependiente de la base de datos en los desarrollos existentes, debemos probarlo como en cualquier migración de datos y ajustarlo para la base de datos SAP HANA si es necesario.

Un ejemplo de esto es la utilización de SQL nativo a través de la declaración EXEC SQL o los hints de base de datos; estas posiciones en el código deben verificarse.

Si bien los hints de la base de datos ya no se ejecutan en la nueva plataforma cuando se migra a SAP HANA, siempre será necesaria una comprobación exacta para el SQL dependiente de la base de datos, ya es muy probable que ocurran errores a menos que intervengamos.

Los Hints de la base de datos, cuyo objetivo generalmente es forzar la ejecución de un indice y dividir la carga de trabajo, no solo que no funcionan en SAP HANA sino que no son necesarios debido a la nueva arquitectura de la base de datos HANA.

Conversión tablas de pool y cluster

Al convertir las tablas cluster y pool en tablas transparentes, pueden surgir problemas si confiamos en un ordenamiento implícito en nuestros desarrollos.

Esto se debe a que en las tablas cluster y pool, la interfase de la base de datos (DBI) siempre realiza un ordenamiento implícito.

Este ordenamiento se pierde después de la conversión a una tabla transparente porque aquí no se agrega ORDER BY automático en la declaración. Por lo tanto, el acceso a las tablas pool y cluster debe analizarse con respecto a su ordenamiento durante una migración a SAP HANA.

El Inspector de código nos proporciona la verificación Find Select for Pool/Cluster Tab without ORDER BY de modo que podamos encontrar rápida y fácilmente estos puntos críticos en nuestros desarrollos ABAP.

Comportamiento del ordenamiento

Si no especificamos ORDER BY en la declaración SQL SELECT, la secuencia en la que se leen los registros de la tabla base de datos es impredecible.

Pueden ocurrir cambios en el comportamiento de ordenación implícita para las tablas transparentes existentes.

En las bases de datos orientadas a filas se accede a las tablas a través de un índice primario o secundario. Aquí, los datos a menudo se leen en la secuencia deseada porque se leen desde la base de datos en la secuencia almacenada allí cuando se usa un índice.

Con SAP HANA el ordenamiento implícito no esta garantizado ya que no es una característica documentada de Open SQL.

Tal como mencionamos anteriormente debemos utilizar la adición ORDER BY si deseamos que los datos se seleccionen en un orden determinado.

Esta regla se aplica en particular a SAP HANA porque los datos están orientados a columnas, no hay un índice secundario y los datos se pueden leer en paralelo.

Por lo tanto, los lugares del código ABAP en donde nos encontremos con esta situación implican un error de programación que debemos corregir independientemente de la migración a SAP HANA.

AUDIO ACLARATIVO: Pueden ocurrir problemas cuando asumimos que un ordenamiento determinado es llevado a cabo en la secuencia de un programa ABAP. Este es el caso por ejemplo, de cuando trabajamos con tablas internas y ejecutamos la edición Binary Search, la cual tiene como requisito que la tabla interna se encuentre previamente ordenada por el campo o campos a partir de la cual se realizará la búsqueda binaria. Podemos encontrarnos con sorpresas en la lista de salida de datos si de repente no aparecen en el orden de clasificación deseado. En conclusión no debemos confiar en los ordenamientos implícitos, si necesitamos una clasificación específica de los datos cuando accedemos a una base de datos, debemos utilizar la división Order By explícitamente.

3 | Las pautas de performance

A continuación proporcionaremos recomendaciones de rendimiento para desarrollar aplicaciones ABAP en SAP HANA, contestaremos las preguntas más importantes y frecuentes relacionadas con SAP HANA y describiremos las reglas más importantes y cualquier cambio en el contexto de SAP HANA.

Reglas de oro para la programación de bases de datos

Existe un conjunto de 5 reglas cuyo objetivo es optimizar la programación de las bases de datos. Estas son:

1. Mantener el conjunto de resultados lo más pequeño posible.

2. Mantener el conjunto de datos transferido lo más pequeño posible.

3. Reducir el número de ejecuciones de consulta.

4. Minimizar el esfuerzo de búsqueda.

5. Reducir la carga en la base de datos.

En lo que resta de esta lección analizaremos en detalle las 5 reglas de oro y particularmente nos enfocaremos en como estas reglas cambian gracias a SAP HANA.


3.1 | Mantener el conjunto de resultados lo más pequeño posible

La primera regla de oro recomienda que mantengamos el conjunto de resultados (es decir, el número de filas seleccionadas) lo más pequeño posible al leer datos de la base de datos.

Podemos minimizar el conjunto de resultados utilizando varias medidas:

Usando una cláusula WHERE

En ABAP, el número de registros de datos transferidos se controla mediante la condición WHERE.

Debemos leer solo los registros de datos que realmente necesitamos. Podemos no utilizar la condición WHERE solo si se requieren todos los registros para cada acceso.

No utilizar la cláusula WHERE es particularmente problemático para las tablas de base de datos que aumentan con el tiempo porque los volúmenes crecientes de datos se transfieren con el tiempo.

Trabajando con la cláusula HAVING

El uso de la cláusula HAVING proporciona otra opción para reducir las filas seleccionadas.

Se utiliza junto con la cláusula GROUP BY para seleccionar solo ciertos grupos haciendo restricciones a las filas agrupadas, por ejemplo, en los valores agregados.


 

 

 


Sobre el autor

Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Master


Pedro Antonio Duarte

Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O

✒️Autor de: 128 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Pedro Duarte

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA" de la mano de nuestros alumnos.

SAP Senior

Consejos prácticos sobre temas que son importantes al desarrollar aplicaciones ABAP en SAP HANA. Recomendaciones generales: algunas recomendaciones generales para el desarrollo ABAP en SAP HANA. Principalmente presenta los detalles que debemos considerar para la migración y optimización de los programas ABAP. Almacenamiento por columnas Vs Almacenamiento por filas. SAP recomienda que configuremos todas las tablas de base de datos utilizando almacenamiento por columnas, siempre que no hay una razón específica para almacenarlas por filas. Las implementaciones específicas de SAP HANA. - Implementaciones independientes de la base de datos: por ejemplo utilizando Open SQL y ABAP CDS. - Implementaciones...

Acceder a esta publicación

Creado y Compartido por: Yair Miguel Ramirez Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA ................................................................................................................................................................................................. Recomendaciones Generales para realizar la migración y el desarrollo en SAP HANA. Almacenamiento por columnas vs almacenamiento por filas: Las tablas de base de datos se crearán por defecto con almacenamiento por columnas (es más eficiente para analizar grandes volumentes de datos), aunque se podrá elegir que sea por fila, por columna o indefinido. Implementaciones específicas de SAP HANA: Se siguen dos esceneario: Implementaciones independientes...

Acceder a esta publicación

Creado y Compartido por: Johanna Thaina Rangel Lucero / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Unidad 2: Lección 5 Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA Recomendaciones generales Pautas de Performance Recomendaciones generales 1. Almacenamiento por columnas vs almacenamiento por filas 2. Implementaciones específicas de SAP HANA En el desarrollo de ABAP en SAP HANA, debemos distinguir dos escenarios Implementaciones independientes de la base de datos: por ejemplo Open SQL y ABAP CDS Implementaciones que utilizan funciones específicas de SAP NADA: por ejemplo SQL nativo y AHAN CDS -- Primero Open y luego Native --Primero ABAP CDS y luego HANA CDS 3. Recomendaciones para la migración Una regla básica es que las aplicaciones ABAP son totalmente compatibles...

Acceder a esta publicación

Creado y Compartido por: Alejandra Soto Guerrero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

1. Recomendaciones generales: Almacenamiento en columnas por defecto para grandes volúmenes de datos - mejor comprensión de datos, búsqueda de textos. 2. Escenarios para implementaciones de HANA: - Independientes de bases de Datos. Bases SQL y ABAP CDS. - Con funciones específicas de SAP HANA, SQL nativo y HANA CDS. Pautas: - Primero usar Open SQL y CDS. Funciones abiertas se integran optimo lenguaje ABAP con servidor ABAP comprueba sus objetos de desarrollo, no necesitan un usuario adicional de SAP HANA. - Primero ABAP CDS y luego HANA CDS. Procedimientos ABAP en lugar SAP HANA. Objetos ABAP AS siguen el ciclo ABAP sincronizan procedimientos ABAP y poder transportarlos. 3. Pautas de Perfomance - Desarrollar aplicaciones...

Acceder a esta publicación

Creado y Compartido por: Maria Sanchez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA Tips importantes: Velocidad de ejecución de los programas. Creación de una tabla BD por columnas o por filas. La recomendación en HANA es configurar todas las tablas en almacenamiento columnar por su gran cantidad de registros en el almacenamiento, si son registros que contiene muy poca cantidad de registros es recomendable usar el de filas, ya que en nuestro código ABAP solo serian mas eficientes con un SELECT SINGLE. Distinguir los escenarios o si existen entornos de BD: independientes de las BD que usan Open SQL o ABAP CDS, o implementaciones que utilizan funciones específicas de SAP HANA que usan SQL nativo y HANA CDS. Código...

Acceder a esta publicación

Creado y Compartido por: Diego Fernando Delgado Ortiz / Disponibilidad Laboral: PartTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA 1. Almacenamiento por columnas vs Almacenamiento por filas Al crear una tabla se puede elegir crearla con almacenamiento por columnas (columnar) o por filas. Por defecto se creará por columnas Se recomienda configurar por columnas, a menos que haya una razón específica para hacerlo por filas El almacenamiento por columnas proporciona mejores propiedades de compresión, lo que aplica muy bien para tablas con gran cantidad de registros 2. Implementaciones específicas de SAP HANA En el desarrollo de ABAP en SAP HANA se tienen dos escenarios: Implementaciones independientes de la base de datos: Por ejemplo utilizando Open...

Acceder a esta publicación

Creado y Compartido por: Sergio Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA Implementaciones específicas de SAP HANA En el desarrollo de ABAP en SAP HANA, debemos distinguir 2 escenarios: Implementaciones independientes de la base de datos: Por ejemplo, utilizando Open SQL y ABAP CDS. Implementaciones que utilizan funciones específicas de SAP HANA: Por ejemplo, SQL Nativo y HANA CDS. Pautas que nos ayudan a elegir una implementación: Primero Open y luego Native: Preferentemente debemos utilizar las vistas de Open SQL y CDS antes de implementar SQL nativo, vistas de SAP HANA o procedimientos de base de datos. Las funciones abiertas se integran de manera óptima con el entorno dee desarrollo ABAP y el tiempo de ejecución...

Acceder a esta publicación

Creado y Compartido por: Sergio Ariel Del Sordo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


RECOMENDACIONES PARA EL DESARROLLO DE ABAP EN SAP HANA RECOMENDACIONES GENERALES Almacenamiento por columnas o por filas: -Accedemos a seleccionar uno u otro tipo de almacenamiento (Technical settings – DB-Specific Properties). Por defecto se realiza por columnas. Es mas eficiente el analisis de grandes conjuntos de datos en el almacenamiento por columnas. Mejores propiedades de compresion en el almacenamiento por columnas. Implementaciones específicas de SAP HANA: Implementaciones independientes de la base de datos (por ejemplo OPEN SQL y ABAP CDS) Implementaciones que utilizan funciones específicas de SAP HANA (ejemplo...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

Tips prácticos importantes al desarrollar aplicaciones ABAP. Comprensión solida de las pautas y técnicas para lograr un rendimiento óptimo es esencial Recomendaciones generales: Detalles para las migraciones y optimización de los programas ABAP Creación de tablas recomendando el almacenamiento por columnas.(Podrémos analizar grandes conjuntos de datos de forma eficiente y estos así podrán ser utilizados en escenario de análisis, también tendrán más propiedades de compresión, aplica a tablas que se utilizan para búsqueda de texto) Hints de la bbdd tienen el objetivo de forzar la ejecución de un indice y dividir la carga...

Acceder a esta publicación

Creado y Compartido por: Susana Mora

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

1) TIPS PRÁCTICOS DESARROLLAR ABAP EN HANA 2) Recomendaciones generales: 2.1) Almacenamiento x columnas v/s por filas: - Al crear tabla se puede elegir tipo almacenamiento, por defecto es columna. - Se recomienda que sea por columnas por estos datos se usarán para análisis. - Además por que permite comprimir mejor las tablas. - Se aplica a tablas que usan búsqueda por texto. - Se puede usar almacenar por fila cdo accede a tabla con lenguaje de manipulación de datos, como Update, Insert o Delete. Son las tablas técnicas de SAP, tabla del paquete STSK o al paquete SRFC. Se accede con select single. - En SAP HANA se especifica tipo almacenamiento...

Acceder a esta publicación

Creado y Compartido por: Sergio Mendez De La Fuente

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!