ABAPCALL_FUNCTION_DYNAMIC - CALL FUNCTION DYNAMIC
CL_GUI_FRONTEND_SERVICES - Frontend Services PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
CALL FUNCTION - parameter_tables
Syntax
... [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 Formalparameterndes Funktionsbausteins Aktualparameter und den nicht-klassenbasierten Ausnahmen Rückgabewerte zu.
Zusatz 1
... PARAMETER-TABLE ptab ...
Wirkung
Mit PARAMETER-TABLE können allen Formalparametern des aufgerufenen Funktionsbausteins Aktualparameter zugeordnet werden. Für ptab muss einesortierte Tabelle vom Tabellentyp ABAP_FUNC_PARMBIND_TAB bzw. vom Zeilentyp ABAP_FUNC_PARMBIND aus derTypgruppeABAP angegeben werden. Die Tabelle muss beiAusfü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 inGroß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 der Typgruppe ABAP enthalten:
- - ABAP_FUNC_EXPORTING für Eingabeparameter
- - ABAP_FUNC_IMPORTING für Ausgabeparameter
- - ABAP_FUNC_CHANGING für Ein-/Ausgabeparameter
- - ABAP_FUNC_TABLES für Tabellenparameter
Falls die aus Sicht des Aufrufersangegebene 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 SpalteKIND den Wert ABAP_FUNC_TABLES enthält. Falls TABLES_WA nicht initial ist, wird das Datenobjekt, auf das die Referenzvariable in TABLES_WA zeigt, derKopfzeile des in NAME angegebenen Tabellenparameters übergeben.
Die Spalten NAME und KIND bilden den eindeutigen Schlüssel der Tabelle ptab.
Zusatz 2
... EXCEPTION-TABLE etab ...
Wirkung
Mit EXCEPTION-TABLE können Ausnahmen des aufgerufenen Funktionsbausteins, die imFunctionBuilder nicht als Ausnahmeklassen gekennzeichnet sind, Rückgabewerte zugewiesen werden. Für etab muss eineHash-Tabelle vom Tabellentyp ABAP_FUNC_EXCPBIND_TAB bzw. vom Zeilentyp ABAP_FUNC_EXCPBIND aus derTypgruppeABAP angegeben werden. Die Tabelle kann beiAusfü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 zurzeit noch nicht verwendet).
Die Spalte NAME ist der eindeutige Schlüssel der Tabelle etab.
Beispiel
Aufruf des Funktionsbausteins GUI_DOWNLOAD mit dynamischer Parameterübergabe. Der Name des Funktionsbausteinsist im String func angegeben und die Schnittstelle wird über die internen Tabellen ptab und etab versorgt.
DATA: line TYPE c LENGTH 80,
text_tab LIKE STANDARD TABLE OF line,
filename TYPE string,
filetype TYPE c LENGTH 10,
fleng TYPE i.
DATA: func TYPE string,
ptab TYPE abap_func_parmbind_tab,
ptab_line TYPE abap_func_parmbind,
etab TYPE abap_func_excpbind_tab,
etab_line TYPE abap_func_excpbind.
func = 'GUI_DOWNLOAD'.
filename = 'c:\temp\text.txt'.
filetype = 'ASC'.
ptab_line-name = 'FILENAME'.
ptab_line-kind = abap_func_exporting.
GET REFERENCE OF filename INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILETYPE'.
ptab_line-kind = abap_func_exporting.
GET REFERENCE OF filetype INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'DATA_TAB'.
ptab_line-kind = abap_func_tables.
GET REFERENCE OF text_tab INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILELENGTH'.
ptab_line-kind = abap_func_importing.
GET REFERENCE OF fleng INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
...
etab_line-name = 'OTHERS'.
etab_line-value = 10.
INSERT etab_line INTO TABLE etab.
CALL FUNCTION func
PARAMETER-TABLE
ptab
EXCEPTION-TABLE
etab.
CASE sy-subrc.
WHEN 1.
...
...
ENDCASE.
ROGBILLS - Synchronize billing plans ABAP Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7639 Date: 20120526 Time: 232542 triton ( 213 ms )






