miércoles, 9 de agosto de 2017

Saber que versión de SAPUI5 tenemos instalada

Tras desplegar nuestra aplicación en nuestro servidor ABAP, puede que nos encontremos con la mala experiencia de tener una aplicación que no se ejecuta y comienza a dar errores en Javascript que no entendemos. ¿Qué pasa aquí? ¿Está el destino en nuestra contra?

Puede ser tan simple como que hayamos creado la aplicación en una versión superior a la de nuestro ABAP.

Así que vamos a descubrir qué versión tenemos instalada para así poder elegir la versión correspondiente en el WebIDE, al crear la aplicación.

La versión de la aplicación la podemos elegir cuando la creamos, a partir de una plantilla en el WebIDE

¿Qué podría fallar?


Algo que podría ocurrir es que usemos un componente de una versión superior a la que tenemos en on-premise. Cuando se cargue ese componente, ¡catapum! Nos llevaremos un susto mayor que si nos cruzásemos con el Balrog de Moria

Así que cuando vayamos a usar un componente, primero debemos comprobar en la SDK si ese componente es del nivel adecuado. Por supuesto, ¡para eso tenemos que saber antes la versión de SAP UI5 que tenemos!

Si tenemos una versión SAPUI5 de la 1.28,
no vamos a poder usar el MessageStrip, que requiere una 1.30.

Pero puede ser peor, puede que haya problemas de compatibilidades entre versiones. Por ejemplo, por encima de la versión 1.28, se usa un fichero descriptor llamado manifest.json, donde se definen las propiedades de la aplicación (el metadata que se especifica en el Component.js). Pero ese fichero no lo sabe leer la 1.28. Así que si nos confundimos de versión en este caso, fracasaremos más que Pierre Nodoyna. ¡Todo un desastre si llevas semanas desarrollando en el WebIDE y descubres la trampa el día antes de las pruebas!

Y no sólo es este fichero; puedes intentar replicar el metadata en el Component.js para que no te dé el error, pero seguirá fallando por otro montón de llamadas que no son compatibles con la 1.28. Al final, tardas menos creando una nueva aplicación y copiando el código que en intentar arreglar la vieja. No lo digo por nada en particular...

Así que, como consejo, cuando te crees una aplicación, lo primero que tienes que hacer es subirla a tu servidor ABAP y probar que funciona. Ya luego, si eso, la construirás correctamente, pero que al menos sepas que, de inicio, la versión SAP UI5 es la correcta.

¿Y cómo sabemos qué versión tenemos?


Pues no, no nos vale con mirar los componentes de SAP en Sistema -> Status y buscar SAP_UI, donde nos pondrá que estamos en la 740 o la 750 de noseque SP. Con eso no vamos a descubrir si nuestra versión de SAP UI5 es la 1.28, la 1.32 o la 1.38.

Lo vamos a descubrir de tres diferentes formas, una buena, una un poquito más cutre y otra ya cutre de verdad, pero que funciona :D. Ojo, esto es una valoración completamente subjetiva, por supuesto.

La buena es ejecutando un servicio que estará instalado en SAP. Lo podemos hacer a través de la SICF, buscando el servicio /sap/public/bc/ui5_ui5 y pulsando el botón derecho->Test Service, o poniendo la URL directamente en el explorador, que es:

https://<mi_servidor_abap>:<puerto>/sap/public/bc/ui5_ui5

Con esa URL nos aparece un listado con más numerajos que las tablas del Rolemaster, donde se indican todas las versiones de SAPUI5 que tenemos instaladas.


La que nos interesará es la que viene en la columna derecha del todo (la última versión), para el componente com.sap.ui5.core.


La versión cutre es ejecutar nuestro Fiori Launchpad. Ahí, abrimos las herramientas de desarrollador del navegador web (tecla F12) para acceder a la consola. Y en la línea de consola ponemos sap.ui y pulsamos intro.

Al hacerlo, nos cargará las propiedades de sap.ui, entre las que se incluye la versión.


Finalmente, la opción más cutre es simplemente crear una aplicación tonta en el WebIDE e intentar desplegarla en SAP. Cuando lo hagamos, nos informará de la versión que tenemos, comparándola con la versión de la aplicación creada.

¡Hala, la versión es superior! :( . Nos podemos arriesgar y subirla, o volverla a crear con la versión correcta.

De cualquiera de estas tres formas, descubriremos nuestra versión SAPUI5 y así podremos asegurarnos de crear la aplicación en la versión adecuada.

Pero, tras todo esto, ¿cómo carajos subimos la aplicación a ABAP? Bueno, eso lo dejamos para el post siguiente.

Extras


Como comentario adicional, hace tiempo me dio por crearme una aplicación en la 1.28 cuando mi servidor ABAP también era de la 1.28, incluso con una subversión superior. Pero la aplicación no me funcionó. ¿Cómo lo solucioné? Creándola de la 1.26. Sí, lo sé, es muy cutre, pero me sirvió. Lo malo es que ahora ni siquiera se puede crear de la 1.26 con el WebIDE, sólo de la 1.28 para arriba.

Eso sí, en ocasiones posteriores ya la creé de la 1.28 y funcionó, así que nunca he sabido que es lo que falló con la primera.

No hay comentarios:

Publicar un comentario