Como todos sabemos ahora, SAP S/4HANA Cloud ABAP Environment es el nombre oficial de Steampunk incorporado y ahora también se puede usar para realizar desarrollos listos para la nube en S/4HANA On-Premise.
El desarrollo de objetos personalizados se puede hacer compatible con la nube cambiando la versión del idioma ABAP a «ABAP para desarrollo en la nube» en las propiedades del objeto, como se muestra a continuación.
Esto hará cumplir la estricta sintaxis de la nube ABAP y las verificaciones de tiempo de ejecución para la compatibilidad con la nube, es decir, solo podemos usar objetos de lanzamiento y API en el desarrollo personalizado, solo los puntos de extensión lanzados se pueden usar para extender objetos estándar y solo el modelo ABAP RAP se puede usar para construir aplicaciones y servicios.
Pero no se puede esperar que los clientes locales cambien por completo a este modelo puro de extensibilidad de la nube de la noche a la mañana y la razón podría ser muy bien el alcance del requisito personalizado frente a la disponibilidad de objetos lanzados o API para desarrollos listos para la nube.
Por lo tanto, a diferencia de S/4HANA Cloud, donde la versión del idioma se ve obligada a ser «ABAP para el desarrollo en la nube», en On-Premise ABAP para la nube y el código ABAP clásico pueden coexistir, ya que la versión del idioma ABAP se define en el nivel del objeto ABAP.
En SAP S/4HANA on-premise, para cualquier nuevo desarrollo, ABAP Cloud será una opción recomendada para comenzar.
Ahora, surge la pregunta, ya que se controla a nivel de objeto: ¿Necesitamos cambiar la versión de idioma para cada objeto que creamos como parte del desarrollo de la solución personalizada? ¿Cómo funcionarán en paralelo los desarrollos ABAP para la nube y ABAP estándar?… Y veremos las respuestas en este blog.
Los pasos para configurar la extensibilidad del desarrollador incluyen:
El uso de la extensibilidad del desarrollador requiere un componente de software separado si desea usarlo en paralelo a la extensibilidad clásica.
Usar informe estándar “RSMAINTAIN_SWCOMPONENTS” para crear un nuevo componente de software para desarrollos listos para la nube. Tome nota de que la versión de idioma seleccionada aquí es “ABAP para la Nube”.
Nota: El informe «RSCTS_CVERS» se puede utilizar para crear un nuevo componente de software en el caso de ABAP Platform 7.56 y versiones anteriores |
Crear paquete de estructura
Necesitamos crear un paquete de estructura bajo el cual los paquetes de desarrollo y el desarrollo personalizado listo para la nube en la versión de lenguaje ABAP Se creará «ABAP para la nube».
En eclipse, cree un nuevo paquete y seleccione el tipo de paquete «Estructura» como se muestra a continuación.
Asigne el componente de software recién creado con la versión de idioma «ABAP for Cloud».
Sigue los pasos para guardarlo en el transporte. Ahora tenemos un nuevo componente de software y un paquete de estructura para desarrollos personalizados listos para la nube.
Ahora, los paquetes y objetos que crearemos bajo este paquete de estructura tendrán por defecto la versión de idioma como «ABAP para desarrollo en la nube» sin opción para cambiar,
Entonces, para las aplicaciones, queremos restringir el desarrollo listo para la nube, podemos obligar a tener desarrollos solo bajo el paquete de estructura creado.
Probemos con un ejemplo de cómo se ve.
Cree un nuevo paquete para desarrollo personalizado bajo el paquete de estructura
Ahora, cree un objeto personalizado bajo este paquete. En este caso intenté crear una clase.
Y si verificamos las propiedades de esta clase, podemos ver que la versión de idioma seleccionada es «ABAP para desarrollo en la nube» de forma predeterminada sin opción para cambiar
Y si intentamos acceder a objetos/API no publicados, obtendremos el error de sintaxis como se muestra a continuación. Además, el mensaje de error sugerirá la posible solución para corregir el error también.
Una vez que abordemos los problemas, se activará con éxito y el desarrollo personalizado estará listo para la nube.
Por lo tanto, se exigirá que todos los desarrollos realizados bajo el nuevo paquete de estructura de componentes de software estén listos para la nube con la versión de lenguaje «ABAP para desarrollo en la nube».
Cualquier desarrollo realizado a partir de este paquete de estructura seleccionará de forma predeterminada la versión de idioma «Estándar» con la opción de cambiar a otras versiones, como se puede ver a continuación para otra clase de demostración que creé en un paquete del nuevo componente de software.
Y aquí es posible usar el estándar ABAP con cualquier problema
También es posible restringir a los desarrolladores para que solo puedan realizar desarrollos listos para la nube. Esto se puede hacer agregando un objeto de autorización S_ABPLNGVS a todos los roles existentes que contienen S_DEVELOP con valor para campo ABP_LNG_VS como “ABAP para el desarrollo en la nube”.
Conclusión
Ahora sabemos cómo los desarrollos listos para la nube se pueden realizar en paralelo con los desarrollos clásicos en el sistema local S/4HANA mediante la creación de un nuevo componente de software.
¡¡Sigue aprendiendo y sigue compartiendo!!
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