Skip to Content

PERFORM_NOT_FOUND short dump

Hello expert,

Please help on the custom code case:

short dump:

Runtime Errors PERFORM_NOT_FOUND

Exception CX_SY_DYN_CALL_ILLEGAL_FORM

Call (PERFORM) to a non-existent routine.

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FORM', was not caught in procedure "GET_ETC_SUMMARY_VALUE_2" "(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 "SAPLZELUPF04V7" is meant to execute an external PERFORM, namely the routine "TDD_FMULA_CYF0002301_0001 " of the program "ZELUPLTDD_FMULA", but this routine does not exist. This may be due to any of the following reasons:

1. One of the programs "SAPLZELUPF04V7" or "ZELUPLTDD_FMULA" is currently being developed. The name "TDD_FMULA_CYF0002301_0001 " of the called routine may be incorrect, or the routine "TDD_FMULA_CYF0002301_0001 " is not yet implemented in the program "ZELUPLTDD_FMULA".

2. If the program SAPMSSY1 is involved in the runtime error, one of the function modules called via RFC is not flagged as remote-capable. (see Transaction SE37 Goto -> Administration -> RFC flag)

3. There is an inconsistency in the system. The versions of the programs "SAPLZELUPF04V7" and "ZELUPLTDD_FMULA" do not match.

=====================================

[Program type]

1.A (Type : 1)

2.B (Type : RFC function)

3.C (Type : S)

[Program execution process]

1.After Batch execution of #A# program, the program composes #Form

external program (program type : subroutine pool), then program

generated.

2.During execution of #A# program, #B# function controlled by para

process (RFC)

3.#C# program which generated by #B# program calls pertinent #FORM

sentence.

[Issues occurred]

1.The pertinent #FORM# sentence called by #PERFORM subr (sname) IN

PROGRAM [prog (pname)]# way but runtime error message occurred

(message : #PERFORM NOT FOUND) the pertinent #FORM# sentence exis

in #C# program actually.

[Opinion]

1.Whether Program source too big to be generated.

2.I suppose subroutine pool was not generated because the error

happened at first phase of RFC job. (#A# program does #Generatio while its execution.)

====================================

Many thanks,

Perry Song on behalf of customer.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Nov 06, 2008 at 02:35 AM

    the short dump clearly refers to yoru custom programs, and there is a perform routine coded which doesnt have any corresponding Form subroutine,

    check your system and fix the error. No one at SDN would be able to fix this issue.

    MxG on behalf of MxG

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Nov 06, 2008 at 04:07 AM

    Hi Perry,

    The Subroutine GET_ETC_SUMMARY_VALUE_2 is Not present in the Program. Thats why the short dump is coming when the system try to access the Perform and not able to locate where is it..

    Just analyse why the perform is not present.. or you just missed this perform body in your program

    Best way is create a body of the Perform by using Form Endform. This will fix your problem.

    Thanks,

    Chidanand

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 06, 2008 at 09:11 AM

    Hello Perry song,

    You got the short dump bcoz, there is no perform by the name you provided in the program,

    for example. consider there are 2 programs.

    Program 1 :

    REPORT ZPGM1.

    *Calling a perform SNAME1 , the code of perform is written in ZPGM2.

    perform sname1 IN PROGRAM ZPGM2.

    Program 2 :

    REPORT ZPGM2.

    perform sname1 .

    Form SNAME1 .

    write : 'Text in form SNAME1' .

    endform. " SNAME1

    (here SNAME1 is found and it works perfectly )

    *********************************************************

    Change in Program 1 :

    REPORT ZPGM1.

    *Calling perform DELTA ,

    perform DELTA IN PROGRAM ZPGM2 IF FOUND.

    • Now the perform statement will search for perform " DELTA " in ZPGM2 , but there is no perform by name DELTA , so here we need to mention the condition " IF FOUND " , so now by mentioning the condition " IF FOUND " in perform statement , if the perform DELTA is not found then it wont go to DUMP.

    If condition " IF FOUND " is not mentioned in perform statement like

    perform DELTA IN PROGRAM ZPGM2 . ( This gives DUMP )

    just type " IF FOUND " when u r calling a perform from other program ( i guess this will solve the problem ).

    Hope it might be helpfull,

    Regards ,

    Aby

    Edited by: abhi on Nov 6, 2008 10:14 AM

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.