En el mundo real que hay fuera de los preciosos vídeos de SAP, es frecuente la necesidad de ir más allá de los límites que ofrecen sus productos.

Extender una aplicación FIORI puede que sea algo complicado en algunos casos pero desde luego es el camino recomendable cuando se quiere adaptar el funcionamiento de una aplicación a las necesidades de negocio. Parece obvio, ¿no? Sin embargo sigo viendo como se sigue copiando aplicaciones estándares para modificar el código a machete (código que además suele estar minimizado al ser desplegado en SAP y almacenado como una BSP). Ese no es el camino!

¿Extender la aplicación es siempre el camino correcto? Hombre pues tampoco… llega un momento en que la adaptación es demasiado grande y se puede valorar la opción de realizar el desarrollo desde cero siguiendo la filosofía y arquitectura de la aplicación inicial. Hay aplicaciones que parecen complejas pero en realidad su construcción es muy sencilla. Siempre hay varios caminos, pero solo cuando el proyecto está mal vendido o mal ejecutado es cuando está sobre la mesa la opción de copiar el estándar para modificarlo.

Seguiré insistiendo con mi idea aunque tengo la sensación de que no me escuchan…

NoMeEscuchan

Desde el servicio WebIDE Full-Stack de SAP Cloud Platform tenemos un asistente que nos ayuda a realizar algunas ampliaciones. Este asistente va cambiando con el tiempo y cada vez nos proporciona más opciones, aunque aún le queda bastante que mejorar.

 Tengo pendiente ver hasta donde llega el nuevo SAP Business Application Studio en estas tareas de ampliación. Además de la programación CAP, si que he comprobado que soporta Fiori Elements y la creación de aplicaciones Fiori con algunas plantillas así que imagino que estará a la par que el WebIDE.

Vamos al lío.Una vez que hemos creado el proyecto de ampliación (aquí tienes un ejemplo de cómo hacerlo), estás son las opciones que nos ofrece el SAP WebIDE:

Fiori New Extension
Fiori Extension Options

Tenemos opciones que no nos interesan ahora mismo: extender un controlador, reemplazar un servicio, ocultar un control, reemplazar textos por idioma o implementar un manejo específico  de los eventos.

Y remarcado vemos las opciones para extender una vista o un fragmento (opción que estará solo disponible si SAP (o el creador) ha preparado el punto de extensión). Y por último tenemos la opción de reemplazar una vista (por una copa de la original o partiendo de cero).

¿Pero y cómo podemos reemplazar un fragmento? Por ahora esta operación no se puede hacer con el asistente. Sin embargo en muchas ocasiones esto es necesario porque las vistas están casi vacías estando todo el contenido dentro de fragmentos. Una forma de conseguirlo (no se si la mejor) es seguir estos pasos:

  1. Reemplazar la vista desde donde se llame a ese fragmento por una propia.
  2. Copiar el fragmento original a nuestro proyecto.
  3. Incluir nuestro fragmento en la vista extendida.
  4. Extender el controlador de la vista.

Vamos a ello.

Paso 1: Creamos una extensión para reemplazar la vista donde se llama al fragmento por una copia suya.

Fiori Replace View
Paso 2: Copiamos el fragmento original de la aplicación a nuestro proyecto.
Cargar App
Paso 3: Incluimos nuestro fragmento en la vista extendida.
Incluimos fragemento en Vista extendida
Paso 4: Extendemos el controlador de la vista

Extender Controlador

Con esto sería suficiente pero al ejecutarlo obtengo un error. No se carga corrrectamente el fragmento.

Error Fragmento

Esto es porque puse mal la ruta del controlador dentro de la vista. Se soluciona rápido.

Corregir Ruta Fragmento

Y con esto ya tenemos funcionando la aplicación cargando correctamente nuestro fragmento.

Aplicación extendida funcionando
Corto aquí que ya es demasiado largo este post, pero en un próximo artículo veremos cómo controlar el fragmento desde un controlador independiente, cosa frecuente en aplicaciones grandes de SAP.

Si quieres navegar por esta web tienes que aceptar nuestra política de cookies y sus términos de uso

ACEPTAR
Aviso de cookies