Dominar los mensajes es parte esencial de una operación SAP fluida y sin sorpresas.
Podemos estar trabajando con el sistema ERP SAP y aparece un mensaje o un pop-up (en el medio de la pantalla). Ese pequeño pop‑up, esa barra de estado cambiando de color, muchas veces marca la diferencia entre una operación que avanza sin problema y una que queda bloqueada por tiempo indeterminado hasta que alguien del sistema corrige algo o el mismo usuario se da cuenta que está cargando mal algún dato.
A través de nuestro foro hemos detectado que muchas consultas giran precisamente en torno a estos mensajes: ¿Qué significan los colores? ¿Qué tipos hay? ¿Cómo se configuran? ¿Por qué aparece un “error” y no un simple “aviso”?
En este artículo abordaremos esos conceptos clave: tanto la perspectiva funcional (usuario / negocio) como la técnica (desarrollo / ABAP) de los mensajes en SAP. De esta forma, tanto los consultores funcionales como los programadores podrán entender mejor qué ocurre “detrás de escena” cuando un mensaje detiene un proceso, advierte un posible problema o confirma que todo ha salido bien.
Comprender este mecanismo permite no solo interpretar correctamente lo que vemos en pantalla, sino también intervenir cuando corresponde para adaptar comportamientos, cambiar tipos de mensaje, o corregir mensajes que generan confusión.
  Desarrollo
Parte funcional: lo que ve el usuario
Cuando un usuario ejecuta una transacción en SAP y aparece un mensaje, lo primero que nota es su color o forma, lo cual ya aporta pistas sobre su gravedad. Puede aparecer como mensaje en la barra de estado o como ventana emergente (“pop‑up”).
- Si el mensaje es de color verde, normalmente es informativo: indica que una operación se realizó correctamente.
 - Si es de color amarillo, es una advertencia: el sistema avisa de una situación que no impide seguir, pero que quizá haya algo que revisar.
 - Si es de color rojo, es un error: impide avanzar hasta que se corrija lo que lo provocó.
 
Por ejemplo, al hacer doble clic sobre un mensaje con ícono de error en rojo, SAP despliega una ventana adicional con información extendida: clase del mensaje, número de mensaje, texto técnico. Ese número —por ejemplo “M3305”— sigue la convención de clase “M3” + número “305”. Conocer ese identificador es clave cuando se desea cambiar el mensaje o su comportamiento. Si un mensaje es rojo (error), el usuario no puede seguir hasta resolverlo. Si es amarillo, puede decidir ignorarlo o corregirlo. Si es verde, simplemente confirma y continúa.
Parte técnica: el mundo ABAP
Desde la perspectiva del desarrollo, en el lenguaje ABAP se usan instrucciones MESSAGE para levantar textos al usuario que provienen de mantenimiento de mensajes (transacción SE91). Los mensajes se almacenan en la tabla estándar T100. Los tipos de mensaje más comunes son:
- A (Abort / Terminación) — El programa termina tras el mensaje.
 - E (Error) — Detiene el procesamiento de la pantalla de selección o bloquea hasta corrección.
 - I (Información) — Muestra un diálogo, luego el procesamiento continúa.
 - S (Éxito / Status) — Mensaje en la barra de estado, procesamiento continúa.
 - W (Advertencia) — En diálogo o barra de estado; en algunos contextos se comporta como error.
 - X (Exit) — Provoca dump (short‑dump); termina abruptamente el programa.
 
Desde el código ABAP, puedes invocar por ejemplo:
MESSAGE i000(ZCL_MSG) WITH var1 var2.
Esto utiliza el mensaje clase ZCL_MSG, número 000, tipo ‘I’. Y los campos del sistema como sy‑msgid, sy‑msgno, sy‑msgty, sy‑msgv1…sy‑msgv4 quedan rellenados tras el MESSAGE.
Es muy importante, cuando se configura o se personaliza un mensaje, entender qué tipo de comportamiento provoca en el sistema, porque cambiar un mensaje de tipo “E” a “W” o viceversa puede impactar en el flujo del negocio.
Código ABAP
Esto realiza la velidacion para q se cumpla la tarea...del mensaje.
      FUNCTION customized_message.
      *"----------------------------------------------------------------------
      *"*"Globale Schnittstelle:
      *" IMPORTING
      *" VALUE(I_ARBGB)
      *" VALUE(I_DTYPE) LIKE T100C-MSGTS
      *" VALUE(I_MSGNR) LIKE T100C-MSGNR
      *" VALUE(I_VAR01) DEFAULT SPACE
      *" VALUE(I_VAR02) DEFAULT SPACE
      *" VALUE(I_VAR03) DEFAULT SPACE
      *" VALUE(I_VAR04) DEFAULT SPACE
      *"----------------------------------------------------------------------
      
      DATA l_msgts LIKE t100c-msgts.
      
      CALL FUNCTION 'READ_CUSTOMIZED_MESSAGE'
      EXPORTING
      i_arbgb = i_arbgb
      i_dtype = i_dtype
      i_msgnr = i_msgnr
      IMPORTING
      e_msgty = l_msgts.
      
      IF l_msgts NE '-'.
      MESSAGE ID i_arbgb TYPE l_msgts NUMBER i_msgnr
      WITH i_var01 i_var02 i_var03 i_var04.
      ENDIF.
      
      ENDFUNCTION.Transacciones y tablas de configuración
Para los consultores funcionales y técnicos, estas son algunas de las transacciones fundamentales que permiten gestionar los mensajes en SAP:
- OBA5: Modificación de tipo de mensaje (por ejemplo cambiar de error a advertencia)
 - SE91: Mantenimiento de mensajes (crear/editar mensajes en una clase)
 - NACE: Configuración global de mensajes para procesos específicos (por ejemplo en cobros o ventas)
 - Para análisis de errores y sistema: SM21 (eventos de sistema), ST22 (short‑dumps) La tabla T100 almacena todos los textos de mensajes creados. Y su estructura contempla el campo TYPE (valor ‘A’, ‘E’, ‘I’, ‘S’, ‘W’, ‘X’) entre otros.
 
Buenas prácticas
- No usar mensajes tipo A o X salvo que sea realmente crítico, ya que detenienen el procesamiento de forma abrupta.
 - Si se necesita solo avisar al usuario pero permitir avanzar, usar tipo W o S, dependiendo del contexto.
 - Documentar los mensajes personalizados con claridad: clase, número, texto, tipo y propósito.
 - Para consultores funcionales: al recibir un error en rojo, revisar primero la clave de mensaje (p.ej. M3305) y verificar si es estándar o personalizado, y luego evaluar si debe cambiarse de comportamiento o si hay capacitación al usuario.
 - Para desarrolladores: utilizar placeholders (
&1,&2) con la cláusula WITH, y evitar hard‑coding de textos directamente en el programa. 
Noticias Relacionadas
- La comunidad de desarrollo ABAP insiste en que los tipos de mensaje se utilicen correctamente para evitar short‑dumps inesperados: “Valid message types are A, E, I, S, W and X.”
 - Un caso frecuente en foros: al usar tipo ‘W’ en procesamiento de lista, SAP convierte internamente en tipo ‘E’ antes del tratamiento.
 - En proyectos de migración a SAP S/4HANA, se recomienda revisar los mensajes heredados (de ECC) para asegurar que su tipo de mensaje y texto sean coherentes con la nueva experiencia de usuario.
 
Últimas noticias
- Aumenta la demanda de consultores que sepan analizar y ajustar mensajería en SAP Fiori/S4: los mensajes que eran adecuados en GUI tradicional necesitan replantearse para UX moderna.
 - SAP está promoviendo guías de mensajes “user‑friendly” en S/4HANA, donde se evita el lenguaje técnico y se busca claridad para el usuario final.
 - Crece el uso de herramientas de monitoreo automático que capturan los mensajes en ejecución (por ejemplo en trayectorias de negocio críticas) para detectar cuellos de botella o condiciones repetidas de error.
 
***
Fuente: "Crear Mensajes Informativos a través de la transacción SE91"
SB_ERROR_TRANS Se han detectado transacciones reconciliadas. No se reconciliaron algunas filas [Mensaje 3525-2] ERROR_MESSAGE_FEEDBACK 2021-11-09 19:10:37 -1
ResponderBorrarSB_ERROR_TRANS La fecha de reconciliación debe ser la última fecha de contabilización o después para las transacciones seleccionadas para reconciliación [Mensaje 3821-3] ERROR_MESSAGE_FEEDBACK 2021-11-09 19:10:37 -1
SB_SUCCESS_TRANS Existe un documento de esta clase con una fecha de documento posterior ERROR_MESSAGE_FEEDBACK 2021-11-09 19:10:36 10001483
Hola, me podéis decir cómo resolver el error ZSD033? Estamos intentando facturar y sale ese error
ResponderBorrarEstimado anónimo, todos los mensajes de error que comienzan con ZETA, son errores propios de tu empresa, y NO son estándar de SAP. Debes acudir al departamento de sistemas de tu empresa, ellos deberían poder analizar el error, o bien con un programador, depurar el sistema para ver qué es ese mensaje. Como te explico, solo en tu empresa existe.
Borrar