ABAP Cloud: aclarando conceptos

Uno de los temas que se trataron en el pasado Devtoberfest y posteriormente en el SAP TechEd fue el tema del ABAP Cloud.

Algo de lo que, por cierto, ya se habló el año pasado, como comenté en este artículo:

SAP TechEd 2022: ABAP Cloud, ¿a qué esperas?

(Esto me lleva a recordar, por cierto, que no he escrito nada sobre el SAP TechEd 2023… me lo apunto 📝)

Desde entonces, esto ha ido evolucionando, aunque la base podemos decir que sigue siendo la misma: con ABAP Cloud voy a tener que programar de otra forma.

Sí, es ABAP también, pero no el ABAP de toda la vida.

Una de las primeras cosas que tengo que tener claras es que si hasta ahora he podido ir sobreviviendo con mis módulos de funciones y mis performs, evitando, en la medida de lo posible todo el tema de la programación orientada a objetos, esto ha llegado a su fin.

En ABAP Cloud: todo es programación orientada a objetos.

«Bueno, vale, pero por ahora yo puedo seguir programando como siempre… ¿no?»

Tú lo has dicho: «por ahora», pero si miras la imagen siguiente donde nos hablan de los 3 niveles de extensibilidad de nuestras aplicaciones, fíjate en la papelera que aparece en el nivel 3.

Con independencia de que te vayas a una solución cloud (pública o privada) o sigas on-premise (sí, se puede, aunque a un precio «curioso»), SAP lo que quiere es que la forma de desarrollar sea siempre la misma, con el objetivo de mantener el código lo más limpio posible.

Sobre esto del Clean Code, te invito a que leas este artículo: Clean Code: Writing maintainable, readable and testable code

Y, ojo, porque SAP hasta te premia si lo mantienes todo limpito, tal y como anunciaron en el SAP TechEd: SAP rolls out new reward program for cloud ERP clean core

Que ya sé que esto no va por ti, que tú lo tienes todo en el estándar y cualquier cosa que has tocado perfectamente justificada, localizada, con la documentación detallada y los casos de test suficientes, pero es para que se lo cuentes a ese amigo que sabes que no lo tiene así… 😉

Entonces, ¿esto del ABAP Cloud es lo del ABAP en BTP? No. O más bien, no sólo eso.

Ya sabéis que no lo ponen fácil con tanto cambio de nombre y tanto término, pero vamos a ver si me explico.

Empecemos recordando este artículo:

Steampunk: ¿qué es esto?

Ahí os hablaba de dónde estaba en ese momento todo el tema de ABAP Cloud, que podíamos tenerlo en S/4HANA Cloud público y como un servicio en BTP.

De esto último, os hablaba en este otro artículo:

Entorno ABAP en SAP Business Technology Platform (I)

¿Qué ha cambiado desde entonces? Pues que ahora podemos utilizar ABAP Cloud en:

  • S/4HANA Cloud Público
  • S/4HANA Cloud Privado
  • S/4HANA Any/On  Premise
  • SAP BTP

Os dejo un enlace a un artículo donde hablan de esto: ABAP Cloud

Aquí tenéis un vídeo de una charla del Devtoberfest sobre esto: 

Otro vídeo, donde podéis ver a 2 chicos muy listos, hablando de todo esto en el pasado SITBCN:

Y por último, un enlace para que os registréis en la ABAPConf 2023 donde hablarán de este tema en varias sesiones: registro en ABAPConf 2023

En este otro artículo, entran en más detalle: ABAP Cloud – What Does It Comprise?

Pero no nos liemos, a mí lo que me interesa es que de este artículo te lleves estas ideas claves:

  • ABAP Cloud es una especificación de ABAP y es la que vas a tener que utilizar sí o sí, tanto en el cloud público como en el entorno ABAP en BTP.
  • En cloud privado y on-premise es, de momento, recomendable, que empieces a programar así.

Espero no haberte liado más y si quieres que te informe de novedades sobre esto, mira aquí abajo… 👇👇👇

¡Cuéntame más sobre ABAP Cloud!

 

13 comentarios sobre “ABAP Cloud: aclarando conceptos

  1. Gracias por el artículo, tengo una duda en cuánto a utilizar Abap Cloud y ADT con conexión directa a Hana o por el contrario dentro de BTP. Entiendo que en BTP todo lo que se utilice tiene coste económico y en cambio si desarrollo con ADT contra Hana directo no lo tiene, ¿cuál sería la mejor opción para migrar el código tradicional ABAP hacia ABAP Cloud sin incurrir en costes?. Básicamente sería hacer extensiones de transacciones Sap hacia el nuevo modelo y dejar los objetos Sap lo más estándar, claro, rehacer todo esto dentro de Btp con coste económico puede ser difícil. Por otro lado tampoco tengo muy claro con si en Btp y con CAP (con Javascript) se pueden realizar todas estas modificaciones o extensiones de la misma forma que en la forma clásica, o más bien es para consumir servicios de api y nuevas aplicaciones no tan «Sap». Gracias y saludos.

    1. Hola Alberto,

      Creo que mezclas varios conceptos: ABAP Cloud es una especificación del lenguaje ABAP, mientras que las ADT son herramientas, en las que puedo programar en ABAP clásico y en ABAP Cloud (ya sea en el ABAP de BTP o en on-premise).

      Por otro lado, en BTP hay cosas que tienen coste y otras no. El mismo ABAP de BTP tiene una capa gratuita.

      Cuando hablas de «con conexión directa a Hana», imagino que te refieres más a S/4HANA que la base de datos en sí.

      Migrar el código ABAP clásico a ABAP Cloud no tiene por qué suponer ningún coste y lo recomendable es utilizar herramientas como el ABAP Cleaner (https://groups.community.sap.com/t5/devtoberfest/how-to-clean-your-abap-code-in-seconds-with-abap-cleaner/ev-p/279333) y el Custom Migration Code (https://help.sap.com/doc/9dcbc5e47ba54a5cbb509afaa49dd5a1/2023.000/en-US/CustomCodeMigration_EndToEnd.pdf).

      Y sobre la nueva forma de trabajar y extender las aplicaciones, hay diversos métodos y lo que hay que saber es por qué utilizar uno u otro.

      En próximas entradas, intentaré aclarar algunos de estos conceptos, porque veo que hay cierta confusión 😉

      Saludos.

      1. Gracias por la respuesta Antonio, la verdad es que alguna entrada estaría genial, somos varios conocidos los cuáles nos estamos preguntando si lo más adecuado sería pasarnos a la plataforma Btp, nuestra duda es que prácticamente todo (por no decir todo) lo que desarrollamos son o bien extensiones de transacciones, etc, o directamente en los propios objetos.
        Queríamos pasarnos a esta nueva forma de programación más limpia sin interferir en el código estándar de Sap, pero dudamos si con Btp (tanto programando con Abap cómo haciéndolo con CAP ya que hay compañeros que están más especializados en Javascript, etc), podemos hacer esas mismas extensiones sobre los propios procesos y transacciones de Sap, (fuerte acoplamiento creo que lo llaman), o si por el contrario para este tipo de desarrollo (el de toda la vida), es mejor utilizar Abap Cloud pero desarrollando con ADT en nuestros portátiles en local con las conexiones contra Hana directamente, y dejar CAP para nuevos desarrollos que utilicen las apis pero que no son extensiones de transacciones Sap.
        Por eso el tema de costes, si es posible desarrollar con Abap Cloud en Btp sin tener coste económico, y además se puede hacer a nivel extensiones de app y transacciones lo mismo que si lo hiciéramos desde ADT contra Hana directamente sería un plus para migrar la plataforma, y si además también se puede con el modelo CAP pues más armas en la caja de herramientas, (aquí sí creo que hay coste económico). En cualquier caso te seguiremos leyendo atentamente y aprendiendo para elegir la mejor opción.
        Saludos.

        1. Como te comentaba en mi respuesta anterior, son muchas cosas las que comentáis e intentaré ir aclarando vuestras dudas en próximas entradas.

Responder a AlbertoCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.