Truco 19. Campos de cliente en formularios de nómina.


La impresión del recibo de salarios en el módulo de Nómina de Sap (HR-PY) se realiza a través del report RPCEDTE0 para España ( con los programas RPCEDTX0 en otros paises, donde la X corresponde al país; por ejemplo, P Portugal; U: Estados Unidos, G Inglaterra, etc).

El mantenimiento de los formularios se realiza desde la transacción PE51, donde disponemos de las diferentes secciones del recibo donde pintar la información que queremos mostrar a los empleados referente a su pago.

Básicamente disponemos de los siguientes objetos en un típico formulario:

  • Fondo: textos fijos que aparecen en el formulario y que siempre se imprimen.
  • Campos individuales: información que siempre se imprime en el mismo lugar, y que será variable según el empleado que estemos tratando (por ejemplo, número de empleado, nombre, dirección, número de la seguridad social, total de pago, etc).
  • Ventana: sección para la impresión de los conceptos salariales (tabla). Se definen lineas con la definición de los conceptos que la incluyen y su formato de impresión (disposición de las lineas).
  • Disposición de lineas: formato para la impresión de los conceptos salariales en la ventana.
  • Identificadores de acumulación: acumuladores donde totalizamos los diferentes conceptos salariales (por ejemplo devengos, deducciones, retenciones, seguridad social, etc) y que podremos utilizar también en el formulario para su impresión.
  • Textos: definición de textos que luego se podrán utilizar en el formulario.
  • Reglas: nos permiten la impresión o no de determinada información si se cumplen ciertas reglas.

La tecnología de los recibos es un poco antigua y bastante limitada de cara a las inclusión de nuevos campos o a la incorporación de campos propios calculados de una forma especial, así como en lo referente al diseño del formulario (inclusión de imágenes o logos, ficheros de firma, etc).

Para el caso de que tengamos la necesidad de incluir nuevos campos que no estén en el estandar, Sap nos deja una puerta abierta en el programa de impresión a través de los includes:

  • RPCEDDZ9: include para la definición de estructuras de datos.
  • RPCEDSZ9: include para la programación de llenado de estas nuevas estructuras de datos o rutinas adicionales.

En estos includes podemos definir los campos o estructuras de datos que luego utilizaremos en el formulario, y el código Abap para el llenado de dichos campos.

Ademas de la programación, hay que realizar un customizing adicional para decirle al sistema que estos nuevos campos están disponibles y en que lugar de los recibos los vamos a poder utilizar. Para ello, utilizaremos la transacción PE51_CHECKTAB.

EJEMPLO PRACTICO. NUEVOS CAMPOS PARA DIRECCION DEL CENTRO DE TRABAJO DEL EMPLEADO.

Hemos creado en el infotipo 6 de direcciones una nueva clase de dirección, Z1 donde almacenaremos la dirección del centro de trabajo de empleados que no estan en la sede central de la compañia (que es la que se mantiene a nivel de División/Subdivisión de personal). A continuación, realizamos la modificación de los includes:

  • Include RPCEDDZ9: incluimos el registro donde vamos a guardar los datos de la dirección recuparada del empleado.
* Datos de Direccion para Centro de Trabajo.
 DATA: BEGIN OF Z500P,
         STRAS TYPE T500P-STRAS,
         PSTLZ TYPE T500P-PSTLZ,
         ORT01 TYPE T500P-ORT01,
       END OF Z500P.

  • Include RPCEDSZ9: en el form POS-FIX-DATA-MOD  (pues lo que vamos a añadir es un campo individual),
FORM POS-FIX-DATA-MOD USING $FOUND LIKE BOOLEAN
                             FLD_INFO TYPE TR_FLD_INFO.
   $FOUND = TRUE.
   CASE FLD_INFO-LNAME-STRNG.
     WHEN '$1'.
       PERFORM POS-$1.
    WHEN 'Z500P'.
       PERFORM fill_z500p using wpbp.             "Rutina para hacer la lectura de la direccion del centro de trabajo.

Esto no es suficiente para que el campo este disponible en el momento de diseñar el formulario. Para que los nuevos campos sean visibles, hay que parametrizar las tablas T514?, a través de la transacción PE51_CHECKTAB. Para los formularios de nómina de España, trabajaremos con el agrupador de paises 04 y la clase de formulario CEDT.

En este caso, al tratarse de un registro con varios campos, lo incluiremos en la sección Tablas (marcando el flag de campo individual, que es la sección del formulario donde lo utilizaremos). Igualmente, incluiremos cada uno de los campos en la sección  Campos. Una vez realizada la parametrización, ya podemos editar el formulario y colocar en el lugar deseado los nuevos campos.

NOTA ADICIONAL: también podemos utilizar el include RPCEDSZ9 (rutina CHECK_PRINT_MOD), para incluir criterios de selección adicionales en la impresión de los recibos de nómina (al seleccionar el valor AZ en el campo Imprimir periodo actual). Podemos, por ejemplo, crear una rutina que solo imprima nóminas para las que se haya realizado el pago o alguna casuística similar.

Esta entrada fue publicada en Abap, Sap HR. Guarda el enlace permanente.

Una respuesta a Truco 19. Campos de cliente en formularios de nómina.

  1. Mónica Vela dijo:

    Muchísimas gracias. Como siempre, tus lecciones me han sido de mucha utilidad.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s