12/12/2015 5:30:55 AM
During support project I am facing lot of PERFORM_NOT_FOUND runtime errors in custom programs, when I analyse the dump is coming from procedure "METHOD_PRINT_END_OF_LIST" "(FORM)" which means standard. Please find below the detailed dump.
An exception occurred that is explained in detail below.
Call (PERFORM) to a non-existent routine. There exist various options:
Error in the ABAP Application Program The current ABAP program "SAPLSLVC_FULLSCREEN" had to be terminated because it has come across a statement that unfortunately cannot be executed.or Error in the SAP kernel.The current ABAP "SAPLSLVC_FULLSCREEN" program had to be terminated because the
ABAP processor detected an internal system error.
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FORM', was not caught in procedure "METHOD_PRINT_END_OF_LIST" "(FORM)", 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:
The program "SAPLSLVC_FULLSCREEN" is meant to execute an external PERFORM, namely the routine "END_OF_LIST " of the program "ZXXXXXXX ", but this routine does not exist.
Analysis: Actually this is an ALV Report and output is coming perfect but when I click Download option in toolbar I am getting the above dump. And I have verified the same in SE16 download its working fine.
During CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTING
i_callback_program = v_repid
i_callback_pf_status_set = 'SET_PF_STATUS' "I am using the standard PF status but I am getting dump
if not gt_grid-i_callback_end_of_list is initial and
not i_callback_program is initial.
in program (i_callback_program).
endform. " METHOD_PRINT_END_OF_LIST
Dump is occurring during the perform with external subroutine call.
Did the debugging line by line and found that below the code is cause
* END-OF-LIST: Standard footer
READ TABLE pt_event WITH KEY name = v_end_of_list INTO lst_event.
IF sy-subrc = 0.
MOVE v_end_of_list TO lst_event-form.
APPEND lst_event TO i_events.
Actually event is there but no subroutine defined in the name of "END_OF_LIST " of the program "ZXXXXXXX ".
Finally I have commented the code and its working as expected.
And one more possibility will be if you pass I_CALLBACK_USER_COMMAND as exporting parameter but no subroutine is defined in this case when you double click the ALV report then you will get dump. Either you have to comment and to create new subroutine.
I hope you understand my explanation.
If you like this blog, please share (Facebook/LinkedIn/Google+) to click below links so it will reach to others.
Saranya -1/16/2016 6:48:41 PM