Para leer los resultados de nómina desde un programa debes usar las siguientes funciones:
Con esta te traes todo el cluster para empezar a manipularlo:
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = pernr-pernr
TABLES
in_rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
Con esta ubicas el resultado o periodo de tu interes:
CALL FUNCTION 'CD_READ_ACTUAL_RESULT'
EXPORTING
abkrs = p0001-abkrs
fpper = pn-paper
pay_type = ' '
pay_ident = '1'
IMPORTING
out_rgdir = rg
TABLES
in_rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
Con esta lees el registro que ubicaste:
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
clusterid = 'VE'
employeenumber = pernr-pernr
sequencenumber = rg-seqnr
CHANGING
payroll_result = res_tab
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
OTHERS = 8.
A partir de aqui, puedes hacer loop's a las tablas de tu interes, como la RT, SEN_EVAL, TAX_EVAL, etc...
Para que lo veas un poco más claro, apoyate en la documentación de estas funciones, ya que son standard's.
Espero que te sirva de algo.
|