Buenas a tod@s saperos! ¿Alguna vez no has necesitado escribir un mensaje en el log de nómina personalizado, de forma que se explique al usuario el error concreto del problema? Muchas veces nuestros usuarios finales de SAP solicitan ver mensajes en el registro de nómina durante el procesamiento de la nómina. Estos mensajes pueden ser de naturaleza informativa o de advertencia, destinados a alertar proactivamente al usuario final acerca de los datos maestros faltantes u otra información relacionada con los recursos humanos procesada durante la ejecución de la nómina. Bueno, pues SAP nos permite usar la operación XMES para nuestro objetivo. Hoy explicaremos el proceso a seguir para poder conseguirlo. Expondremos una casuística y cómo lo hemos resuelto.
Nota: Con el lanzamiento de la nota SAP 1952925, se entrega un nuevo parámetro ‘P’ para mostrar el mensaje en un cuadro de diálogo
Problema de nómina a resolver con XMES
Necesitamos crear un mensaje de error en caso de que un empleado no tenga en su infotipo 0009 el tipo de transferencia “T” Transferencia.
Procedimiento de implementación de XMES propio de cliente
SAP ha creado la rutina “PCBURZXX0” con salida de cliente y país para mostrar los mensajes de acuerdo con nuestros requisitos. Como nosotros, estamos configurando una nómina internacional, nosotros usaremos PCBURZ990.
Para empezar, crearemos una nueva clase de mensajes. En este punto quiero indicarles algo, el cual, no se si alguien nos puede ayudar, debido a que al crear la clase de mensajes en nº 000 el sistema no recogerá la información y no podremos usarla, sin embargo, si la usan en el nº001 en adelante, funcionará a la perfección. Si alguien conoce el porqué, nos gustaría que escribiera para poder explicar este “poltergeist”.
Paso 1: Crear clases de mensaje para XMES
Para crear las clases de mensaje tendremos que ir a la SE91, en nuestro caso, nuestra clase de mensaje la llamaremos “ZHRPY”.
Verán que tengo tanto en 000 como en 001, justamente por el problema que tuvimos que nunca pudimos resolver. Espero que alguien sepa el porqué y nos ayude!
Paso 2: Crear una regla de control para XMES
Lo siguiente que haremos es crear una regla que nos ayude con el mensaje propio de cliente de la XMES, esto haremos, por ejemplo, así:
Si alguien no entiende muy bien lo que hace esta regla, por favor, escríbannos, será un placer poder comentarles. Sin embargo, para para su conocimiento, lo que hace regla es simplemente:
- Si existe un tipo de transferencia “T”, entonces seguirá el proceso sin problema
- Si no existe, entonces, creará un error con nuestro mensaje “001”.
Paso 3: Configurar el form de cliente para XMES
Bueno saper@s, lo último que nos falta es crear el código que permitirá al sistema obtener nuestro mensaje de la clase de mensajes ZHRPY. Para ello, usaremos la user exit explicada anteriormente “PCBURZ990”.
*&———————————————————————*
*& Include ZHRPY_ZZXMES
*& Author: David Hernández
*&———————————————————————*
FORM OPXMES_CUST USING P_PARAM TYPE CHAR3
CHANGING P_LOG_MSG TYPE HRPLOG_MSG
P_NO_DISPLAY TYPE RP_XFELD.
STATICS: S_PERNR LIKE PERNR-PERNR.
DATA: DUMMY(1) TYPE C.
CONSTANTS: C_MSGID TYPE HRPLOG_MSG-MSGID VALUE ‘ZHRPY’.
P_LOG_MSG-MSGID = C_MSGID.
P_LOG_MSG-MSGNO = P_PARAM.
P_LOG_MSG-MSGV1 = PERNR-PERNR.
ENDFORM.
Paso 4: Prueba de ejecución
Una vez activado, veremos que si ejecutamos la nómina y el empleado no tiene infotipo 0009 de tipo “T” transferencia en su método de pago.
Bueno saperos, espero que les sea de ayuda!!!
¿necesitas servicio de programación ABAP? No dudes en contactar directamente con nuestros programadores! Rápidamente se pondrán en contacto contigo, sigue las instrucciones en la página de nuestro servicio de programación.
Recuerda:
Si quieres esta página siga en pié pudiéndote ayudar en el día a día, dona, cualquier donativo hará que pueda ayudarte más.