‎2010 Aug 03 6:29 AM
When i am using PYXX_READ_PAYROLL_RESULT function module to get HR cluster data. I am getting following dump.
So,can any one help me to solve this issue.I want this function data.
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', was
not caught in
procedure "PYXX_READ_PAYROLL_RESULT" "(FUNCTION)", nor was it propagated by a
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 "%_T0LJ20".
Program SAPLHRPAY99_IMPEXP
Include LHRPAY99_IMPEXPU02
Row 1
Module type (FUNCTION)
Module Name PYXX_READ_PAYROLL_RESULT
Program SAPLHRPAY99_IMPEXP
Include LHRPAY99_IMPEXPU02
Row 137
Module type (FUNCTION)
Module Name PYXX_READ_PAYROLL_RESULT
‎2010 Aug 03 6:37 AM
Please check the parameters passed while calling the function module. The data type of parameters passed to function module should be same as the data type of parameters of function module.
Regards,
Sadhna
‎2010 Aug 03 6:37 AM
Please check the parameters passed while calling the function module. The data type of parameters passed to function module should be same as the data type of parameters of function module.
Regards,
Sadhna
‎2010 Aug 03 6:41 AM
In above function module there is onr perform at line 130 its giving dump.Parameter type is same.
PERFORM import_result IN PROGRAM (subroutine_pool-name)
USING key
payroll_result
import_subrc
pcl2_version_number
typepool_version_number
‎2010 Aug 03 7:42 AM
Find below is my code can u tell me wch type is not true .i tried but not able to find prob solution.
Plz help me waiting for reply.
TYPE-POOLS: SLIS.
DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
it_sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid,
gt_events TYPE slis_t_event,
gd_prntparams TYPE slis_print_alv,
it_eve TYPE slis_t_event,
V_LAYOUT TYPE SLIS_LAYOUT_ALV.
wa_eve TYPE slis_alv_event.
*
*DATA header TYPE slis_t_listheader WITH HEADER LINE.
*DATA: ls_fcat TYPE slis_t_fieldcat_alv,
l_lin TYPE i.
*DATA: ls_event TYPE slis_alv_event.
DATA : WA_COLNO(2) TYPE N VALUE '1'.
DATA : REPID LIKE SY-REPID.
TABLES: PA0001,PA0002,T001P,T528T,T527X,T503T.
DATA:BEGIN OF IT_PA0002 OCCURS 0,
PERNR LIKE PA0002-PERNR,
END OF IT_PA0002.
DATA:BEGIN OF IT_PA0001 OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
PLANS LIKE PA0001-PLANS,
WERKS LIKE PA0001-WERKS,
BTRTL LIKE PA0001-BTRTL,
ORGEH LIKE PA0001-ORGEH,
PERSK LIKE PA0001-PERSK,
END OF IT_PA0001.
DATA: BEGIN OF IT_T528T OCCURS 0,
PLANS LIKE T528T-PLANS,
PLSTX LIKE T528T-PLSTX,
END OF IT_T528T.
DATA: BEGIN OF IT_T001P OCCURS 0,
WERKS LIKE T001P-WERKS,
BTRTL LIKE T001P-BTRTL,
BTEXT LIKE T001P-BTEXT,
END OF IT_T001P.
DATA: BEGIN OF IT_T527X OCCURS 0,
ORGEH LIKE T527X-ORGEH,
ORGTX LIKE T527X-ORGTX,
END OF IT_T527X.
DATA: BEGIN OF IT_T503T OCCURS 0,
PERSK LIKE T503T-PERSK,
PTEXT LIKE T503T-PTEXT,
END OF IT_T503T.
DATA:BEGIN OF IT_FINAL OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
PLSTX LIKE T528T-PLSTX,
BTEXT LIKE T001P-BTEXT,
ORGTX LIKE T527X-ORGTX,
PTEXT LIKE T503T-PTEXT,
END OF IT_FINAL.
*DATA: WI_RT LIKE LINE OF PAYROLL-INTER-RT,
*DATA: WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
DATA: IT_EVP TYPE HRPY_TT_RGDIR,
ls_evp LIKE LINE OF IT_EVP,
WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
WI_PAYRESULT TYPE PAY99_RESULT.
WI_PAYRESULT TYPE STANDARD TABLE OF PAYUS_RESULT WITH HEADER LINE.
DATA WG_MOLGA LIKE T500L-MOLGA.
SELECTION-SCREEN BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_PERNR FOR PA0001-PERNR,
S_BTRTL FOR PA0001-BTRTL,
S_ORGEH FOR PA0001-ORGEH.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FIELD_CATLOG.
PERFORM DISPLAY_DATA.
&----
*& Form GET_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA .
SELECT PERNR
INTO CORRESPONDING FIELDS OF TABLE IT_PA0002
FROM PA0002
WHERE PERNR IN S_PERNR.
IF IT_PA0002[] IS NOT INITIAL.
SELECT PERNR ENAME PLANS WERKS BTRTL ORGEH PERSK
INTO CORRESPONDING FIELDS OF TABLE IT_PA0001
FROM PA0001
FOR ALL ENTRIES IN IT_PA0002
WHERE PERNR = IT_PA0002-PERNR
AND BTRTL IN S_BTRTL
AND ORGEH IN S_ORGEH.
ENDIF.
IF IT_PA0001[] IS NOT INITIAL.
SELECT PLANS PLSTX
INTO CORRESPONDING FIELDS OF TABLE IT_T528T
FROM T528T
FOR ALL ENTRIES IN IT_PA0001
WHERE PLANS = IT_PA0001-PLANS
AND SPRSL = 'EN'.
SELECT WERKS BTRTL BTEXT
INTO CORRESPONDING FIELDS OF TABLE IT_T001P
FROM T001P
FOR ALL ENTRIES IN IT_PA0001
WHERE WERKS = IT_PA0001-WERKS
AND BTRTL = IT_PA0001-BTRTL.
SELECT ORGEH ORGTX
INTO CORRESPONDING FIELDS OF TABLE IT_T527X
FROM T527X
FOR ALL ENTRIES IN IT_PA0001
WHERE ORGEH = IT_PA0001-ORGEH
AND SPRSL = 'EN'.
SELECT PERSK PTEXT
INTO CORRESPONDING FIELDS OF TABLE IT_T503T
FROM T503T
FOR ALL ENTRIES IN IT_PA0001
WHERE PERSK = IT_PA0001-PERSK
AND SPRSL = 'EN'.
ENDIF.
*DELETE ADJACENT DUPLICATES FROM IT_PA0001 COMPARING PERNR.
LOOP AT IT_PA0001.
MOVE IT_PA0001-ENAME TO IT_FINAL-ENAME.
READ TABLE IT_PA0002 WITH KEY PERNR = IT_PA0001-PERNR.
IF SY-SUBRC = 0.
MOVE IT_PA0002-PERNR TO IT_FINAL-PERNR.
ENDIF.
READ TABLE IT_T528T WITH KEY PLANS = IT_PA0001-PLANS.
IF SY-SUBRC = 0.
MOVE IT_T528T-PLSTX TO IT_FINAL-PLSTX.
ENDIF.
LOOP AT IT_T001P WHERE WERKS = IT_PA0001-WERKS AND BTRTL = IT_PA0001-BTRTL.
MOVE IT_T001P-BTEXT TO IT_FINAL-BTEXT.
ENDLOOP.
READ TABLE IT_T527X WITH KEY ORGEH = IT_PA0001-ORGEH.
IF SY-SUBRC = '0'.
MOVE IT_T527X-ORGTX TO IT_FINAL-ORGTX.
ENDIF.
READ TABLE IT_T503T WITH KEY PERSK = IT_PA0001-PERSK.
IF SY-SUBRC = '0'.
MOVE IT_T503T-PTEXT TO IT_FINAL-PTEXT.
ENDIF.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
PERSNR = IT_FINAL-PERNR
BUFFER
NO_AUTHORITY_CHECK = ' '
IMPORTING
MOLGA = WG_MOLGA
TABLES
IN_RGDIR = WI_RGDIR
EXCEPTIONS
NO_RECORD_FOUND = 1
OTHERS = 2 .
CLEAR WG_SUM.
LOOP AT WI_RGDIR INTO ls_evp.
IF ( WI_RGDIR-FPEND BETWEEN P_STDATE AND P_ENDATE AND
WI_RGDIR-SRTZA = 'A' ) .
IF Wg_MOLGA = '10'.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
CLUSTERID = 'IN'
EMPLOYEENUMBER = IT_FINAL-PERNR
SEQUENCENUMBER = ls_evp-SEQNR
READ_ONLY_INTERNATIONAL = ''
CHANGING
PAYROLL_RESULT = WI_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.
endif.
ENDLOOP.
APPEND IT_FINAL.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING ALL FIELDS.
ENDFORM. " GET_DATA
&----
*& Form BUILD_FIELD_CATLOG
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FIELD_CATLOG .
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PERNR'.
FIELDCATALOG-SELTEXT_M = 'Emp Code'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 9.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'ENAME'.
FIELDCATALOG-SELTEXT_M = 'Emp Name'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 40.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PLSTX'.
FIELDCATALOG-SELTEXT_M = 'Position'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 26.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'BTEXT'.
FIELDCATALOG-SELTEXT_M = 'Work Location'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 15.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'ORGTX'.
FIELDCATALOG-SELTEXT_M = 'Dept. Description'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 25.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'PTEXT'.
FIELDCATALOG-SELTEXT_M = 'Grade Set Code'.
FIELDCATALOG-COL_POS = WA_COLNO.
FIELDCATALOG-OUTPUTLEN = 21.
FIELDCATALOG-EMPHASIZE = 'X'.
FIELDCATALOG-KEY = 'X'.
WA_COLNO = WA_COLNO + 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
ENDFORM. " BUILD_FIELD_CATLOG
&----
*& Form DISPLAY_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM DISPLAY_DATA .
REPID = SY-CPROG.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = 'X'
IT_FIELDCAT = FIELDCATALOG[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_DATA
‎2015 Nov 06 6:45 PM
Hi, I had the same dump and running the function occurs from transaction SE37.
But if you run it from an ABAP program with the same data types of the function.
You will not have problems.
Example code attached