Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem when using function module PYXX_READ_PAYROLL_RESULT giving dump.

Former Member
0 Likes
2,461

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,730

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

4 REPLIES 4
Read only

Former Member
0 Likes
1,731

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

Read only

0 Likes
1,730

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

Read only

0 Likes
1,730

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

Read only

Former Member
0 Likes
1,730

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