ABAPCALL_METHOD_DYNAMIC - CALL METHOD DYNAMIC
General Material Data Fill RESBD Structure from EBP Component StructureDiese Dokumentation steht unter dem Copyright der SAP AG.
CALL METHOD (meth_name)
Syntax
CALL METHOD dynamic_meth {parameter_list
| parameter_tables }.
Wirkung
Diese Anweisung ruft die in dynamic_methdynamisch angegebene Methode auf (Dynamic Invoke). Die Zuordnung von Aktualparametern zu Formalparameternder Methode erfolgt ohne Klammern entweder statisch über parameter_listoder dynamisch über parameter_tables. Die Syntax von parameter_list ist dieselbe wie beimstatischen Methodenaufruf.
Beispiel
Dynamischer Aufruf der statischen Methode gui_download der globalen Klasse cl_gui_frontend_services zum Speichern des Inhalts einer internen Tabelle in einer Datei auf dem aktuellenPräsentationsserver.Die Namen von Klasse und Methode sind in den Strings class und meth angegeben. Die Schnittstellenparameterwerden über die interne Tabelle ptab übergeben und den Ausnahmen der Methode werdenüber die Tabelle etab Rückgabewerte zugeordnet. Ausnahmen, die beim Methodenaufrufselbst auftreten können, werden in einer TRY-Kontrollstrukturmit der Anweisung CATCH behandelt.
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: meth TYPE string,
class TYPE string,
ptab TYPE abap_parmbind_tab,
ptab_line TYPE abap_parmbind,
etab TYPE abap_excpbind_tab,
etab_line TYPE abap_excpbind.
DATA: exc_ref TYPE REF TO cx_sy_dyn_call_error,
exc_text TYPE string.
class = 'CL_GUI_FRONTEND_SERVICES'.
meth = 'GUI_DOWNLOAD'.
filename = 'c:\temp\text.txt'.
filetype = 'ASC'.
ptab_line-name = 'FILENAME'.
ptab_line-kind = cl_abap_objectdescr=>exporting.
GET REFERENCE OF filename INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILETYPE'.
ptab_line-kind = cl_abap_objectdescr=>exporting.
GET REFERENCE OF filetype INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'DATA_TAB'.
ptab_line-kind = cl_abap_objectdescr=>changing.
GET REFERENCE OF text_tab INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILELENGTH'.
ptab_line-kind = cl_abap_objectdescr=>importing.
GET REFERENCE OF fleng INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
etab_line-name = 'OTHERS'.
etab_line-value = 4.
INSERT etab_line INTO TABLE etab.
TRY.
CALL METHOD (class)=>(meth)
PARAMETER-TABLE
ptab
EXCEPTION-TABLE
etab.
CASE sy-subrc.
WHEN 1.
...
...
ENDCASE.
CATCH cx_sy_dyn_call_error INTO exc_ref.
exc_text = exc_ref->get_text( ).
MESSAGE exc_text TYPE 'I'.
ENDTRY.
TXBHW - Original Tax Base Amount in Local Currency BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5092 Date: 20120526 Time: 232835 triton ( 183 ms )






