LOOP AT it_tab.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = it_tab-pernr "gs_pernr-pernr
IMPORTING
molga = p_molga
TABLES
in_rgdir = it_rgdir
EXCEPTIONS
no_record_found = 1.
LOOP AT it_rgdir WHERE fpper = p_date.
MOVE it_rgdir-seqnr TO it_tab-seqnr.
MODIFY it_tab.
ENDLOOP.
* READ TABLE it_rgdir INDEX 1.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
employeenumber = it_tab-pernr "gs_pernr-pernr
sequencenumber = it_rgdir-seqnr "it_tab-seqnr
CHANGING
payroll_result = it_payroll
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.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT it_payroll-inter-rt BY lgart ASCENDING.
LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1001'. " 1001基础工资
it_tab-paym = it_tab-paym + st_payroll-betrg.
ENDLOOP.
LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1002'. " 1002岗位工资
it_tab-paym = it_tab-paym + st_payroll-betrg.
ENDLOOP.
LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1003'. " 1003房贴
it_tab-paym = it_tab-paym + st_payroll-betrg.
ENDLOOP.
LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1004'. " 1004车贴
it_tab-paym = it_tab-paym + st_payroll-betrg.
ENDLOOP.
LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1004'. " 1005书报费
it_tab-paym = it_tab-paym + st_payroll-betrg.
ENDLOOP.
MODIFY it_tab.
IF it_tab-slmax <> it_tab-slmin.
it_tab-avem = ( it_tab-paym - it_tab-slmin ) / ( it_tab-slmax - it_tab-slmin ).
ENDIF.
MODIFY it_tab.
* “现薪资”-“所属职级最低薪资”)/(”所属职级最高薪资”-“所属职级最低薪资”)
ENDLOOP.
人事BAPI 及RT 表的取法
最新推荐文章于 2022-11-06 12:15:57 发布