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

 

El ABAP no está muerto… ¿y tú?

Como ya comenté hace unos días el ABAP no está muerto, ni mucho menos… lo que no tengo tan claro es si muchos de los desarrolladores ABAP siguen “vivos”.

Con la versión 4.6, allá por el año 2000, apareció en SAP la programación orientada a objetos y es el día de hoy cuando todavía muchos clientes siguen manteniendo sus viejos desarrollos donde los métodos y las clases brillan por su ausencia.

Eso sí, batch-inputs y ALVs, los que quieras 😉

Esto me lleva a reflexionar sobre un “novedoso” artículo publicado hace casi más de 5 años en el SCN: “A Call to Arms for ABAP Developers”

Básicamente, habla de lo que comentaba, que no te puedes tirar 15 años haciendo lo mismo y de la misma forma, sin estar al tanto de las innovaciones que van saliendo.

También es interesante ver la evolución que tuvo este hilo abierto en 2010 y actualizado hasta 2015: “ABAP Future in next coming years”

Es curioso ir viendo cómo van variando las opiniones a medida que va pasando el tiempo… lo que es cierto es que el ABAP permanece.

De todas formas, veamos una opinión más actual en: “The Future and Scope of SAP ABAP Career Paths”

Aquí mencionan algo que comparto plenamente: ABAP sí, pero no sólo ABAP.

Personalmente, creo que la clave en los próximos años va a estar en la integración: sistemas cloud con sistemas on-premise, sistemas SAP de toda la vida (ERP, CRM, SRM…) con sistemas adquiridos (que no integrados, aunque todo llegará) por SAP (SuccessFactors, Ariba, Concur…) y, por supuesto, con sistemas de otros proveedores, que algo hay que dejar para los demás… 😉

Es cierto que es difícil seguir el ritmo y que es imposible que alguien controle: ABAP OO, WebDynpro Java, Workflow, WebDynpro ABAP, OData, Gateway, SAPUI5, BOPF, BRF+, JavaScript, CSS, Core Data Services, HCI, SQLScript… aunque los recruiters y/o los jefes de proyecto lo pretendan…

Lo que es cierto es que te tiene que sonar de qué va todo eso y que si no te suena ya, vas tarde… pero tienes forma de reengancharte, sólo es cuestión de bucear entre los miles de blogs, videos, libros y echarle un poco de ganas.

Yo iré contando alguna cosa por aquí, pero seguro que la tecnología va más rápida, así que mejor espabila, si no quieres que te arrolle el tren 😉

PD.- Ah, y si no os importa pagar, creo que este libro podría serviros de ayuda: “ABAP to the Future”

¿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…