Ansicht
Dokumentation

ABAPCALL_FUNCTION_DYNAMIC - CALL FUNCTION DYNAMIC

ABAPCALL_FUNCTION_DYNAMIC - CALL FUNCTION DYNAMIC

Addresses (Business Address Services)   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

CALL FUNCTION, parameter_tables

Kurzreferenz



... $[PARAMETER-TABLE ptab$]
    $[EXCEPTION-TABLE etab$] ...

Zusätze:

1. ... PARAMETER-TABLE ptab ...

2. ... EXCEPTION-TABLE etab ...

Wirkung

Diese Zusätze ordnen mit Hilfe spezieller interner Tabellen ptab und etab den Formalparametern des Funktionsbausteins Aktualparameter und den nicht-klassenbasierten Ausnahmen Rückgabewerte dynamisch zu.

Zusatz 1

... PARAMETER-TABLE ptab ...

Wirkung

Mit PARAMETER-TABLE können allen Formalparametern des aufgerufenen Funktionsbausteins Aktualparameter zugeordnet werden. Für ptab muss eine sortierte Tabelle vom Tabellentyp abap_func_parmbind_tab bzw. vom Zeilentyp abap_func_parmbind aus dem Type-Pool ABAP angegeben werden. Die Tabelle muss bei Ausführung der Anweisung CALL FUNCTION für jeden nicht-optionalen Formalparameter und kann für jeden optionalen Formalparameter genau eine Zeile enthalten. Die Spalten der Tabelle sind:

  • name vom Typ c der Länge 30
für den Namen des jeweiligen Formalparameters in Großbuchstaben. Die Angabe eines nicht vorhandenen Formalparameters führt zu einer behandelbaren Ausnahme.
  • kind vom Typ i
für die Art des Formalparameters. kind muss den Wert einer der folgenden Konstanten des Type-Pools ABAP enthalten:
  • abap_func_exporting für Eingabeparameter

  • abap_func_importing für Ausgabeparameter

  • abap_func_tables für Tabellenparameter

  • abap_func_changing für Eingabe-/Ausgabeparameter

Falls die aus Sicht des Aufrufers angegebene Art nicht zur tatsächlichen Art des Formalparameters passt, kommt es zu einer behandelbaren Ausnahme.
  • value vom Typ REF TO data
als Zeiger auf einen passenden Aktualparameter. Das Datenobjekt, auf das die Referenzvariable in value zeigt, wird dem in name angegebenen Formalparameter zugewiesen.
  • tables_wa vom Typ REF TO data
als Zeiger auf einen passenden Arbeitsbereich, wenn die Spalte kind den Wert abap_func_tables enthält. Falls tables_wa nicht initial ist, wird das Datenobjekt, auf das die Referenzvariable in tables_wa zeigt, der Kopfzeile des in name angegebenen Tabellenparameters übergeben.

Die Spalten name und kind bilden den eindeutigen Schlüssel der Tabelle ptab. Eine Zeile mit einem Parameternamen, der in der Parameterschnittstelle des Funktionsbausteins nicht definiert ist, wird ignoriert.

Zusatz 2

... EXCEPTION-TABLE etab ...

Wirkung

Mit EXCEPTION-TABLE können Ausnahmen des aufgerufenen Funktionsbausteins, die im Function Builder nicht als Ausnahmeklassen gekennzeichnet sind, Rückgabewerte zugewiesen werden. Für etab muss eine Hash-Tabelle vom Tabellentyp abap_func_excpbind_tab bzw. vom Zeilentyp abap_func_excpbind aus dem Type-Pool ABAP angegeben werden. Die Tabelle kann bei Ausführung der Anweisung CALL FUNCTION für jede nicht-klassenbasierte Ausnahme des Funktionsbausteins genau eine Zeile enthalten. Die Spalten der Tabelle sind:

  • name vom Typ c der Länge 30
für den Namen der jeweiligen Ausnahme bzw. error_message oder OTHERS in Großbuchstaben.
  • value vom Typ i
für den Zahlenwert, der nach Behandlung der in name angegebenen Ausnahme in sy-subrc zur Verfügung stehen soll.
  • message vom Typ REF TO data (wird nicht für allgemeine Funktionsaufrufe, sondern für Remote Function Calls verwendet)

Die Spalte name ist der eindeutige Schlüssel der Tabelle etab. Eine Zeile mit einem Ausnahmenamen, der in der Parameterschnittstelle des Funktionsbausteins nicht vorhanden ist, wird ignoriert.

Aufruf des Funktionsbausteins GUI_DOWNLOAD mit dynamischer Parameterübergabe. Der Name des Funktionsbausteins ist im String func angegeben und die Schnittstelle wird über die internen Tabellen ptab und etab versorgt.








PERFORM Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6523 Date: 20240505 Time: 062905     sap01-206 ( 80 ms )