Bueno, aqui voy a dejar algo que intente hace poco y la verdad lo hice porque un compañero consultor me comento que una Tx estandar lo hace pero el ya porque sabia el punto sino hubiese tenido que debugear un ratoooo para caerle pero aqui dejo lo que es el punto a tratar…Simular una nomina.
DATA: cs_buffer TYPE hrpay_buffer,
ct_ee_numbers TYPE TABLE OF pay_sim_pernr,
ls_numbers TYPE pay_sim_pernr,
lt_rgdir TYPE hrpy_tt_rgdir,
lt_pay_result TYPE hrpaycl_tab_of_results,
lv_tfill TYPE sytfill,
ls_pay_result TYPE paycl_result,
ct_rt TYPE hrpay99_rt,
lv_schema TYPE schem,
ls_rt TYPE pc207.
ls_numbers-pernr = u_9000-nrore.
APPEND ls_numbers TO ct_ee_numbers.
lv_schema = ps-key.
CALL FUNCTION 'HR_PAYROLL'
EXPORTING
payroll_area = u_aper-abkrs
payroll_period = u_aper-paper-pabrp
payroll_year = u_aper-paper-pabrj
selection_variant = 'SAP&CALC'
program_name = sy-repid
country_grp = '39'
imp_buff = 'X'
prt_prot = 'X'
schema = lv_schema
TABLES
employee_numbers = ct_ee_numbers[]
buffer = cs_buffer-tbuff[]
buffer_directory = cs_buffer-buffer_dir[]
EXCEPTIONS
program_not_exist = 1
variant_not_exist = 2
missing_parameter = 3
wrong_parameter = 4
wrong_country_group = 5
OTHERS = 6.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = u_9000-nrore
buffer = cs_buffer
TABLES
in_rgdir = lt_rgdir[]
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
CALL FUNCTION 'HR_CL_READ_RGDIR_PAYRESULTS'
EXPORTING
pernr = u_9000-nrore
begda = u_aper-begda
endda = u_aper-endda
read_only_buffer = 'X'
iv_first_payroll = 'X'
TABLES
paycl_result = lt_pay_result[]
buffer_rgdir = lt_rgdir[]
EXCEPTIONS
error_in_cu_read_rgdir = 1
error_in_cd_select_date_range = 2
error_in_cd_select_srtza = 3
error_in_cd_select_void = 4
error_in_cd_select_payty_range = 5
error_in_cd_select_payid_range = 6
error_in_cd_select_fpper = 7
error_in_cd_select_permo = 8
error_in_cd_select_abkrs = 9
error_in_cd_select_juper = 10
error_in_read_rgdir_payresults = 11
error_incorrect_date_range = 12
error_incorrect_fpper_range = 13
error_others = 14
OTHERS = 15.
DESCRIBE TABLE lt_pay_result LINES lv_tfill.
READ TABLE lt_pay_result INTO ls_pay_result INDEX lv_tfill.
ct_rt[] = ls_pay_result-inter-rt[].
NOTA: Estos modulos de funciones no nuevos “18.08.2015”, habria que ver si existen en su version. Tengo que confirmar si es solo para SAP R/4 o sirve para el R/3 pero no tengo acceso a ningun cliente con R/3 ahorita.