ABAPCALL_METHOD - CALL METHOD

BAL_S_LOG - Application Log: Log header data   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

CALL METHOD

Kurzreferenz



Syntaxformen


Statischer Methodenaufruf

1. [CALL METHOD] static_meth(parameter_list ).
   CALL METHOD  static_meth parameter_list.

Kurzschreibweisen

2. [CALL METHOD] { static_meth( )
                |static_meth( a )
                |static_meth( p1 = a1 p2 = a2 ... ) }.

Verketteter Methodenaufruf

3. {oref->}|{class=>}meth1(...)->meth2(...)->...->meth( parameter_list ).

Dynamischer Methodenaufruf

4. CALL METHOD dynamic_meth {parameter_list
                          | parameter_tables }.

Wirkung

Aufruf einer Methode in ABAP Objects. Wir unterscheiden einen statischen Methodenaufruf, bei dem derBezeichner der Methode vollständig im Programm bekannt sein muss, und einen dynamischen Methodenaufruf,bei dem der Bezeichner der Methode teilweise oder ganz zur Laufzeit bestimmt wird. Der statische Methodenaufrufkann in verschiedenen Schreibweisen durchgeführt werden. Bei der einen Schreibweise werden dieParameter in einem Klammerausdruck übergeben, bei der anderen ohne Klammerausdruck. Fürden Klammerausdruck sind Kurzschreibweisen möglich. Weiterhin besteht die Möglichkeiteiner Methodenverkettung. Beim dynamischen Methodenaufruf können die Parameter nicht in Klammern angegeben werden und die Anweisung CALL METHOD darf nicht weggelassen werden.

Wenn beim Aufruf einer Instanzmethode über eine Referenzvariable der statische Typ der Referenzvariableneine Oberklasse des dynamischen Typs ist, können über den dynamischen Methodenaufruf allesichtbaren Methoden des dynamischen Typs aufgerufen werden, während beim statischen Methodenaufruf nur die sichtbaren Methoden des statischen Typs aufgerufen werden können.

Systemfelder

Das Systemfeld sy-subrc wird beim Aufruf einer Methode auf 0 gesetzt. Falls eine durch Zuweisung eines Werts behandelte nicht-klassenbasierte Ausnahme auftritt, wird sy-subrc auf diesen Wert gesetzt.

Hinweis

Funktionale Methoden können statt mit CALL METHOD auch anOperandenpositionen für Funktionen und Ausdrücke aufgerufen werden.

Ausnahmen

Behandelbare Ausnahmen

CX_SY_DYN_CALL_EXCP_NOT_FOUND

  • Ursache: Ausnahme nicht vorhanden
    Laufzeitfehler: DYN_CALL_METH_EXCP_NOT_FOUND (abfangbar)

CX_SY_DYN_CALL_ILLEGAL_CLASS

  • Ursache: Angegebene Klasse nicht vorhanden
    Laufzeitfehler: DYN_CALL_METH_CLASS_NOT_FOUND (abfangbar)

CX_SY_DYN_CALL_ILLEGAL_METHOD

  • Ursache: Die Methode ist nicht zugreifbar.
    Laufzeitfehler: CALL_METHOD_NOT_ACCESSIBLE
  • Ursache: Die aufgerufene Methode ist noch nicht implementiert.
    Laufzeitfehler: CALL_METHOD_NOT_IMPLEMENTED
  • Ursache: Aufruf des statischen Konstruktors
    Laufzeitfehler: DYN_CALL_METH_CLASSCONSTRUCTOR (abfangbar)
  • Ursache: Aufruf des Instanzkonstruktors
    Laufzeitfehler: DYN_CALL_METH_CONSTRUCTOR (abfangbar)
  • Ursache: Methode nicht vorhanden
    Laufzeitfehler: DYN_CALL_METH_NOT_FOUND (abfangbar)
  • Ursache: Methode ist nicht statisch
    Laufzeitfehler: DYN_CALL_METH_NO_CLASS_METHOD (abfangbar)
  • Ursache: Aufruf einer nicht sichtbaren Methode
    Laufzeitfehler: DYN_CALL_METH_PRIVATE (abfangbar)
  • Ursache: Aufruf einer nicht sichtbaren Methode
    Laufzeitfehler: DYN_CALL_METH_PROTECTED (abfangbar)

CX_SY_DYN_CALL_ILLEGAL_TYPE

  • Ursache: Typkonflikt bei Aufruf der Methode.
    Laufzeitfehler: CALL_METHOD_CONFLICT_GEN_TYPE
  • Ursache: Typkonflikt bei Aufruf der Methode.
    Laufzeitfehler: CALL_METHOD_CONFLICT_TAB_TYPE
  • Ursache: Typkonflikt bei Aufruf der Methode.
    Laufzeitfehler: CALL_METHOD_CONFLICT_TYPE
  • Ursache: Falsche Art eines Parameters
    Laufzeitfehler: DYN_CALL_METH_PARAM_KIND (abfangbar)
  • Ursache: Aktualparameter kann nicht gefüllt werden
    Laufzeitfehler: DYN_CALL_METH_PARAM_LITL_MOVE (abfangbar)
  • Ursache: Falscher Tabellen-Typ eines Parameters
    Laufzeitfehler: DYN_CALL_METH_PARAM_TAB_TYPE (abfangbar)
  • Ursache: Falscher Typ eines Parameters
    Laufzeitfehler: DYN_CALL_METH_PARAM_TYPE (abfangbar)

CX_SY_DYN_CALL_PARAM_MISSING

  • Ursache: Fehlender Aktualparameter
    Laufzeitfehler: DYN_CALL_METH_PARAM_MISSING (abfangbar)
  • Ursache: Parameter-Referenz ist leer
    Laufzeitfehler: DYN_CALL_METH_PARREF_INITIAL (abfangbar)

CX_SY_DYN_CALL_PARAM_NOT_FOUND

  • Ursache: Falscher Name eines Parameters
    Laufzeitfehler: DYN_CALL_METH_PARAM_NOT_FOUND (abfangbar)

CX_SY_REF_IS_INITIAL

  • Ursache: Referenzvariable ist leer
    Laufzeitfehler: DYN_CALL_METH_REF_IS_INITIAL (abfangbar)


Unbehandelbare Ausnahmen

  • Ursache: Nicht erlaubte Parameter bei dynamischem Methodenaufruf. Relevant für Instanzkonstruktoren bei dynamischer Instanzierung.
    Laufzeitfehler: CALL_METHOD_PARMS_ILLEGAL







rdisp/max_wprun_time - Maximum work process run time   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 10215 Date: 20120526 Time: 232827     triton ( 232 ms )