Actualizar cluster RE en SAPHR

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • ajoliverar
    Junior Member
    • ago
    • 10

    #1

    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.
    Editado por última vez por ajoliverar; 29/05/2008, 17:39:44.
  • ajoliverar
    Junior Member
    • ago
    • 10

    #2
    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.

    Comentario

    Trabajando...