martes, 1 de agosto de 2017

abap message error con traducción

A veces nos toca programar con mucho menos tiempo del cual nos gustaría y hacemos cosas que si lo vemos tiempo más tarde duele a la vista. En mi caso, bien por prisas, pereza o lo que sea, no solía mostrar los mensajes utilizando los mensajes, sino con un simple...

 MESSAGE 'La validación tal no se ha cumplido' TYPE 'E'.


Esta instrucción es fácil de saber que hace, rápida..., pero a veces nos olvidamos que vivimos en un mundo globalizado y una mañana nos llega una captura de pantalla de una transacción en cualquier idioma (ingles, chino, valenciano...) y nuestro mensaje de error en castellano.

Lo peor de todo es que cuesta casi lo mismo hacerlo bien, que mal, simplemente hay que adquirir el habito. Vamos a ello.

Paso 1. Ir a la transacción se91 y crear nuestro nuevo mensaje de error. A través del menú "Pasar a" -> "Traducción" ponemos la traducción en todos los idiomas en las que un usuario pueda acceder al sistema.
Si lo queremos hacer muy bien, es recomendable preguntarle a algún usuario que entre al sistema en otro idioma al nuestro y que nos de una traducción.

Paso 2. Sustituir nuestro mensaje de error por

MESSAGE EXXX(YYY)


Siendo XXX el número de nuestro mensaje e YYY la clase de mensaje.

Recordar que hay diferentes tipos de mensaje e incluso se pueden pasar con parámetros, pero eso lo podéis encontrar en la documentación de SAP.