Quantcast
Channel: SAP archivos - Blog de SAP: Actualidad SAP, Business Intelligence, SAP HCM, Abap...
Viewing all articles
Browse latest Browse all 598

SAP HCM – Dependencia temporal en tablas

$
0
0

En ocasiones, al acceder a la transacción SM30, vemos que en función de la tabla/vista que queramos actualizar se muestran las opciones ‘Limitar‘ y ‘Desglosar <-> Ocultar‘, que otras veces no aparecen. ¿A qué se debe que se muestren o no estos botones? La respuesta es, a si los registros de la tabla son dependientes de fechas o no.

En SAP HCM por ejemplo, hay muchas tablas estándar que condicionan su contenido a los campos BEGDA (Inicio de la validez) y ENDDA (Fin de la validez), por lo que en la vista de actualización de dichas tablas, la función de limitar aparece habilitada.

Dependencias temporales en tablas

Dependencia temporal en tablas cliente

Al igual que ocurre en las tablas estándar, cualquier tabla cliente dependiente de fechas puede disponer también de esta funcionalidad. Para ello, solo es necesario seguir algunos pasos.

En primer lugar y para definir el periodo de validez de cada uno de los registros, la tabla contendrá los campos BEGDA y ENDDA, que cumplirán a su vez los siguientes requisitos:

Campo ENDDA

  • Último campo clave
  • Para definirlo se podrán utilizar los elementos de datos ENDDA, ENDDATUM o VIM_ENDDA.

Campo BEGDA

  • Primer campo no clave
  • Para definirlo se podrán utilizar los elementos de datos BEGDA, BEGDATUM o VIM_BEGDA.

SAP HCM - Dependencias temporales en tablas cliente

Al crear de esta forma los campos y acceder a la tabla/vista en la transacción SM30, veremos que ya se han habilitado los botones de ‘Limitar‘ y ‘Desglosar <-> Ocultar. Pero aún es necesario realizar un segundo paso para que, a la hora de utilizarlos y actualizar los datos, se cree un nuevo registro limitando a su vez el registro ya existente.

Con la vista de actualización creada, en el menú ‘Entorno’, deberemos generar la dependencia temporal.

Generar dependencia temporal en tabla cliente desde la SM30

Para asegurarnos de que la dependencia temporal se ha generado correctamente, podemos comprobar que en el código de la dynpro, se hayan generado los siguientes modules:

PBO

 LOOP AT EXTRACT WITH CONTROL
  TCTRL_ZDEP_TEMP CURSOR NEXTLINE.
   MODULE LISTE_SHOW_LISTE.
   MODULE LISTE_DEACTIVATE.
 ENDLOOP.

PAI

 CHAIN.
   FIELD ZDEP_TEMP-BEGDA.
   FIELD ZDEP_TEMP-ENDDA.
   MODULE TEMP_DELIMITATION ON CHAIN-REQUEST.
 ENDCHAIN.

Limitar un registro en la SM30

Una vez generada la dependencia temporal, ya podemos acceder a la transacción SM30 y utilizar la funcionalidad. Para ello, seleccionando el registro que queramos actualizar pulsamos ‘Limitar‘.

Limitar registro en la transacción SM30

Al grabar los datos, el sistema generará un nuevo periodo desde la fecha indicada, provocando a su vez un corte en el registro seleccionado. Por defecto el sistema muestra únicamente el periodo activo de cada registro. Para ver todos los periodos, utilizaremos el botón ‘Desglosar <-> Ocultar’.

Tablas dependientes de fecha.


Viewing all articles
Browse latest Browse all 598

Trending Articles