Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Calling and leaving program units →  Calling Processing Blocks →  Calling procedures →  PERFORM 

PERFORM - general

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


PERFORM subr_identifier [parameter_list]. 

Effect

This statement calls the subroutine specified with the name subr_identifier and assigns the actual parameters specified in parameter_list to the formal parameters of the subroutine.


Note

Subroutines are obsolete. Do not create new subroutines in new programs. Subroutines created in existing programs for internal modularization can continue to be called. Avoid external calling subroutines from other programs as far as possible.


Example

See parameter_list.

Exceptions


Catchable Exceptions

CX_SY_PROGRAM_NOT_FOUND

  • Cause: The specified program was not found.
    Runtime Error: LOAD_PROGRAM_NOT_FOUND
  • Cause: The specified program cannot exist because the program name is longer than 40 characters.
    Runtime Error: PERFORM_PROGRAM_NAME_TOO_LONG

CX_SY_DYN_CALL_ILLEGAL_FORM

  • Cause: The specified subroutine was not found.
    Runtime Error: PERFORM_NOT_FOUND
  • Cause: The specified index was too small.
    Runtime Error: PERFORM_INDEX_0
  • Cause: The specified index was negative.
    Runtime Error: PERFORM_INDEX_NEGATIVE
  • Cause: The specified index was too large.
    Runtime Error: PERFORM_INDEX_TOO_LARGE

CX_SY_DYN_CALL_PARAM_MISSING

  • Cause: The called FORM expects more parameters than were specified.
    Runtime Error: PERFORM_PARAMETER_MISSING

CX_SY_DYN_CALL_PARAM_NOT_FOUND

  • Cause: More parameters were specified than expected by FORM.
    Runtime Error: PERFORM_TOO_MANY_PARAMETERS

CX_SY_DYN_CALL_ILLEGAL_TYPE

  • Cause: When parameters are passed using the addition STRUCTURE, the addressing offsets do not match in the actual and target structures.
    Runtime Error: PERFORM_BASE_WRONG_ALIGNMENT
  • Cause: The deep components contained in the actual and target structures cannot be passed to each other. This error can only occur in parameter transfer using STRUCTURE.
    Runtime Error: PERFORM_CAST_DEEP_MISMATCH
  • Cause: During the transfer of a generically defined type to the form, a type conflict occurred.
    Runtime Error: PERFORM_CONFLICT_GENERIC_TYPE
  • Cause: The table type of the actual parameter does not match the table type of the parameter defined in the form.
    Runtime Error: PERFORM_CONFLICT_TAB_TYPE
  • Cause: The type of the actual parameter does not match the type of parameter defined in the form.
    Runtime Error: PERFORM_CONFLICT_TYPE
  • Cause: The actual parameter occupies less storage space than the target parameter defined in the form. This error occurs only with parameter specification using STRUCTURE.
    Runtime Error: PERFORM_PARAMETER_TOO_SHORT
  • Cause: During parameter transfer with the addition STRUCTURE, the fragment views of the actual and target parameters do not match. This error only occurs in Unicode programs in
    Runtime Error: PERFORM_CONFLICT_UC_STRUCT
  • Cause: When the form is called, an internal table is expected as the actual parameter.
    Runtime Error: PERFORM_TABLE_REQUIRED
  • Cause: A hash table was passed to a parameter defined using TABLES.
    Runtime Error: PERFORM_STD_TAB_REQUIRED

Continue

PERFORM - subr_identifier