Conceptos básicos de SAP en 2017

A menudo recibo consultas de gente que quiere reciclarse dentro del mundo SAP y me piden orientación sobre qué y dónde mirar.

Evidentemente, no hay una fórmula mágica y depende del perfil de la persona, entre otras cosas, pero lo que está claro es que hay cosas que le tienen que sonar a todo el mundo y creo que esta imagen es un buen punto de partida:

Ahí lo tienes todo: una nueva experiencia de usuario (Fiori) que consume servicios (OData) generados con un nuevo modelo de programación (ABAP, CDS, BOPF), basado en las capacidades en tiempo real que ofrece una base de datos en memoria (HANA).

En eso se basan todas las soluciones SAP presentes y futuras, así que si quieres seguir en este mundo, al menos deberías tener claro qué es cada una de estas cosas.

Y a partir de ahí, elegir algo y profundizar en el tema; en todo es imposible, si no queréis morir ahogados en «el océano infinito del conocimiento». Creo que a estas alturas debes tener claro lo que comenta Raúl Hernández González en el citado artículo:

Podemos aprender cualquier cosa, pero no podemos aprenderlo todo.

Muy bien, ¿y dónde puedo encontrar información de todo esto? La respuesta está clara: en este mismo blog. Concretamente, en una entrada que escribí hace un par de meses en la que intentaba dar respuesta a la pregunta de «¿Dónde puedo aprender SAP?» 😉

ABAP en SAP Cloud Platform

Pues sí, como lo leéis, ya os dije que el ABAP no estaba muerto y esto es una prueba más.

Tal y como anunciaron en el SAP TechEd de Las Vegas de la semana pasada, a partir del año que viene vamos a poder desarrollar nuestras aplicaciones en SAP Cloud Platform con ABAP.

¿Con nuestro ABAP de toda la vida? Sí, bueno, o con gran parte de ese ABAP, con ciertas variaciones para que podamos operar en «la nube» y eliminando sentencias obsoletas.

Y no sólo desarrollar nuevas aplicaciones, también crear extensiones o ampliaciones de cliente del código estándar. Ya sabéis lo que dicen las buenas prácticas: modificar no, pero ampliar funcionalidad sí.

De hecho, a finales de este año se empezaran con las primera pruebas para extensiones de S/4HANA Cloud.

Y como seguro que me habéis hecho caso a lo comentado hace unos días, no tendréis ningún problema en que esto sólo esté disponible con las ABAP Development Tools (ADT), porque ya estáis más que acostumbrados a trabajar con ABAP desde Eclipse… ¿no? 😉

Aquí os dejo los artículos que me han servido de «inspiración»:

CDS y AMDP: ¿qué es esto?

En la entrada de ayer, solté un par de «palabros» y me quedé tan a gusto: CDS y AMDP.

Y aunque puse un link en cada «palabro», por si alguien tenía curiosidad en saber de qué estaba hablando, hoy me explayo un poco más, pero no mucho y en términos no excesivamente técnicos.

Desde la aparición de HANA, a finales de 2010, ha llovido un poco y lo que nació como una base de datos en memoria se ha convertido en una plataforma de aplicaciones, por supuesto sin dejar de ser una base de datos en memoria.

Una de las grandes ventajas que tiene es la capacidad de procesamiento, precisamente por el hecho de trabajar directamente en memoria, sin tener que hacer lentas lecturas de disco.

Y debido a esto, todo lo que nos decían antes de «no accedas mucho a la base de datos, lee los datos en bruto y luego los procesas en la aplicación», ahora ha cambiado a «métele caña a la base de datos, que te dé todo hecho y tú sólo lo pintas».

Total, que tocaba refrescar conceptos de SQL, ya que para trabajar contra HANA tenía que utilizar principalmente SQLScript para sacarle todo el jugo posible a la base de datos y además no me valía para nada el ABAP porque tenía que trabajar con HANA Studio, que es algo muy muy parecido a lo que os contaba ayer de las ABAP Development Tools…  es decir, herramientas que instalo en Eclipse y me cargan perspectivas para trabajar contra HANA.

Parecía que el desarrollo en ABAP y en HANA llevaban caminos paralelos, pero… poco a poco, van convergiendo y ya hay ciertas cosas que podemos hacer en un entorno ABAP y transportarlo a un entorno HANA, como por ejemplo usar Core Data Services (CDS) y crear ABAP Managed Databased Procedures (AMDP).

¿Para qué me sirven los CDS en ABAP? Pues básicamente, para definir vistas en el diccionario mucho más «potentes» (ya avisé que no iba a ser muy técnico), con el objetivo de cargar la mayor parte del trabajo en la definición de la vista y después únicamente consumirla.

Más info: ABAP News for 7.40, SP08 – ABAP Core Data Services (CDS)

¿Y los AMDP para qué valen? Esencialmente, para crear procedimientos de base de datos (conjuntos de instrucciones que me permiten realizar procesos) utilizando una serie de clases, mezclando código ABAP y SQLScript, que se ejecutarán luego en mi base de datos HANA.

Más info: ABAP Managed Database Procedures – Introduction

Vamos, que aquellos que decían que el ABAP estaba muerto y que ahora todo iba a ser desarrollo nativo en HANA, pues va a ser que no… lo que sí es cierto es que tengo que aprovechar las bondades de ambos mundos: ni todo desde ABAP, ni todo desde HANA.

Habrá casos que lo mejor será atacar directamente a HANA y otros casos en los que podré utilizar ABAP.

Y claro, para poder hacer hacer eso, tengo que aprender cosas nuevas… otro día os cuento como empezar a jugar con HANA 😉

ABAP Development Tools: el eclipse de la SE80

Probablemente, si eres desarrollador ABAP, tu transacción de cabecera sea la SE80 y si tienes «unos cuantos años» puede incluso que sigas utilizando la SE38, la SE11, la SE51… pero va siendo hora de cambiar… o «morir» 😉

De momento, yo empezaría a trabajar con las ABAP Development Tools, que no es nada más que el Eclipse «de toda la vida» con plugins específicos para ABAP.

¿Y por qué no seguir como hasta ahora? Bueno, entre otras cosas porque ya empieza a haber cosas que sólo se pueden hacer desde Eclipse (trabajar con CDS o AMDP, por ejemplo) y porque desde aquí podrás trabajar no sólo con ABAP, también con HANA, Java, etc… simplemente cambiando la perspectiva.

Así que, yo empezaría a acostumbrarme a ese entorno de desarrollo. Y, para ponerlo fácil, os dejo el enlace donde os cuentan cómo instalarlo: SAP Development Tools

Básicamente, lo que hay que hacer es bajar e instalar la versión correspondiente de Eclipse y añadir el plugin pero, por si alguien se pierde, aquí dejo una guía más detallada: Installing ABAP Development Tools for SAP NetWeaver

Ah, y si no tenéis un sistema SAP donde conectaros para probarlo, en la misma página os dice cómo instalaros un SAP NetWeaver AS ABAP Developer Edition y aquí os lo explican con más detalle: SAP AS ABAP 750 SP02 Developer Edition to Download

Bueno, y ya que os ponéis, como seguro que ayer os creasteis vuestra cuenta en SAP Cloud Platform, aprovechad para instalar también las utilidades para poder trabajar ahí.

Entonces, ¿qué pasa con el entorno de desarrollo de toda la vida? Tranquilos, que también lo vais a seguir utilizando, queda «/h» para mucho tiempo… pero hay que actualizarse un poquito, que luego nos pilla el toro 😉

De hecho, mirad, aquí alguien habla de esto y hace «sólo» 4 años… ABAP in eclipse vs SE80 comparison – why eclipse wins?

Y os dejo también una chuleta que os puede ser útil si os animáis a «eclipsar» la SE80:  ABAP in Eclipse — Keyboard Shortcuts You Cannot Miss + Cheat Sheet

 

Keylor Navas jugará este año de delantero

El Real Madrid a través de un comunicado oficial ha anunciado esta mañana que la próxima temporada Keylor Navas llevará el dorsal «9» y ocupará el puesto de delantero centro en el equipo blanco.

Desde el club madridista han declarado que se han visto obligados a tomar esa decisión ya que Keylor llevaba 4 años desempeñando la labor de guardameta y había pedido un sustancial incremento en sus emolumentos.

Ahora mismo el Madrid tiene 10 días para encontrar otro portero que le permita afrontar con garantías la temporada. Se está barajando la posibilidad de pagar la clausula de rescisión de De Gea u Oblak.

Lo sé, pensáis que se me ha ido definitivamente la cabeza, que el calor ha hecho mella en mí…

Cambiemos «Real Madrid» por «consultora», cambiemos «portero» por «programador» y cambiemos «delantero» por «gerente».

  • ¿De verdad un buen técnico va a ser automáticamente buen gestor?
  • ¿Realmente para poder acceder a ciertas bandas salariales tengo que pasar a hacer algo que no me gusta o para lo que no estoy capacitado?
  • ¿Es fácil sustituir a un técnico brillante y comprometido con su trabajo?

Estoy buscando una consultora con un programador ABAP de más de 45 años que cobre 80.000 € para incorporar a mi colección de gamusinos y unicornios… 😉

¿El ABAP está muerto?

Con tanto HANA XS, Fiori, SAPUI5, JavaScript y demás, muchos me hacéis esta pregunta… y la respuesta es fácil: ABAP sigue siendo el lenguaje de programación básico de SAP, tanto en el viejo R/3 como en el nuevo S/4, por lo que le queda mucha vida por delante.

A corto plazo, me da que va a haber unas cuantas migraciones para pasar a la Business Suite on HANA y/o al S/4HANA, que ya sabemos que son dos cosas distintas, ¿no? 😉

Bien, pues aunque para esto SAP nos proporciona una serie de herramientas, quizás tengas algún (ejem, ejem…) desarrollo de cliente en tu instalación… y puede que ese desarrollo no esté muy optimizado (ejem, ejem…), por lo que quizás tengas que revisarlo… ya que las cosas en HANA, en general, irán más rápido siempre que sean estándar y/o estén bien diseñadas.

Por supuesto, la ventaja de HANA no es únicamente esa (que lo de antes vaya más rápido), sino que se abre un nuevo mundo de posibilidades, lo que ha llevado a redefinir múltiples procesos y reescribir millones de líneas de código… en ABAP.

Evidentemente, no puede ser el mismo ABAP, ya que no tendría mucho sentido seguir haciendo lo de siempre y programando igual que hace 20 años cuando la idea principal era «no cargues la base de datos con trabajo, ya lo haces en la aplicación» y ahora es justo la contraria: «todo lo que puedas meter a nivel de base de datos, adelante».

Ya sabéis, el acceso a memoria es más rápido, el almacenamiento columnar y todas esas cosas… ¿Que no lo sabéis? Bueno, podéis empezar por aquí: ABAP Development for SAP HANA

Y, en breve, otro curso interesante: Managing ABAP Systems on SAP NetWeaver

En resumen, que sí, que Fiori, UI5, HANA, Leonardo y todo esto, muy bien, pero no olvidemos el ABAP 😉

En mi opinión, este muerto está muy vivo…

SAP Technology Strategy

Si en la última entrada hablaba de la variedad de interfaces de usuario que «sufrimos» en SAP, hoy toca hablar de tecnología, que también tenemos unas cuantas…

Cualquiera que esté más o menos al día de lo que se mueve en el mundo SAP, tiene clara cuales son las tendencias en las que está basando hoy su desarrollo de negocio: Cloud, Big Data, Mobility y Analytics.

pilares2

Esos son los 4 pilares, junto con el central y ya consolidado de las aplicaciones. Una vez vendido el ERP, hay que buscar negocio por otro lado… 😉

Así que el que quiera seguir el ritmo de SAP, que empiece a familiarizarse con términos como: Hana, Netweaver Cloud, Netweaver Portal, Bussiness Client, SUP, Afaria, Syclo, Gateway, OData…

Y empecemos a pensar más que en SaaS (Software as a Service), en PaaS (Plataform as a Service): haz lo que quieras, pero sobre mis plataformas.

Aquí tenéis un documento al respecto: Introduction to the SAP Technology Strategy and Road Map.

Eso sí, ya sabéis que nada es definitivo y menos en SAP… y si no que os lo expliquen los que hace unos años dijeron eso de «todo va a ser webdynpro java»… ;-)