Cosas que deberías conocer antes de iniciar un proyecto SAP (UI5 / SCP)
Introducción
En esta entrada recopilaré algunas de las cosa que deberías tener en cuenta antes de empezar un proyecto que implique utilizar la plataforma SAP Cloud Foundry o algun proyecto SAPUI5 en versión on-premise. También añadiré algunos ejemplos de productos que nos puede ayudar.

Antes de empezar, en esta entrada voy a descartar todo lo relacionado con formación ya que, como es obvio, antes de iniciar un proyecto deberías contar ya seas tu, tu equipo o proveedor de confianza de unas basas mínimas.
Gestión del código
Es indispensable disponer siempre del código y poder hacer una buena gestión de los cambios de código y la versiones que suben a productivo. Tradicionalmente el código en SAP estaba disponible en el propio ECC y se podia saber su evolución por versiones ( cada vez que se liberaba una orden de transporte).
En el caso de aplicaciones UI5 subidas al ECC/S4Hana si que podemos disponer de ese código, pero en caso de que haya mas de un desarrollador modificando el mismo proyecto existe el riesgo de desalinear el codigo.
En este apartado destacaria herramientas como:
- GITHUB: https://github.com/
- Bitbucket: https://bitbucket.org/
- GitLab: https://about.gitlab.com/
Seguridad
Seguro que habéis oído eso de «el portador de las llaves del imperio». Sin duda alguien importante que puede dar acceso o quitarlo a cualquiera.
Pues bien, en este caso, esto es lo mismo para nuestra cuenta Cloud. Normalmente hay algunos usuarios administradores, una vez identificados estos administradores se les inunda de peticiones de creación de usuarios «S» y accesos a cuentas Cloud. Esto puede provocar que haya un desbordamiento y no se gestionen los usuarios de manera correcta.
Actualmente el modelo de cuentas esta cambiando. Inicialmente el usuario «S» lo tenias de por vida a no ser que perdieras el acceso al mail asociado.
Aunque estos usuarios actualmente pueden caducar y eliminarse, es importante que se realize un seguimiento de los usuarios que tiene acceso y se creen flujos de trabajo para su alta, mantenimiento y borrado.
Para mas información sobre los usuarios: https://support.sap.com/en/my-support/users.html
Transporte
Los antiguos en el mundo SAP tiene una respuesta rapida para esto. Ordenes de transporte y por ejemplo Solman.
¿Pero que pasa con los proyectos SCP?
En las cuentas SCP también existen herramientas especializadas en para el despliegue del software, si quieres ver un ejemplo te dejo con una entrada que escriví hace algun tiempo:
Aunque estas herramientas son nativas de la plataforma. Existen otras de despliegue que te ayudaran a centralizar y controlar estos despliegues de manera fácil, algunas herramientas para esta tarea pueden ser:
- Jenkins: https://www.jenkins.io/
- Bamboo: https://www.atlassian.com/es/software/bamboo
- Travis CI: https://travis-ci.org/
Otra opción es utilizar herramientas integradas con los propios repositorios. A esto se le llama GitOps, una metodologia de integración continua donde el foco es: pequeños cambios muy rápidos.
Para mas información, podéis ver la documentación associada a GITHub: https://docs.github.com/es/free-pro-team@latest/actions
Best practices
Este punto muchas veces es el más olvidado. Se trata de estandarizar toda la creación de software. Aquí son importantes varios puntos, a poder ser antes de empezar los proyectos. Incluso os diria antes de que nadie acceda al sistema.
Naming conventions
Una guia de como se deberán llamar los objetos que se van a crear, ya sea el nombre de una subaccount en SCP, el nombre de un servicio dentro del Space, o el nombre de una aplicación SAPui5 desplegada en nuestro S/4Hana on premise.
Este documento tiene que ser de fácil acceso y se debe ir actualizando a medida que van apareciendo nuevos objetos a crear. Aquí me gustaria contar una pequeña anécdota. En mi primer proyecto como programador ABAP tuvimos un examen para validar si conocíamos las naming conventions de desarrollo.
Sobre esto, si no sabéis por donde empezar, os paso algunos ejemplos en otra entrada de este blog:
Para que veáis la importancia de este punto, podéis consultar las Best practices / Naming conventions que la NASA tiene definidos para el desarrollo ABAP: https://answers.nssc.nasa.gov/ci/fattach/get/334/0/filename/ABAP+Development+Naming+Standards.pdf
Subcuentas y espacios
Si una buena nomenclatura es crucial para entender que estamos viendo, una buena preparación de como organizar las subcuentas y espacios es fundamental para evitar tener que mover el código y los datos una vez iniciado el proyecto.
En cuentas cloud una de las primera dudas que siempre me llegan es: ¿creamos una subcuenta por entorno? o ¿creamos distintos spaces por entorno?
Estas preguntas que pueden parecer triviales pueden tener un efecto en puntos tan importantes como el coste de infraestructura, la seguridad de tus entornos o la facilidad de despliegue. Si este post despierta interés quizás haga nuevas entradas profundizando en estos temas.
Aquí os paso la estructura mas típica recomendada por SAP:
Bonus
Os añado un par de puntos extra que la experiencia me ha enseñado a tratar como prioritarios al empezar proyectos cloud.
Punto de acceso a las aplicaciones
A este punto no siempre se le da la importancia que tiene. Si, este punto se puede resumiren el mundo SAP como «el launchpad ese». Aun así, es importante que se defina una buena estrategia de roles acompañada con una buena definición de las aplicaciones y su funcionalidad.
A parte de roles y funcionalidades de las aplicaciones (recordar aquí que menos es mas) os paso un post que os puede ayudar a determinar donde alojar vuestro «launchpad».
Estilos únicos para todas las aplicaciones SAPUI5
Otro consejo es que se fije la hoja de estilos antes de iniciar cualquier desarrollo en SAPui5. En muchas ocasiones las hojas de estilo ya estan creadas para la web corporativa o intranets.
Para poder unificar todos los estilos en uno, tanto en las versiones on-premise como cloud tenemos una herramienta llamada theme designer. Evitar css en aplicaciones ui5 y el uso de esta herramienta permitirá una estandarización de las aplicaciones ui5 que se vayan desarrollando independientemente del equipo que desarrolle y la funcionalidad de las aplicaciones.
Podéis ver toda la información en https://help.sap.com/viewer/ab06dedc873746eaba1c041200c068e0/7.5.19/en-US/a118094264684230bb6510045b5b5b7c.html
Esta ha sido una primera entrada con consejos antes de iniciar un proyecto en SCP o UI5. Podéis dejar en comentarios aquellos temas que os interesen mas para futuras entradas o dudas que tengáis.
Como siempre suscribete, dale a la campanita de notificaciones y comparte en redes para estar a la última.
Hola Enric,
Como siempre un placer poder leer posts tan enriquecedores como estos.
Siempre hay algo nuevo que aprender (y recordar) 🙂
Un saludo!
Muchas gracias a ti por seguir el blog!
Realmente útil Enric. Implantar SAP y en general un ERP puede ser una ardua tarea si no haces un proceso de integración en el personal o no cuentas con miembros que puedan gestionar los apartado que comentas. Gracias por compartir tus conocimientos sobre SAP en cada artículo, son muy valiosos. Saludos!