Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Obsolete Language Elements →  Obsolete Calls 

PERFORM subr(prog)

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Obsolete Syntax

PERFORM subr(prog) [IF FOUND] [parameter_list].


A variant of the external subroutine call that is not allowed in classes. The statement PERFORM calls the statically declared subroutine subr of a program prog. If the specified subroutine or program does not exist, and the addition IF FOUND is specified, the statement PERFORM is ignored. Otherwise, the system returns a syntax error or runtime error.


  • In this variant, the program name prog is specified directly in parentheses. Since parentheses in operand positions indicate a dynamic specification in all other cases, this form of the name is obsolete. Specify it with the addition IN PROGRAM instead.
  • External calls of subroutines are obsolete in any case. Instead of subroutines, you can use methods and function modules as explicit functional interfaces of a program.
  • Furthermore, external calls of subroutines are critical, since it cannot usually be statically determined to which program groups the framework program is assigned.
  • To call a subroutine in a program in a different package, the declaration of the subroutine must be shared between a declaration part and an implemenation part using FORM - DEFINITION, IMPLEMENTATION; the declaration part must always be public in the package interface.