‎2010 Aug 17 6:12 AM
I m trying to get the gross salary and ESI contribution amount for an indian based employee. While using the FM 'PYXX_READ_PAYROLL_RESULT' i m getting the following dump.
-
************************************************************************************************************************************************************An exception occurred that is explained in detail below.The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', wa not caught in procedure "PYXX_READ_PAYROLL_RESULT" "(FUNCTION)", nor was it propagated by RAISING clause.Since the caller of the procedure could not have anticipated that the exception would occur, the current program is terminated. The reason for the exception is:
Call to FORM "IMPORT_RESULT" is incorrect:
The actual parameter no. 2 has a different data type in the
PERFORM than requested for the FORM "IMPORT_RESULT" in program %_T06K40".
-
************************************************************************************************************************************************************
and it is showing the dump result here
ELSE.
PERFORM import_client_spec IN PROGRAM (subroutine_pool-name)
USING client
key
payroll_result
import_subrc
pcl2_version_number
typepool_version_number
IF FOUND.
-
Pls help me to solve the issue as it very high priroty work
‎2010 Aug 17 6:38 AM
Hi Faisal,
Before the FM the Sy-Subrc is zero only and i have declared the exception part also..
IF sy-subrc = 0.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
clusterid = 'IN'
employeenumber = P0001-pernr
sequencenumber = it_rgdir-seqnr
filter_cumulations = ''
CHANGING
payroll_result = it_payresult
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.
Endif.
Thanks!
‎2010 Aug 17 6:30 AM
Hi, Zakirriyaz
I think in FM Exceptions part is missing add it too as shown below, so that you will be able to get the proper error message, check SY-SUBRC just after FM.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
clusterid = 'RX'
employeenumber = pernr
sequencenumber = seqnr
CHANGING
payroll_result = payroll_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.Please Reply if any Confusion?
Thanks and Regards,
Faisal
‎2010 Aug 17 6:38 AM
Hi Faisal,
Before the FM the Sy-Subrc is zero only and i have declared the exception part also..
IF sy-subrc = 0.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
clusterid = 'IN'
employeenumber = P0001-pernr
sequencenumber = it_rgdir-seqnr
filter_cumulations = ''
CHANGING
payroll_result = it_payresult
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.
Endif.
Thanks!
‎2010 Aug 17 7:04 AM
Hi,
I think the problem is with clusterid = 'IN'. Please Check hope this will solve out your problem.
Thanks and Regards,
Faisal
‎2010 Aug 17 12:18 PM