Tenga en cuenta que esta publicación se publicó por primera vez en https://medium.com/@yagubovafatima/enhancement-for-fiori-finding-the-places-for-enhancement-getting-custom-error-message-4a6272fb7daa.
Estoy trabajando como desarrollador de SAP ABAP en una empresa de consultoría y durante el tiempo de trabajo enfrentamos diferentes tipos de problemas, especialmente al agregar funcionalidades personalizadas a los estándares de SAP. En este blog, voy a explicar uno de estos problemas y su solución.
El problema: el cliente quiere recibir un mensaje de error en Fiori si el documento se cancela una vez, no puede cancelar nuevamente el mismo documento después de revertirlo.
El propósito de este blog es encontrar puntos de mejora y una solución para recibir un mensaje de error en Fiori. (base de datos: s4hana)
Inicie Fiori desde SAP GUI usando /N/UI2/FLP código t. Buscar la aplicación Resumen de documentos de material y haga clic en él. Luego escriba el número de documento de material y haga clic en Ir. Veremos la siguiente pantalla. En fecha de publicación cuadro escriba la fecha anterior y elija el artículo y finalmente haga clic en DE ACUERDO.
1.
Obtendremos el mensaje de error:
2.
Aclarando el problema: el cliente quiere en esta página el mensaje de error con el texto ‘¡No puedes cancelar el documento cancelado antes!’ antes de obtener el error que se muestra en la imagen.
¿Así que cómo se hace?
Entendemos que tenemos que mejorar para obtener un error personalizado en la aplicación Fiori. Y dónde mejorar y cómo encontrar los lugares para mejorar: estas son nuestras próximas preguntas.
En primer lugar, tenemos que encontrar dónde se recopilan (seleccionan) todos los datos. Para encontrarlo tenemos que saber su Servicio OData. Hay 2 formas:
1. https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/ — vaya al enlace, haga clic en:
Todas las aplicaciones -> Buscar el nombre de la aplicación (en nuestro ejemplo: Resumen de documentos de material) -> haga clic en el nombre de la aplicación -> Información de implementación -> Configuración: en esta página, podemos encontrar el nombre del servicio OData.
3.
2. En Fiori abre la aplicación, presiona F12 (abriendo la inspección del sitio web). Abra la pestaña Red e intente invertir el documento. Y haga clic en Aceptar para invertir el documento. En la pestaña Red, busque la fila con el nombre ‘lote’. En este archivo, encontraremos el nombre del servicio OData.
4.
Bien, encontramos el nombre del servicio OData. El siguiente paso se explica a continuación.
En SAP GUI, abra t-code /n/iwfnd/maint_service. Aquí veremos la lista de servicios. Haga clic en el icono Buscar y pegue el nombre del servicio web. Busque y haga clic en el nombre del servicio web y, justo debajo, haga clic en el botón Implementación del servicio.
5.
Aparecerá esta pantalla:
6.
Luego haga doble clic en Clase de proveedor de datos y nos redirige a la página Class Builder. En esta página, veremos los métodos de una clase. Algunos de estos métodos son azules y otros son negros. Si establecemos un punto de interrupción para cada uno de ellos (por supuesto, un punto de interrupción externo) y ejecutamos la aplicación para invertir el documento, veremos que la aplicación nos redirige a los métodos de color negro. Por lo tanto, significa que podemos mejorar estos métodos. Al depurar los métodos, vemos el método con el nombre *cancelación*.
7.
Haga doble clic en el nombre del método. ¡Y ahí estamos! Aquí vamos a potenciar.
Según nuestra experiencia con un mensaje de error en este método que tiene tipo ‘mi‘, este mensaje de error interrumpe la conexión y cierra directamente la aplicación Fiori. Por eso no podemos escribir el mensaje de error en este método. Pero hay que tener en cuenta que solo podemos acceder a este apartado de código cuando ejecutamos la aplicación desde Fiori. Si ejecutamos migo no será redirigido a esta sección. Entonces, ¿dónde tenemos que escribir este mensaje de error? Para encontrarlo seguimos depurando.
Existe la idea de que podemos escribir este mensaje de error donde está escrito el error de fecha de publicación.
Ejecute el migo -> Ingrese el número de documento -> Haga clic en el elemento Aceptar -> Verificar: obtendremos el mismo mensaje de error sobre la fecha de publicación que obtuvimos en la aplicación Fiori. Haga clic en el texto largo del mensaje de error y copie el mensaje no.
Luego regrese al método de cancelación y establezca el punto de interrupción externo. Abra la aplicación Fiori e intente revertirla. Nos redirigirá a la pantalla de depuración de SAP GUI.
8.
Establezca el punto de interrupción en el mensaje. Ingrese los detalles del mensaje:
9.
Y seguimos depurando.
10
Aquí, encontramos ese mensaje de error. Significa que podemos implementar el mensaje de error aquí (en este formulario). Tome el nombre del programa, el nombre del formulario y búsquelo en se80.
11
En primer lugar, vuelva a la pantalla que se muestra en la séptima imagen y haga doble clic en el método de cancelación. Y mejorar aquí. Tenemos que saber que proviene de la aplicación Fiori. (solo a través de Fiori estamos redirigiendo aquí).
12
Así que usamos la memoria aquí para exportar datos que nos proporcionan los datos que solicitan provienen de la aplicación Fiori.
Luego en include FM07MEW0, en formulario werk_pruefen o dentro de werk_prufen — en formulario werk_lesen podemos escribir mensaje de error:
13
Hora de probar. Vaya a la aplicación Fiori e intente revertir el documento.
14
Aquí tienes, el problema está resuelto.
Conclusión: una de las formas de encontrar puntos de mejora para el mensaje de error personalizado es encontrar lugares del mensaje de error estándar. Solo debemos tener cuidado cuando tenemos los mismos códigos para la aplicación estándar t-code y Fiori. Otra conclusión: mientras buscamos los puntos de mejora, debemos desarrollar sus habilidades de depuración porque en cualquier nivel debemos saber cómo depurar de acuerdo con nuestro problema.
En mi próximo blog, encontrará otra forma de depurar y solucionar el mensaje de error personalizado en el código T estándar. Me gustaría saber tu opinión sobre el blog y el tema.
PD Todas las imágenes de este blog las tomé de nuestro sistema de demostración.
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