Como seguramente ya sabe, ABAP Cloud se anunció en SAP TechEd 2022 y formó parte de la El día 1 de Juergen Mueller y El día 2 de Philipp Herzig notas clave ABAP Cloud es la ABAP modelo de desarrollo para crear aplicaciones, servicios y extensiones comerciales listos para la nube en los productos SAP SAP BTP ABAP Environment, SAP S/4HANA Cloud, edición pública y SAP S/4HANA 2022 Cloud, edición privada y local.
Puede encontrar más detalles sobre ABAP Cloud en el Desarrollo ABAP Comunidad SAP en la sección „ABAP Cloud – Developer Resources“, y en el Nube ABAP blog del Chief Product Owner de la Plataforma ABAP Boris Gebhardt.
Como hemos pensado en cómo apoyar a los clientes y socios de SAP, que desean luchar por un núcleo limpio con ABAP Cloud en sus entornos y utilizar las API publicadas tanto como sea posible, se nos ocurrieron las siguientes consideraciones.
Actualmente, puede usar la aplicación Migración de código personalizado para comprobar si su código personalizado está listo para la nube con el propósito de migrar al entorno SAP BTP ABAP. Véase también el blog Cómo verificar su código ABAP personalizado para SAP BTP ABAP Environment. En este caso, las comprobaciones de preparación para la nube se ejecutarán sobre su código personalizado en el sistema local para detectar si su código personalizado cumple con la versión del lenguaje ABAP «ABAP para desarrollo en la nube», si usa solo tipos de objetos permitidos en el cloud, o si utiliza solo las API publicadas del sistema SAP BTP ABAP Environment.
Estas comprobaciones son esenciales para la migración del código personalizado al entorno SAP BTP ABAP, pero no son suficientes si desea comprobar su código personalizado para el modelo de desarrollo en la nube ABAP en un sistema SAP S/4HANA. En este caso, necesitaría verificar adicionalmente su código para las API de aplicación lanzadas de la solución SAP S/4HANA en los sistemas de destino, e idealmente ya recibir la recomendación de qué API lanzada sucesor de la pila de aplicaciones SAP S/4HANA usar.
En base a estas consideraciones, tenemos la idea de proporcionar la información sobre las API sucesoras publicadas para el desarrollo en la nube de ABAP en GitHub en el denominado Repositorio de Cloudification. Esta información se puede usar como entrada para las comprobaciones de preparación de la nube ABAP Test Cockpit para las API publicadas (análogo a las comprobaciones de preparación de Simplification Database para SAP S/4HANA).
El repositorio de Cloudification se puede utilizar con la última versión de la aplicación de migración de código personalizado en el entorno SAP BTP ABAP (versión 2302).
Echemos un vistazo en detalle a cómo funciona.
Tomamos como ejemplo el paquete de código personalizado ABAP ZS4HANA_CLOUD_MIGRATION_DEMO en el sistema SAP ERP. Este paquete debe migrarse a SAP S/4HANA Cloud, edición pública, y por lo tanto debe adaptarse conforme al modelo de desarrollo de nube ABAP.
Este paquete contiene, entre otras cosas, los objetos de código fuente ABAP, como por ejemplo las clases ZCL_MARA_USAGE y ZCL_KONV_USAGE que no cumplen con el modelo de desarrollo en la nube ABAP, porque acceden directamente con openSQL a las tablas MARA y KONV de la aplicación SAP en lugar de usar el correspondiente API publicadas:
Otros objetos de código fuente ABAP en este paquete tampoco cumplen con el modelo de desarrollo en la nube ABAP. Por lo tanto, debemos analizar el paquete para comprender qué problemas debemos resolver en el camino hacia la migración del código personalizado a ABAP Cloud.
Usaremos la última aplicación de migración de código personalizado en el entorno SAP BTP ABAP (versión 2302) para el análisis de código personalizado, y dado que la aplicación no puede mostrar la API lanzada sucesora en el resultado del análisis, porque no tiene conocimiento sobre cuál se lanzó. Las API deben usarse en el sistema de nube pública SAP S/4HANA de destino, necesitamos usar el repositorio de Cloudification.
El Repositorio de Cloudification está disponible en GitHub, bajo el enlace https://github.com/SAP/abap-atc-cr-cv-s4hc puede obtener una descripción general al respecto:
Basta con echar un vistazo al contenido de la objetoReleaseInfoLatest.json archivo bajo el «src»:
Contiene las API publicadas en formato JSON. En este archivo JSON puede buscar, por ejemplo, el sucesor del acceso directo a la tabla KONV. Allí encontrará la tabla KONV, información sobre el componente de software („SAPCORE“) y el componente de aplicación („SD-BF-PR“). La información del sucesor apunta al DDL como CDS View („I_SLSPRCGCONDITIONRECORD“), que debe usarse en lugar del acceso directo a la tabla KONV:
Puede proceder de la misma manera y buscar por ejemplo el sucesor del acceso directo a la tabla BSEG, y encontrará la Vista CDS I_OPERATIONALACCTGDOCITEM y así sucesivamente.
Si ahora mostramos la variante de verificación ABAP_CLOUD_READINESS en el sistema SAP BTP ABAP Environment, donde se ejecutará nuestra aplicación de migración de código personalizado, veremos que bajo el Comprobaciones de preparación para la nube categoría que contiene la nueva verificación «Uso de las API publicadas (repositorio de Cloudification)»:
Esta comprobación toma como parámetro el enlace al archivo JSON del repositorio de Cloudification.
Simplemente copiaremos la variante de verificación ABAP_CLOUD_READINESS (menú contextual „Duplicar“ en el Explorador de proyectos o vea el blog Cómo crear y usar su propia variante de verificación ATC en SAP BTP ABAP Environment para obtener más detalles) y cree la nueva variante de verificación ZMY_ ABAP_CLOUD_READINESS. Allí anularemos la selección de la verificación «Uso de las API publicadas» y seleccionaremos la nueva verificación «Uso de las API publicadas (repositorio de Cloudification)», y luego en los detalles de la verificación proporcionaremos el enlace al archivo JSON del repositorio de Cloudification:
Finalmente guardaremos y activaremos nuestra nueva variante de verificación ATC ZMY_ ABAP_CLOUD_READINESS. Ahora está listo para usar.
Ahora es el momento de analizar el paquete de ejemplo de código personalizado ZS4HANA_CLOUD_MIGRATION_DEMO en nuestro sistema ERP para ABAP Cloud utilizando Cloudification Repository. Para eso, iniciamos la aplicación de migración de código personalizado en el sistema SAP BTP ABAP Environment, donde acabamos de crear la nueva variante de verificación ZMY_ ABAP_CLOUD_READINESS y creamos la nueva Proyecto de análisis de código personalizado:
Este proyecto se conectará a nuestro sistema ERP y verificará con la nueva variante de verificación ZMY_ ABAP_CLOUD_READINESS el paquete de ejemplo de código personalizado ZS4HANA_CLOUD_MIGRATION_DEMO (lo proporcionamos en la «Configuración avanzada»):
Después de hacer clic en el Crear botón se iniciará el análisis. Tan pronto como finalice el análisis, verá que tenemos los 23 hallazgos en nuestro código personalizado y puede hacer clic en este número para ver los resultados del análisis.
En los resultados del análisis, aplicamos el filtro para mostrar solo los hallazgos que están relacionados con el uso de API no publicadas en nuestro ejemplo de paquete de código personalizado para centrarnos solo en los hallazgos para los que se proporciona la información del sucesor en el Repositorio de Cloudification:
En la tabla con hallazgos, ahora podemos, por ejemplo, seleccionar la línea con el uso no permitido de la tabla KONV y hacer clic en «>» para obtener los detalles de este hallazgo:
Aquí veremos la información del archivo JSON del repositorio de Cloudification sobre la vista CDS sucesora, que debe usarse para el desarrollo de la nube ABAP en lugar del acceso directo a la tabla KONV.
Por cierto, también puede usar el repositorio de Cloudification con la aplicación de migración de código personalizado en las instalaciones o SAP GUI ATC (en el sistema SAP S/4HANA >=2020) después de implementar la nota de SAP 3284711: verificación de ATC para objetos liberados (repositorio de Cloudification).
Con la aplicación de migración de código personalizado y el repositorio de Cloudification, ahora puede analizar su código personalizado en los sistemas locales para ABAP Cloud y estimar el esfuerzo para futuras adaptaciones.
¡Solo pruébalo!
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073