Les mando varias tx, dónde se configuran los mensajes, espero y sea de utilidad.
O04C PI: control mensajes compras
O05C PI: Control de mensajes C5
OBA5 Modificar control de mensajes
OCHS Configurar mensajes de sistema
OFMG Control mensajes gestión presup.
OFPM Modificar control de mensajes
OKZZ Control de mensajes (liberación)
OMCQ Opciones mensajes del sistema
OMPL1 Especificar mensajes sistema
OMRM C MM-IV mensajes específ. clientes
OMT4 Customizing para mensajes EAN
OPJB Especificar mensajes sistema
OPKG Actualizar mensajes
OPR1 Área responsabilidad <-> mensaje
OVAH /nse38/Mensajes variables
O04C PI: control mensajes compras
O05C PI: Control de mensajes C5
OBA5 Modificar control de mensajes
OCHS Configurar mensajes de sistema
OFMG Control mensajes gestión presup.
OFPM Modificar control de mensajes
OKZZ Control de mensajes (liberación)
OMCQ Opciones mensajes del sistema
OMPL1 Especificar mensajes sistema
OMRM C MM-IV mensajes específ. clientes
OMT4 Customizing para mensajes EAN
OPJB Especificar mensajes sistema
OPKG Actualizar mensajes
OPR1 Área responsabilidad <-> mensaje
OVAH /nse38/Mensajes variables
Por ejemplo OMRM
luego se91
Mensajes del sistema
En primer lugar, veamos cómo hacer que un mensaje de tipo
warning pase a ser un mensaje de tipo error o de cualquier otro tipo. Por ejemplo, el mensaje que nos aparece cuando modificamos la fecha de entrega de un material de un pedido de compras.
El número de mensaje es el ME039 (lo verás si haces doble click sobre el mensaje) y por defecto es de tipo advertencia (warning). Así que pasémoslo a mensaje tipo error. Para ello vayamos al punto de parametrización donde se almacenan los mensajes del
módulo MM.
IMG: Gestión de materiales / Compras / Datos de entorno / Especificar propiedades de mensajes del sistema / Mensajes del sistema
- Buscamos el área funcional del mensaje. Esto es los dos primeros dígitos del mensaje. En este caso "ME".
- Buscamos el número de mensaje. En este caso "039".
- En el campo tipo de mensaje cambiamos la "W" por una "E".
- Guardamos.
Ahora volvemos a probar y vemos que al modificar la fecha de entrega en el pedido de una línea del pedido de compras, el mensaje ya no es de advertencia sino de error.
Actualizar usuarios
Ahora hagamos que dependiendo del usuario, el mensaje puede ser de tipo error o de tipo advertencia.
IMG: Gestión de materiales / Compras / Datos de entorno / Especificar propiedades de mensajes del sistema / Mensajes del sistema
- Volvemos al mismo punto de customizing.
- Creamos otro mensaje, copia del anterior, con una versión diferente. El anterior tenía la versión '00'. El nuevo mensaje va a tener la versión 'Z1'. La versión '00' sigue siendo de tipo error, pero la versión 'Z1' va a ser de tipo warning.
IMG: Gestión de materiales / Compras / Datos de entorno / Especificar propiedades de mensajes del sistema / SU01 - Actualizar usuarios
- Entramos a modificar el usuario o usuarios que van a tener un comportamiento diferente, es decir, que el mensaje que les va a aparecer va a ser sólo de tipo advertencia o warning.
- Vamos a la pestaña Parámetros.
- Añadimos un nuevo parámetro, MSV y le damos como valor el de la versión nueva Z1.
- Guardamos.
Si repetimos, modificando la fecha de entrega de la posición del pedido de compras, veremos que aquellos usuarios que tengan el valor Z1 en el parámetro MSV muestran solamente un mensaje de advertencia. Quizá tengas que salir de SAP y volver a entrar antes de poder ver el efecto. Pero vas a ver que te funciona.
PARAMETROS DE USUARIO
http://www.blogdesap.com/2012/06/parametros-de-usuario.html
Caso: se busca ocultar el botón RETENER (HOLD) que aparece en la cabecera del pedido en la ME21n y ME22n.
Solución: para ello hay una BADI en la SPRO, en la siguiente ruta:
SPRO-> Gestión de materiales -> Compras -> Add Ins empresariales para compras -> BAdI: Desactivar la función Retener para el pedido Enjoy
Hacemos click en el botón de ejecutar y nos abre la siguiente pantalla, en donde le ponemos un nombre a la implementación:
NOMBRE DEFINICION : ME_HOLD_PO
NOMBRE IMPLEENTACION : zmm_me_hold_po
Nos abre la siguiente pantalla en donde indicamos el texto breve para la implementación y activamos todo. Nos va a pedir orden de transporte para ello.

Hacemos doble click en la clase ZCL_IMM_MM_ME_HOLD_PO para agregar el código necesario. La idea para ocultarlo es que el parámetro CH_ALLOWED esté en vacío. En mi caso sólo era para el tipo de documento ZSSM.

Grabamos, activamos y listo.
Al ingresar a la ME21n, con cualquier tipo de pedido (en el caso NB) aparece el botón…
Les dejo algunas notas al respecto:
Note 390117 – ME21N: Prevent holding of purchase orders
Note 1627441 – ME2L Held PO’s are always shows in EHP4
Pagina recomendada http://abapers.wordpress.com/tag/spro/
Cómo crear un texto estándar
En este ejemplo voy a crear un texto de dirección.
Herramientas / Imprimir formularios / SAPscript / SO10 - Textos estándar
- Entramos en la transacción SO10
- Damos nombre a nuestro texto, le asignamos el tipo dirección (ADRS) e indicamos que vamos a crearlo en idioma español.
- Pulsamos el botón 'Crear'.
- Escribimos nuestro texto y guardamos.
2. Cómo transportar un texto estándar
Sin embargo, mientras realizamos todos los pasos nos habremos dado cuenta que nuestro texto estándar no ha generado ninguna orden de transporte. Por lo tanto, no lo podremos transportar automáticamente. Para transportarlo tenemos, sin embargo, otras opciones.
Utilizar el programa RSTXTRAN
Herramientas / Workbench ABAP / Desarrollo / SE38 - Editor ABAP
- Ejecutamos el programa.
- Rellenamos los datos que nos solicita en pantalla.
- Seleccionamos nuestro texto y pulsamos 'intro'.
- Ahora al pulsar el botón 'Pasar txt. a correc' SAP generará una orden de transporte. Podemos seleccionar una que ya exista e incluir el texto en esa orden o crear otra completamente nueva.
Utilizar la función gráfica
Ésta es una funcionalidad obsoleta. Se utilizaba antiguamente para subir imágenes a SAP como texto. Aunque para lo que nos ocupa aún se puede usar.
Herramientas / Imprimir formularios / Gestión / SE78 - Función gráfica
- Ejecutamos la transacción.
- Nos posicionamos sobre nuestro tipo de texto. En nuestro caso el tipo 'ADRS' de dirección.
- Escribimos nuestro texto estándar y su idioma.
- Pulsamos el botón 'Transportar'.
- El sistema nos solicitará la creación de una nueva orden de transporte.
Crear la orden de transporte manualmente
La nota
65253 explica la forma de crear órdenes de transporte manualmente para textos estándar en dos sencillos pasos.
- Ejecutar la transacción SE01.
- Añadir bajo la tarea el objeto como TEXT, ZADRS_SIGNATURE, ADRS, S.