User Exit para infotipos (ZXPADU)

Facebooktwittergoogle_pluslinkedinmail

Buenas tardes a todos, despues de dos semanas de vacaciones bien merecidas (o eso creo :)), volvemos con una de las user exit más recurridas en el mundo de SAP HCM, normalmente todos los conocen como la “ZXPADU”, por lo que hoy vamos a ver como crear desde cero, para que puedan controlar sin problemas los diferentes infotipos, aunque en el pasado ya hemos tocado este tema en la validación de campo cliente en el infotipo 0002. Empecemos, hay diferentes formas de dar valores predeterminados en el infotipo. Algunos de ellos se enumeran a continuación:

  1. Usando acciones dinámicas.
  2. Usando el usuario exit / BADI.
  3. Uso de funciones proporcionadas por SAP (PE03).

En esta entrada, veremos cómo valores predeterminados en el infotipo usando las User Exit. En SAP HR, tenemos un una user exit muy interesante, llamada PBAS0001, que tiene los siguientes dos componentes:

Función Exit Descripción
EXIT_SAPFP50M_001 Se llama una vez en PBO. Valores predeterminados del cliente para la administración de personal y el reclutamiento.
EXIT_SAPFP50M_002 Invocado para todos los eventos de PAI. Verificaciones adicionales de clientes para la administración de personal y reclutamiento y para los valores predeterminados.

Ambos FM de salida anteriores se pueden usar para establecer los valores por defecto en los infotipos de administración de personal y reclutamiento (TCLAS ‘A’ y ‘B’). Podemos utilizar tanto la salida del usuario como el valor predeterminado llamando a un módulo de función personalizado o a un método de clase global. Esto asegurará que cuando la pantalla del infotipo se represente por primera vez (PBO) también cuando el usuario realice algunas acciones, los valores permanezcan constantes (PAI). Ahora veremos un ejemplo en tiempo real en el que necesitamos establecer por defecto el infotipo 0001 el status de cliente según el motivo de medida de una medida determinada. Será un ejemplo sencillo, para que tomen el control de la ZXPADU. Estos son los pasos que deben seguirse para escribir una codificación de salida de usuario a valores de infotipo 0001 predeterminados: 1. Pase a la transacción CMOD y cree un proyecto Z, diga ZHR_PA01 como abajo.   2. En la siguiente pantalla, haga clic en el botón ‘Asignación ampliación’ después de dar una descripción adecuada de la siguiente manera. 3. En la pantalla siguiente, ingrese la mejora como PBAS0001 y presione el botón de componentes.

a. En la pantalla siguiente, active la salida como se muestra a continuación.

b. Los LED verdes sugieren que todo está bien y estamos listos para seguir.

4. Ahora haga doble clic en EXIT_SAPFP50M_002 y luego haga doble clic en include dentro del módulo de funciones ZXPADU02. Ignore el mensaje de advertencia de que las ventanas emergentes al hacer doble clic en incluir ‘ZXPADU02’ “Los nombres de los programas ZX … están reservados para incluir los grupos de funciones de salida” y presionar enter para crear la inclusión y comenzar con nuestra codificación. 5. A continuación se muestran los parámetros de exportación (variables, estructuras) cuyos valores están disponibles en nuestro include y se pueden usar más. El parámetro de importación ‘INNNN’ es muy importante para nosotros, ya que contendrá el registro de infotipo actual y cualquier cambio (predeterminado, etc.) debe realizarse dentro de esta estructura.   6. Aquí muchos modifican el código de la ZXPADU directamente introduciendo el código como en este ejemplo:     Una vez hecho esto, lo que el sistema hará debido a que es la ZXPADU02, es lo siguiente:

  • Creas un registro
  • Actualizas la información correspondiente
  • Al pulsar enter el sistema entrara en nuestra lógica y hará los cambios pertinentes.

En nuestro caso, como ejemplo, hemos hecho que para una medida de personal  y motivo de personal tenga diferentes estatus de cliente. Recuerden que esto es un ejemplo, pueden realizar el proceso que necesiten en cualquier infotipo. En caso de modificación del ZXPADU0, el sistema accederá a la lógica del proceso al crear el registro en el infotipo correspondiente, de forma que cuando se visualice la información de la creación, este será modificado directamente con lo que nosotros necesitemos. Aquí les dejo las imágenes del funcionamiento de nuestra lógica:

  • Medida “Cambio organizacional” con motivo 01. Status de cliente “Activo”

 

  • Medida “Cambio organizacional” con motivo 02. Status de cliente “Activo exteros”

Para cualquier cosa pueden contactar vía email o cuando esté conectado vía chat directo conmigo. Espero que les sea de ayuda y ya saben, siempre es bueno que quien te aporte tu también le aportes! Muchas gracias!!  

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

ocho + 10 =