MUNDOSAP

MUNDOSAP (foro/index.php)
-   HR - GESTION DEL PERSONAL (foro/forumdisplay.php?f=12)
-   -   Actualizar cluster RE en SAPHR (foro/showthread.php?t=13792)

ajoliverar 29/05/08 16:15:19

Actualizar cluster RE en SAPHR
 
Buenas, estoy intentando montar un report que modifique la información del registro de nómina, para ello utilizo las macro instrucciones que salen en el manual de programacion HR que está colgado por internet y en mundosap tambien.

Todo parece que funciona bien, ya que no ocurre ningún error durante la ejecución del programa, pero no guarda nada en la base de datos.

Sabeis si me estoy dejando algo, o si es posible la modificación?

Gracias.

El codigo es el siguiente:

*&---------------------------------------------------------------------*
*& Report ZHR_TEST_TONI_MOD_PAYROLL_V3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zhr_test_toni_mod_payroll_v3.

TABLES: pcl1, "Tabla de datos
pcl2, "Tabla de resultados
pernr.

INCLUDE rpppxd00. "Definición del buffer

DATA: BEGIN OF COMMON PART buffer.
INCLUDE rpppxd10. "Definición del buffer
DATA: END OF COMMON PART buffer.

INCLUDE rpppxm00. "Instrucciones para el buffer


INCLUDE rpc2cd00. "Datos específocos: Cluster Directory
INCLUDE rpc2rx00. "Datos específicos: Cluster nómina general
INCLUDE rpc2ree0. "Datos específicos: Cluster nómina en España


include rpcmgr00. "Cluster Directory Manager


PARAMETER p_perio(6) TYPE n.

GET pernr.

"rp-init-buffer. "inicializamos el buffer
cd-key-pernr = pernr-pernr.
rp-imp-c2-cd. "leemos el cluster CD desde el buffer/DB

IF rp-imp-cd-subrc = 0.

LOOP AT rgdir WHERE fpper = p_perio.

" Clave de búsqueda para los datos en RT.
rx-key-pernr = pernr-pernr.
UNPACK rgdir-seqnr TO rx-key-seqno.

" Macro de busqueda de datos en RT.
rp-imp-c2-re.
CHECK rp-imp-re-subrc = 0.

" Recorremos los registros de los conceptos de nóminaç
LOOP AT rt WHERE lgart = '780T'.
rt-anzhl = 0.
rt-betpe = 0.
rt-betrg = 0.
MODIFY rt INDEX sy-tabix.
ENDLOOP.

ENDLOOP.

re-version = ore-version.
rp-exp-c2-re. "actualiza el cluster RE en buffer

IF rp-exp-es-subrc = 0.
PERFORM prepare_update USING 'V'. "actualización bases de datos (DB)
ENDIF.

ENDIF.

ajoliverar 17/06/08 14:38:17

Para quien le interese ya he conseguido modificar la informacion del cluster en la base de datos.
El unico cambio es que despues del MODIFY rt INDEX sy-tabix. hay que ejecutar el export y el prepare_update (para cada registro modificado del rt). Es decir que ese trozo de código quedaría así:

MODIFY rt INDEX sy-tabix.
rp-exp-c2-re. "actualiza el cluster RE en buffer
IF rp-exp-es-subrc = 0.
PERFORM prepare_update USING 'V'. "actualización bases de datos (DB)
ENDIF.


Husos Horarios son GMT. La hora en este momento es 10:15:26.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web