Está en la página 1de 96

ABAP para SAP HANA

Optimización del código legacy orientado


a SAP HANA

Barcelona, Mayo 2016

Diana Ramos Palanco


confidencialidad
Aviso: Este documento es material confidencial y propiedad de everis. Se prohíbe
el uso, reproducción o la divulgación del contenido de este material sin permiso
previo y por escrito de la empresa propietaria.

Derechos de Autor
© 2016, everis. All rights reserved

2
Índice
1. Introducción
1.1 ¿Qué es SAP HANA?
1.2 Migrar la SAP Business Suite a HANA
1.3 Principios básicos SAP HANA y conceptos técnicos
1.4 Breve reseña a S4/HANA

2. Evolución y arquitectura
2.1 Objetivos de SAP HANA
2.2 Innovaciones en hardware & software

3. De ABAP a SAP HANA


3.1 SAP HANA como BD secundaria
3.2 Análisis de rendimiento
3.3 Normas y Reglas de rendimiento en SAP HANA
3
Índice
4. Code-to-Data con SAP HANA como BD secundaria
4.1 Limitaciones del openSQL clásico
4.2 ADBC – ABAP Database Connectivity
4.3 Trabajando con vistas/procedimientos en SAP HANA Studio

5. Optimizar ABAP con SAP HANA como BD principal


5.1 Nuevo openSQL
5.2 Core Data Services en ABAP
5.3 Asociaciones en Core Data Services

4. ABAP-managed Database Procedures


6.1 Introducción AMDP
6.2 ¿Cómo debugar un AMDP?

4
Índice
7. SAP HANA Proxy Objects
7.1 Acceder a las vistas de SAP HANA mediante ABAP Dictionary External
Views
7.2 Transporte de objetos SAP HANA
7.3 Llamar a SAP HANA procedures via ABAP Database Procedure Proxies

8. Temas avanzados
8.1 SAP HANA Full Text search
8.2 ABAP List Viewer (ALV) con acceso integrado a SAP HANA

9. Ejemplos y vídeos

5
Introducción
¿Qué es SAP HANA?

6
Introducción
Migrar la SAP Business Suite a HANA

S/4HANA

SAP Business Suite sobre SAP HANA

El código “Z” desarrollo comprende una gran parte


de nuestro negocio, por lo tanto, adaptar estos
programas formará un proceso clave en el éxito de
la migración

7
Introducción
Principios básicos SAP HANA y conceptos técnicos

8
Introducción
Breve reseña a S4/HANA

9
Introducción
Breve reseña a S4/HANA

10
Introducción
Breve reseña a S4/HANA

11
Evolución y arquitectura
Objetivos SAP HANA

 Enable new applications and optimize the existing ones

 High performance and scalability

 Hybrid data management system

 Compatibility and standard DBMS features

 Support for Text analysis, Indexing and Search

 Cloud support and Application Isolation

 Support for Temporal Tables

 Executing Application Logic inside the Data layer

12
Evolución y arquitectura
Innovaciones tecnológicas de hardware

13
Evolución y arquitectura
Innovaciones tecnológicas de hardware

14
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• Almacenaje por filas

15
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• Almacenaje por columnas

16
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• ¿Cuándo utilizar el almacenaje por columnas?

17
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• ¿Cuándo utilizar el almacenaje por filas?

18
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• Ejemplo de Compresión a nivel de columnas

19
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• Ejemplo de Compresión a nivel de columnas

20
Evolución y arquitectura
Innovaciones tecnológicas de hardware

• Classical-approach vs Code-pushdown

21
Evolución y arquitectura
Innovaciones tecnológicas de software

• ABAP Development Guidelines

22
Evolución y arquitectura
Innovaciones tecnológicas de software

• Mejora del rendimiento vs Ajustes en el Código

23
Evolución y arquitectura
Innovaciones tecnológicas de software

24
De ABAP a SAP HANA
SAP HANA como BD secundaria

• Aceleradores de SAP HANA


1. Puede usarse para acceder local o remotamente a BD
2. Son mantenidas en la tabla DBCON (via tx. DBACOCKPIT)
3. Requiere especificar los datos de conexión: DB usuario (=DB esquema) y password

Describe prerequisitos y
pasos para configurar
esa conexión secundaria
a BD HANA

NOTA OSS: 1597627

25
De ABAP a SAP HANA
SAP HANA como BD secundaria

• Restricciones de acceso con Open SQL


1. Tan solo podemos referenciar tablas o campos que están en el ámbito del ABAP
Dictionary
2. No objetos específicos de HANA como vistas o procedimientos
3. Tablas en el esquema asignado al usuario de BD en la conexión

26
De ABAP a SAP HANA
Consideraciones pre-migración a SAP HANA

1. ¿Cuál es el código ABAP que debo cambiar para


evitar posibles errores funcionales?

2. ¿Qué código ABAP debo optimizar para asegurar un


buen rendimiento?

3. ¿Cuáles de los procesos de negocio tienen potencial


para HANA por lo que pueda acelerarlos
masivamente?

4. Y por último… ¿Cómo puedo localizar el código


ABAP de una forma sencilla y realizar la
adaptación eficientemente?

27
De ABAP a SAP HANA
Consideraciones pre-migración a SAP HANA

1. ¿Cuál es el código ABAP que debo cambiar para


evitar posibles errores funcionales?

28
De ABAP a SAP HANA
Consideraciones pre-migración a SAP HANA

2. ¿Qué código ABAP debo optimizar para asegurar un


buen rendimiento?

• SELECTS dentro de LOOPS

• SELECT * problemáticos (<20% de campos


utilizados)

• SELECT… FOR ALL ENTRIES que pueden ser


sustituidos por un JOIN

29
De ABAP a SAP HANA
Consideraciones pre-migración a SAP HANA

3. ¿Cuáles de los procesos de negocio tienen potencial


para HANA por lo que pueda acelerarlos
masivamente?

30
De ABAP a SAP HANA
Consideraciones pre-migración a SAP HANA

4. Y por último… ¿Cómo puedo localizar el código


ABAP de una forma sencilla y realizar la
adaptación eficientemente?

• Code Inspector
• ATC – ABAP Test Cockpit / ABAP Trace
• SQL Monitor
• Peformance Tuning Worklist (SWLT)
• SQL Trace (ST05)

31
De ABAP a SAP HANA
Análisis de rendimiento

32
De ABAP a SAP HANA
Normas y reglas de rendimiento en SAP HANA

• Golden Rules clásicas

33
De ABAP a SAP HANA
Normas y reglas de rendimiento en SAP HANA

• Guideles + importantes para SAP HANA

34
Code-to-Data con SAP HANA como BD secundaria
Limitaciones del openSQL clásico

35
Code-to-Data con SAP HANA como BD secundaria
ADBC – ABAP Database Connectivity

36
Code-to-Data con SAP HANA como BD secundaria
ADBC – ABAP Database Connectivity

• Secuencia de lectura

37
Code-to-Data con SAP HANA como BD secundaria
ADBC – ABAP Database Connectivity

• OJO!!! Consideraciones a tener en cuenta

38
Code-to-Data con SAP HANA como BD secundaria
ADBC – ABAP Database Connectivity

• Código ejemplo

39
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Vistas
 Attribute Views
 Analytic Views
 Calculated Views

• Procedimientos

40
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Attribute views

41
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Analytic views

Vista analítica con una columna calculada

42
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Analytic views

Vista analítica con conversión de moneda

43
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Calculated views

Vista calculada con columnas agregadas y un filtro


44
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Calculated views

Vista calculada basada en SQL script


45
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• SQL Nativo para llamar a vistas HANA

Vista HANA

Vista HANA con


parámetros de
entrada

46
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Database Procedures

47
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Código nativo para llamar a Database Procedures

48
Code-to-Data con SAP HANA como BD secundaria
Trabajando con vistas/procedimientos en SAP HANA Studio

• Recuperar el resultado del Overview

49
Optimizar ABAP con SAP HANA como BD principal
Nuevo openSQL

50
Optimizar ABAP con SAP HANA como BD principal
Nuevo openSQL

• ¿Qué hay de nuevo en Open SQL?

51
Optimizar ABAP con SAP HANA como BD principal
Nuevo openSQL

• ¿Qué hay de nuevo en Open SQL?

52
Optimizar ABAP con SAP HANA como BD principal
Nuevo openSQL

• ¿Qué hay de nuevo en Open SQL?

53
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

54
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Definición de una Vista CDS

55
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Expresiones If-Case en Vista CDS

56
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Strings y literales en Vista CDS

57
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• JOINS en Vista CDS

58
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Anotaciones en Vista CDS

59
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Agregaciones, agrupaciones y filtros en Vista CDS

60
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Condiciones WHERE en Vista CDS

61
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• UNIONS en Vista CDS

62
(diapositiva 54) Core Data Services en ABAP

Optimizar ABAP con SAP HANA como BD principal


Core Data Services en ABAP

• Seleccionando datos en Vista CDS

63
Optimizar ABAP con SAP HANA como BD principal
Core Data Services en ABAP

• Resumen

64
Optimizar ABAP con SAP HANA como BD principal
Asociaciones en Core Data Services

65
ABAP-managed Database Procedures
Introducción AMDP

• Creando AMDPs

66
(diapositiva 54) Core Data Services en ABAP

ABAP-managed Database Procedures


Introducción AMDP

• Prerequisitos AMDPs

67
ABAP-managed Database Procedures
Introducción AMDP

• Implementación de los AMDPs

68
ABAP-managed Database Procedures
¿Cómo debugar un AMDP?

69
ABAP-managed Database Procedures
¿Cómo debugar un AMDP?

70
SAP HANA Proxy Objects
Acceder a las vistas de SAP HANA mediante ABAP Dictionary External Views

• Crear una Vista Externa

71
SAP HANA Proxy Objects
Acceder a las vistas de SAP HANA mediante ABAP Dictionary External Views

• Mapping entre tipos de datos de SAP HANA y ABAP Dicc.

72
SAP HANA Proxy Objects
Acceder a las vistas de SAP HANA mediante ABAP Dictionary External Views

• Cómo llamar a una Vista Externa en ABAP

73
SAP HANA Proxy Objects
Transporte de objetos SAP HANA

74
SAP HANA Proxy Objects
Transporte de objetos SAP HANA

75
SAP HANA Proxy Objects
Transporte de objetos SAP HANA

76
SAP HANA Proxy Objects
Transporte de objetos SAP HANA

77
SAP HANA Proxy Objects
Transporte de objetos SAP HANA

• Ideas principales a recordar

• No existe transporte delta


 Siempre se transporta la delivery unit completa

• Actualización no automática
 Los cambios al contenido SAP HANA no actualizan el contenido del transport container
 Se necesita refrescar el contenido del contenedor manualmente (creando Snapshot)
 Recomendación: Hacer un Snapshot tras el release del transporte

• Desempaquetado controlado en el sistema destino

78
SAP HANA Proxy Objects
Llamar a SAP HANA procedures via ABAP Database Procedure Proxies

79
SAP HANA Proxy Objects
Llamar a SAP HANA procedures via ABAP Database Procedure Proxies

• Llamada a Database Procedures Proxies

80
SAP HANA Proxy Objects
Llamar a SAP HANA procedures via ABAP Database Procedure Proxies

• Resumen técnicas Code-to-data

81
Temas avanzados
SAP HANA Full Text search

• Problemática actual
 Búsquedas por “=“ no son suficientes

82
Temas avanzados
SAP HANA Full Text search

• Problemática actual
 Búsquedas por “LIKE“ no son suficientes

83
Temas avanzados
SAP HANA Full Text search

• Fuzzy search
 Full-text Index for Fuzzy search

84
Temas avanzados
SAP HANA Full Text search

• Fuzzy search
 Funciones CONTAINS() y SCORE()

85
Temas avanzados
SAP HANA Full Text search

• Linguistic search
 Full-text Index for Linguistic search

86
Temas avanzados
SAP HANA Full Text search

• Linguistic search
 Full-text Index for Linguistic search

87
Temas avanzados
SAP HANA Full Text search

• Linguistic search
 Full-text Index for Linguistic search

88
Temas avanzados
ABAP List Viewer (ALV) con acceso integrado a SAP HANA

• Problemas del ALV clásico

89
Temas avanzados
ABAP List Viewer (ALV) con acceso integrado a SAP HANA

• Comparación ALV HANA

90
Temas avanzados
ABAP List Viewer (ALV) con acceso integrado a SAP HANA

• Comparación ALV HANA

91
Ejemplos y vídeos

• ABAP Development for SAP HANA by Dr.Jasmin Gruschke and Jens Weiler

92
Bibliografía recomendada

• Novedades ABAP 7.40


http://scn.sap.com/community/abap/blog/2013/07/22/abap-news-for-release-740

• SAP HANA iFG Community


https://www.sap.com/cmp/oth/crm-xu15-int-focusdm/index.html

93
Bibliografía recomendada

• Canal de YouTube de vídeos de ABAP para SAP HANA

How to consume ABAP procedures in ABAP?


https://www.youtube.com/playlist?list=PLkzo92owKnVwhSUncFUrE19BLOHcvoAgL

SAP Web IDE


https://www.youtube.com/playlist?list=PLkzo92owKnVwnV5o1psI7XSA-AquO9_9g

Modeling and Design with SAP HANA Studio


https://www.youtube.com/playlist?list=PLkzo92owKnVz9hgx4CzW0Nc2ocU7riEMr

• ABAP para SAP HANA en la SAP Community Network (SCN)


http://scn.sap.com/community/abap/hana

94
Bibliografía recomendada

• Servidor HANA DB con Amazon Web Services

 Previo pago del coste de hosting


 If running your own HANA on AWS sounds like too much of an investment for now, there is even a
completely free option - a free 30-day trial of SAP HANA, including some of the frontend tools such as
Business Objects Explorer or Visual Intelligence. There's a brilliant blog
SAP HANA Developer Access Beta program - get the best out of your test-drive! by community
member Ronald Konijnenburg that will help you get started on the trial.

95
everis.com

También podría gustarte