Obtener datos calculados de Nomina, PC_Payresult

Buenos días Caballeros,

Hoy les quiero hacer una consulta para lo siguiente:
Necesito extraer datos de nomina ya calculados para un reporte; la t_code es PC_Payresult, me gustaria saber si existe una funcion para extraer cierta data de la RT = Result Table (tabla de resultados) y poder asignarlo a una tabla interna para fines de un reporte ALV.

Gracias de antemano y saludos a la comunidad. :smiley:

pues te comento un poco…la tx pc_payresult, es donde estan la secuencia de nominas corridas y eso almacena por asi decir la cabecera…cada registro que ves ahi, almacena propiamente la nomina del trabajador y las demas tablas !!

Ahora bien, hay un sin fin de formas…incluso por ahi leyendo hace poco hay una forma que no entendi bien, que es cuando tiene hana como base de datos…por lo que entendi, ya eso te dan unas macros para leerlas mas facil !! ahora bien, yo siempre he trabajado con la version basica o vieja jajajaja, no se como sera ahi…y tambien por cada pais creo que cambia un poco, pero segun mi experiencia tanto en venezuela como en chile es mas o menos parecida y me ha funcionado, no recuerdo si en venezuela usaba la misma pero aca en chile me funciona bien, te dejo un pequeño ejemplo…cuando cosa me avisas

DATA: lt_rgdir      TYPE TABLE OF pc261,
        lv_periodo    TYPE faper,
        lt_pay_result TYPE paycl_result,
        lt_rt         TYPE TABLE OF pc207,
        lv_mes        TYPE i,
        lv_fecha_aux  TYPE sy-datum.

  FIELD-SYMBOLS: <lf_rgdir> TYPE pc261.

  CALL FUNCTION 'CA_CU_READ_RGDIR_NEW'
    EXPORTING
      persnr                   = u_0082-pernr
    TABLES
      cu_ca_rgdir              = lt_rgdir
    EXCEPTIONS
      import_mismatch_error_cu = 1
      import_mismatch_error_ca = 2
      no_read_authority_ca     = 3
      no_read_authority_cu     = 4
      error_reading_cu         = 5
      error_reading_ca         = 6
      no_record_found          = 7
      OTHERS                   = 8.

  CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    EXPORTING
      date      = u_0082-begda
      days      = 0
      months    = 1
      signum    = '-'
      years     = 0
    IMPORTING
      calc_date = lv_fecha_aux.

  lv_periodo = lv_fecha_aux.

  SORT lt_rgdir BY fpper DESCENDING.
  LOOP AT lt_rgdir ASSIGNING <lf_rgdir> WHERE srtza EQ 'A' AND
                                              fpper LE lv_periodo.

    IF lv_mes LE 6.

      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
        EXPORTING
          employeenumber               = u_0082-pernr
          sequencenumber               = <lf_rgdir>-seqnr
        CHANGING
          payroll_result               = lt_pay_result
        EXCEPTIONS
          illegal_isocode_or_clusterid = 1
          error_generating_import      = 2
          import_mismatch_error        = 3
          subpool_dir_full             = 4
          no_read_authority            = 5
          no_record_found              = 6
          versions_do_not_match        = 7
          error_reading_archive        = 8
          error_reading_relid          = 9
          OTHERS                       = 10.

      lt_rt = lt_pay_result-inter-rt[].

    ENDIF.
  ENDLOOP.
1 me gusta

Buenos días, @canuto

Tu respuesta ha sido fenomenal, me ha ayudado mucho solo tengo una duda:

En esta funcion :
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL’
EXPORTING
date = u_0082-begda
days = 0
months = 1
signum = '-'
years = 0
IMPORTING
calc_date = lv_fecha_aux.

que fecha le estas pasando?

mi pana esa olvidala jajajajaja…eso era que necesitaba hacer un calculo de fechas, olvida eso !! si te sirvio marca como solucion…ando un poco fuulll por eso tardo en responder

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.