¿Quién ha hecho esta mierda de programa?

Si eres desarrollador, es probable que más de una vez se te haya venido esa frase a la cabeza al revisar el código de un programa. Y es también muy posible que ese «quién» fueras tú mismo… 15 años antes 😉

Que no siempre tiene porqué ser así, que hay gente que hace las cosas muy bien desde el minuto 1, pero aunque fuera así, me cuesta creer que ahora mismo alguien haría igual las cosas que hace 15 años, sobre todo teniendo en cuenta lo que ha avanzado la tecnología en este tiempo.

Sí, ya conozco la máxima de «si funciona, no lo toques», pero es que si trabajas con SAP puede que las cosas dejen de funcionar en breve… ya sabéis, HANA, S/4HANA y esas cositas.

«¿¿¿Cómo??? ¿Pero es que las cosas no funcionan directamente más rápido por poner HANA?».

Claro, claro que sí… es todo automático. Tú metes el «CD de HANA», le das a «siguiente» unas cuantas veces y está todo listo.

A ver, si hace 20 años tú ya tuviste en cuenta que pasado un tiempo te iban a decir justo lo contrario («mete caña a la base de datos, que la aplicación sea ligera») de lo que te estaban diciendo en ese momento («no leas mucho de la base de datos, mete caña en la aplicación»), puede que no tengas que revisar mucho… o si lo tienes todo estándar… porque, por supuesto, las buenas prácticas las has aplicado desde siempre, ¿no?

Si, por un casual, no tuviste en cuenta eso y tienes algún «zeta», o no siempre has sido muy cuidadoso con las buenas prácticas, quizás sea el momento de que revises tu código ABAP.

No esperes al último momento y empieza con esa tarea, ya que obtendrás beneficios inmediatos (optimización del código existente, eliminación de programas obsoletos…) y te preparará mejor para lo que está por llegar, porque sí o sí, vas a pasar a S/4HANA… ¡y lo sabes!

Hace unos meses ya escribí una entrada sobre esto: Revisión de código para migrar a S/4HANA

¿Por qué lo recuerdo ahora? Pues porque es otra de las cosas para las que vas a necesitar las ABAP Development Tools (ADT), de las que os hablaba ayer, es para poder corregir automáticamente muchos de los errores de tu código.

¿Y esto cómo se hace? Pues, por resumir:

  1. Cargas la Simplication Database. Que es una lista que contiene las verificaciones a realizar.
  2. Lanzas el ABAP Test Cockpit (ATC). Una herramienta que busca esas verificaciones en tu código.
  3. Ejecutas la SPDD y la SPAU. Estas son viejas conocidas, ¿no?
  4. Vuelves a lanzar el ABAP Test Cockpit (ATC). Ahora en el sistema destino.
  5. Corriges el código con las ABAP Development Tools (ADT). Hay una perspectiva especial para leer los resultados del ATC.

¿Demasiado resumido? Tenéis todo el detalle aquí: Custom Code Migration Guide for SAP S/4HANA 1809

Venga, que aún estamos a tiempo de hacer bien las cosas y evitar que dentro de 15 años, cuando nos encontremos con nuestro código, vuelva a aparecer en nuestra mente la misma pregunta… 😉

ABAP Programming Model: algo que te debería sonar

Hace menos de 1 año escuché esta frase: «El ABAP orientado a objetos casi no se utiliza». Que es algo así como decir, a estas alturas del partido, que La Tierra es plana, pero ya sabéis que hay de todo en este mundo… 😉

También cuando cuento algo de SAP Cloud Platform alguien me dice lo de «todo esto es muy  nuevo»… y cuando miro el primer curso que hubo en openSAP sobre esto veo que es del 26 de octubre de 2013… ¡hace casi 5 años y medio!

Lo que sí es cierto es que, por ejemplo, todo lo de SAP Cloud Platform ha cambiado bastante desde que empezó, pero de ahí a que sea «muy nuevo», hay una gran diferencia.

Y aunque tengo claro que esto es un poco predicar en el desierto, vuelvo de nuevo a la carga, intentando explicar por qué, sobre todo si eres desarrollador, deberías ir pensando en actualizarte.

La clave de todo está en entender este gráfico:

Simplificándolo mucho: tengo mis datos en HANA, los modelo con CDS, los pongo en formato OData y los consumo en aplicaciones SAPUI5/Fiori.

De entrada, tengo que tener muy claros algunos conceptos: HANA, CDS, OData y SAPUI5. Algo que ya era básico a finales de 2017… 😉

¿Por dónde empiezo? Aquí os dejo una pequeña ayuda: Be prepared for the ABAP Programming Model for SAP Fiori

¿Te vas a actualizar o vas a pasarte la vida haciendo batch-inputs?

Y lo mejor es que esto, está empezando a quedarse «obsoleto»… 😉

 

Desarrollo en SAP HANA: ¿a qué esperas?

Cuando apareció HANA, a finales de 2010, empezaron a circular mensajes apocalípticos, diciendo que, por ejemplo el BW y el ABAP iban a desaparecer.

A día de hoy, que alguien siga diciendo cosas así, te hace ver que vive anclado en el pasado. Lejos de desaparecer, precisamente esos 2 productos, tienen sus especificaciones propias para trabajar con HANA, como podéis ver en estos 2 cursos de openSAP:

Cursos, por cierto, que son de 2014 y 2016, por si alguien me va a salir con lo de «esto es muy nuevo»… y, por supuesto, ambas cosas han ido evolucionando, a lo largo de estos años.

HANA empezó siendo una base de datos en memoria pero ahora es mucho más que eso: es la plataforma de innovación de SAP.

Por cierto, que si alguien quiere saber cómo surgió HANA, os recomiendo que leáis la entrada que hay en la Wikipedia al respecto. ¿Alguien sabía que el «famoso» TREX era uno de sus componentes principales? Sí, ya sabemos que HANA tiene capacidades de búsqueda y análisis, etc… pero que el origen venga de ahí es, cuando menos, curioso. Aquí os dejo el enlace: SAP HANA Wikipedia – Historia

En cualquier caso, aunque es cierto que el ABAP no está muerto, también lo es que deberíamos conocer de qué va esto del desarrollo en HANA. Y no hablo sólo del ABAP para HANA, hablo del desarrollo nativo en HANA.

Sobre esto, como os podéis imaginar, también ha habido cursos en openSAP, desde el año 2013 concretamente. Este fue el primer curso: Introduction to Software Development on SAP HANA

Y el último, que está ahora mismo en marcha, es este: Software Development on SAP HANA (Update Q1/2019) 

Entre medias, ha habido varios, de actualizaciones de las distintas versiones, con sus correspondientes novedades y/o alguna repetición de un curso anterior.

Si eres de los pocos que empezaste con el desarrollo en HANA, cuando surgió todo esto y no te has actualizado, tienes un problema.

Si no te has puesto aún con esto y eres desarrollador en el mundo SAP, es probable que en un futuro inmediato tengas un problema.

Si todo ha cambiado en los últimos años, esto ha cambiado mucho. Aún conservando la idea base de que hay que meter toda la carga que podamos de nuestras aplicaciones a nivel base de datos, en lugar hacerlo sobre la propia aplicación, la forma de construir y gestionar las mismas, ha cambiado.

El cambio principal vino en el SPS11 de HANA 1.0, cuando pasamos de hablar del XS clásico (XSC) al XS Advanced (XSA). Aquí os dejo un vídeo en el que intentan explicar la nueva arquitectura:

¿Cuál es mi consejo? Pues que empecéis a mirar de qué va esto, con los cursos de openSAP y con la SAP HANA Academy.

Si empezaste con XSC, entérate de cómo va el tema de XSA. Si no has empezado, empieza directamente con XSA, aunque no estaría mal que te sonara cómo va lo de XSC, por si te encuentras alguna aplicación «antigua».

Por mi parte, me comprometo a escribir algún artículo con algún ejemplo básico.

¿No crees que va siendo hora de que te pongas con esto? 😉

SAP Activate: tu caja de herramientas para el futuro inmediato

Hace casi 2 años y medio ya escribí algo sobre SAP Activate y, por lo que puedo ver, sigue siendo algo no muy conocido, lo que me sorprende porque debería ser una pieza angular de mucho de lo que está por venir. Ya sabes, migraciones a HANA, S/4HANA y todas esas cosas modernas…

SAP Activate es la metodología que ofrece/recomienda/impone SAP para todos sus proyectos, ya sean on-premise o cloud, soportando implementaciones nuevas, transformación de escenarios, migraciones… y no es simplemente una metodología; ese sería uno de sus 3 pilares, además tiene las configuraciones guiadas y las mejores prácticas.

Con las SAP Best Practices podemos analizar en detalle los procesos de negocio que nos ofrece SAP, accediendo a la documentación de los mismos y su configuración.

¿Cómo accedemos a todo esto?

 

¿Y cómo puedo buscar lo que necesito?

 

Todo esto y mucho más, lo podéis encontrar aquí: SAP S/4HANA Cloud 1805 release with SAP Activate

Y si queréis aprender más sobre esto, podéis mirar este curso de openSAPImplementation of SAP S/4HANA

Si lo que necesitáis es aprender con más detalle y/o certificaros, entonces toca pasar por caja y hacer los cursos ACT100 y ACT200.

De todas formas, todo esto sólo es necesario si piensas hacer algo distinto en los próximos años. Si vas a seguir haciendo batch-inputs y ALVs, puedes seguir igual, esto no va contigo… 😉

SAP NOW Madrid y Tinder

El jueves pasado se celebró en Madrid el evento denominado SAP NOW, en el cual se dieron cita partners y clientes con la intención de conocerse un poco y ver si de ese primer contacto podía salir una relación más duradera.

SAP ponía de su mano toda la parte logística y la infraestructura para que la cita se llevase a cabo en la mejor de las condiciones, así como varios temas encima de la mesa, para que la conversación fuera fluida: HANA, S/4HANA, Leonardo, Inteligencia Artificial, IoT, Blockchain…

Y, para que no faltara nada, pusieron al mando de todo a un maestro de ceremonias con experiencia en semejantes lides…

¿Y cómo transcurrió todo? Pues como suele pasar en estas ocasiones: todo el mundo mostrando su mejor cara para poder contentar a la parte contraria, en un ambiente cómodo y distendido: «no vas a encontrar a nadie como yo», «creo que podemos hacer grandes cosas juntos», «pienso que podemos hacer un gran equipo», «tenemos un gran futuro por delante»…

Todo según el guión previsto. Incluso a la hora de pagar la cuenta («no, por favor, pago yo, faltaría más»), pero ya sabemos todos lo complicada que es la convivencia y esto, con el tiempo, termina convirtiéndose en una lucha a muerte (también conocida como «cambio de alcance»).

Claro, que eso nos pasa, por seguir utilizando métodos del siglo pasado. Desde hace tiempo, las cosas han cambiado (unos dicen que para mejor y otros que para peor, no voy a entrar en esto) y la forma de relacionarnos con otros también.

Muchas veces, lo que necesitamos es «algo esporádico» no una «relación a largo plazo», mejor suscribirnos por un tiempo limitado (SaaS) a un servicio que encadenarnos de por vida.

Incluso a veces lo que necesitamos es algo muy concreto, que tenga una utilidad muy concreta, como podría ser un microservicio.

Vamos, que lo que es cierto es que el mundo de unos años hacia acá ha cambiado y todo tiende a ser más simple, más rápido y más inmediato; de hecho, eso es lo que pregonamos todos, cuando se nos llena la boca al hablar de «transformación digital».

Entonces, si esto es así y todos lo tenemos claro, ¿por qué seguimos escribiendo cartas de amor a la antigua usanza en lugar de usar Tinder?

Me explico: si quieres subirte al tren de la innovación, ¿de verdad crees que con coger el RFP que hiciste hace 20 años y cambiar 3 ó 4 cosas es suficiente?

Y, claro, lo de la inmediatez también tiene su peligro, porque alguno se piensa que «mandamos a estos 4 a un curso una semana y listo»… con eso puedes conseguir una cita, pero es complicado que eso tenga continuidad o llegue a buen puerto.

Uy, creo que me he liado… ¿qué tal el evento? Pues la verdad es que no asistí en persona, pero creo que el mensaje principal podría ser que tenemos muchas oportunidades a la vuelta de la esquina, sólo hay que saber conquistarlas 😉

¿No hemos aprendido nada en 20 años?

Me resisto a creer que no hayamos aprendido nada en los últimos 20 años.

No me puedo creer que volvamos a repetir lo de formar «expertos» en 20 días (en el mejor de los casos), para hacer todos los proyectos que están al caer.

Por aquel entonces era el temido «efecto 2000», cuando muchas compañías dijeron adiós a sus viejas aplicaciones a medida e implantaron algo llamado ERP… o algo parecido, porque con la excusa de «es que nosotros somos muy especiales», terminamos toqueteando mucho de los procesos estándar que nos ofrecía dicho ERP.

Y, como es lógico, con el conocimiento y experiencia que teníamos, así salían las cosas.

Después, hemos vivido mucho tiempo poniendo parches sobre aquellas «maravillas», a medida que hemos ido aprendiendo de nuestros errores y adquiriendo conocimientos que no nos habrían venido nada mal al inicio, pero nos pilló el toro e hicimos lo que pudimos.

¿Quién de vosotros al terminar un proyecto (sobre todo de esos de los inicios) no cambiaría cosas (por no decir que lo empezaría de nuevo) al finalizarlo?

Personalmente, alucino cuando alguien me dice: «he estado en un cliente y he visto una operación de nómina tuya del año 98». Os aseguro que es para temblar, que eso se siga utilizando… 😉

Con todo el tema de HANA, S/4HANA y las distintas soluciones cloud, el mundo SAP está cambiando radicalmente y, si bien es cierto que habrá alguno que lo abandone, la inmensa mayoría de los clientes se verán «obligados» a migrar/reimplementar sus sistemas.

A diferencia de hace 20 años, hoy en día tenemos muchos más recursos a nuestra disposición para prepararnos para este cambio pero… ¿lo estamos haciendo?

Mi impresión es que no. O al menos, no al ritmo que deberíamos. Y como españoles y muy españoles que somos, al final nos va a pillar el toro.

Lo cierto es que es difícil que lleguemos a tiempo mientras:

  • Los clientes piensen que pueden tener un profesional competente por 30 €/h.
  • Los proveedores de software no sepan lo que venden… o sí lo saben, pero no para qué te lo venden.
  • Las consultoras oferten a todos los proyectos «porque para que se lo lleve otro…».
  • Los empleados no asuman que su formación no es responsabilidad únicamente de su empresa.
  • Los departamentos de compras no entiendan que lo barato sale caro, aunque ellos se lleven el bonus por haber conseguido el descuento que les ponen como objetivo.

Porque si no corregimos todo esto, los clientes seguirán ofertando proyectos en los que no saben lo que quieren, a los que las consultoras se lanzarán como leones, para terminar haciendo algo con un software que no conocen lo suficiente (o no es el más adecuado), a precios «convenientemente» ajustados por los departamentos de compras, con personal no suficientemente cualificado o mal retribuido.

Evidentemente, hay clientes que saben lo que quieren, proveedores de software con critero, consultoras que no entran en ofertas temerarias, empleados que se preocupan de actualizarse y departamentos de compras que miran por el interés general, pero… ¿de qué hay más, de los primeros o de estos últimos?

Resumiendo, que o nos ponemos las pilas ya o me veo dentro de 20 años escribiendo un artículo parecido sobre las chapuzas que están por venir 😉

Y en esto, todos podemos hacer algo:

  • Los clientes pagando tarifas acorde al valor solicitado. ¿Por qué no pagar 80 €/h por un programador que me resuelve más en el mismo tiempo que 5 programadores a 20 €/h?
  • Los proveedores aportando soluciones que le den valor al cliente… independientemente de que te comisione más o menos.
  • Las consultoras vendiendo por valor aportado, no por horas/hombre. ¿Y si todos dijéramos que no a las «ofertas suicidas»?
  • Los empleados actualizando sus conocimientos de manera constante, para poder aumentar/mantener su valor en el mercado.
  • Los departamentos de compras no fijándose sólo en el descuento obtenido, sino en el valor final. Puede que el proyecto inicialmente se compre por menos dinero, ¿pero has calculado el valor de todas las ampliaciones asociadas por esa «ajustada» compra inicial?

Soluciones creo que hay y aún estamos a tiempo, sólo es cuestión de echarle VALOR 😉

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?» 😉

Viaje estelar con SAP

Aunque no soy un gran aficionado a la ciencia ficción, he de reconocer que todos los años me gusta ver la película que protagoniza Björn Goerke en el SAP TechEd. Hace 2 años nos rescató de Marte, el año pasado le tocó viajar al futuro y este año forma parte de la tripulación de Mr. Spock.

Si sigue en esa línea, quizás el año que viene le toque ser Luke Skywalker, así que desde ya me ofrezco a acompañarle. Con mi inglés, mis pelos en la espalda y mi tamaño, creo que sería un gran Chewbacca… Björn, ahí lo dejo, soy fácil de localizar.

Pero vamos a lo que vamos, que me lío. Ah, aviso que lo que viene a continuación, contiene spoilers… 😉

A estas alturas todos, los que vivís en este planeta, habéis oído hablar de la transformación digital, pero puede otro término que aparece al inicio de la historia os suene menos, así que para eso os he puesto el enlace a la Wikipedia: «Kobayashi Maru».

Básicamente, Kobayashi Maru es una prueba de escenario de «victoria imposible», pero todos sabemos que con SAP todo tiene solución… sólo es cuestión de tiempo y dinero 😉

Se habla de HANA 2.0, como plataforma única de integración de datos, donde no sólo podemos tener procesamiento OLAP (analítico) y OLTP (transaccional) en un único sistema, sino que también podemos «jugar» con temas de Machine Learning: análisis semántico, datos geoespaciales, aprendizaje automático, redes neuronales…

Anunciaron que S/4HANA es el producto con el crecimiento más rápido en la historia de SAP,  con más de 1.000 clientes en productivo, entre ellos Nestlé o WalMart.

Y volviendo con los datos, como bien sabemos el volumen de nuestros datos cada vez es mayor y no sólo el que gestionamos de manera centralizada (en S/4HANA, por ejemplo), sino también aquellos que se encuentran distribuidos (ya sabéis, el famoso Big Data) y podemos gestionar con SAP Vora… o no… porque también hay cosas por ahí como Hadoop y S3 que almacenan/gestionan algún que otro byte… 😉

Esto suena complicado, ¿no? Pues con SAP Data Hub no parece tan difícil: te permite gestionar todas tus fuentes de datos, desde un único punto, sin necesidad de replicar la información y de una manera sencilla e intuitiva.

Por supuesto, también hablaron de SAP Cloud Platform, como no podía ser de otra forma, haciendo hincapié en la posibilidad de tener el alojamiento en las principales plataformas: Amazon Web Services, Microsoft Azure y Google Platform.

Todo eso tiene que ver con aquello que conté hace unos meses de Cloud Foundry en SAP Cloud Platform, porque aunque algunos no se lo creían mucho SAP está adoptando y/o apoyando varias iniciativas open source, como por ejemplo Open API.

Evidentemente, también se habla de SAP Leonardo y podemos ver cómo hacer un pedido con un asistente virtual o un ejemplo de reconocimiento de imágenes… aunque aquí yo confío más en el de Azure, desde que lo probé como os conté en un artículo anterior 😉

A nivel de desarrollo, se anuncia el SAP S/4HANA Cloud SDK, el acuerdo con Mendix y se muestra un avance de lo que será el ABAP en SAP Cloud Platform.

.
Y ya me callo, os dejo aquí en enlace al vídeo completo, dónde podréis ver todo esto con detalle: SAP Executive Keynote with Björn Goerke, 2017 Las Vegas | teched

¡Larga vida y prosperidad!

Trabajando en SCP desde Eclipse

Después de un par de semanas agotando las vacaciones, toca volver al cole… 😉

Hace unos días os recomendaba que os fueráis acostumbrando a utilizar Eclipse como framework de desarrollo y estoy convencido de que ya lo tenéis todos instalado y habéis empezado a utilizarlo… 😉

Continuando con la entrada del otro día donde creábamos un usuario desarrollador, vamos a ver cómo conecto con mi cuenta SCP desde Eclipse, con ese usuario:

Bien, ya tenemos acceso a nuestro sistema SCP y a nuestra base de datos HANA desde Eclipse, ya sólo nos queda crear una aplicación:

Evidentemente, para hacer esta aplicación no necesito HANA, pero esto era sólo para ver cómo lo hago utilizando Eclipse y al ejecutarla me pide el usuario de la base de datos HANA que creé en mi cuenta de SCP.

Además, siempre hay que empezar con un «Hola Mundo!», ¿no? 😉

¿Quieres desarrollar una aplicación HANA en tu cuenta SCP?

El otro día vimos cómo crear una base de datos HANA en vuestra cuenta de SAP Cloud Platform… y, probablemente, si no habéis hecho nada con ella, la tendréis parada y os la borrarán en breve.

Vamos a entrar, la «despertamos» e intentamos utilizar las herramientas del SAP HANA Web-Based Development Workbench con nuestro usuario SYSTEM…

¡No tenemos acceso! Claro, porque ese usuario no es un usuario desarrollador, así que nos toca crear un nuevo usuario y darle los permisos correspondientes…

Básicamente, le hemos añadido todos los permisos que contienen el literal «xs.ide» y el CONTENT_ADMIN.

Con este nuevo usuario ya podremos desarrollar nuestra aplicación, pero… eso para otro día 😉