gelöst Dynamischer Methodenaufruf mit dynamischer Tabelle


Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Moderatoren: Jan, Steff

gelöst Dynamischer Methodenaufruf mit dynamischer Tabelle

Beitragvon mark.thk » 12.12.2018, 10:34

Hallo zusammen,
ich bin momentan ein wenig am verzweifeln.

Ich muss einen dynamischen Methodenaufruf machen mit einer dynamischen Tabelle, leider bekomme ich beim Aufruf immer sofort eine Exzeption "Falscher Typ für Parameter "IV_REF_TABLE"

Aufruf der Methode. Die Methode selber hat den Importparameter IV_REF_TABLE type ref to DATA.
-> gv_ref_table ist die Referenz auf eine dynamische Tabelle

Der statische Aufruf der Methode funktioniert mit der dynamischen Tabelle.

Code: Alles auswählen
      FIELD-SYMBOLS <table> TYPE data.
      ASSIGN gv_ref_table->* TO <table>.

      ls_parameter-name = 'IV_REF_TABLE'.
      ls_parameter-kind = cl_abap_objectdescr=>exporting.
      GET REFERENCE OF <table> INTO ls_parameter-value.
      INSERT ls_parameter INTO TABLE lt_parameters.

      ls_methode-classname  = 'CL_CLASS'.
      ls_methode-methodname = 'METHOD'.

      TRY.
          CREATE OBJECT lr_class TYPE (ls_methode-classname).

          CALL METHOD lr_class->(ls_methode-methodname)
            PARAMETER-TABLE lt_parameters.

        CATCH cx_sy_dyn_call_error INTO lv_error.
          MESSAGE lv_error TYPE 'I' DISPLAY LIKE 'E'.
      ENDTRY.
 


Kann mir irgendwer weiterhelfen?
Vielen Dank
Mark
mark.thk
ForumUser
 
Beiträge: 2
Registriert: 12.12.2018, 10:17
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Dynamischer Methodenaufruf mit dynamischer Tabelle

Beitragvon a-dead-trousers » 12.12.2018, 11:05

Du musst direkt die "gv_ref_table" übergeben.
Code: Alles auswählen
GET REFERENCE OF gv_ref_table INTO ls_parameter-value.

Der Parameter soll am Ende ja ein REF TO DATA sein und nicht ein DATA.
Dass "ls_parameter-value" bereits ein REF TO DATA ist, hat ja nur den Grund, damit man beliebige Daten (auch Objekte) damit übergeben kann und man nicht extra eine Typisierung dafür braucht.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Für diese Nachricht hat a-dead-trousers 2 Dankeschön bekommen :
Icke0801, mark.thk
a-dead-trousers
Top Expert
 
Beiträge: 3106
Registriert: 07.02.2011, 13:40
Dank erhalten: 767 mal
Ich bin: Entwickler/in

Re: Dynamischer Methodenaufruf mit dynamischer Tabelle

Beitragvon mark.thk » 12.12.2018, 11:17

Vielen Dank, das wars!

Ich dachte eine Referenz von einer Referenz wäre zu viel des guten, aber das war das Problem.
mark.thk
ForumUser
 
Beiträge: 2
Registriert: 12.12.2018, 10:17
Dank erhalten: 0 mal
Ich bin: Entwickler/in


Zurück zu ABAP Objects®

  Aktuelle Beiträge   
Applikations-Toolbar dynamisch erzeugen
vor 8 Stunden von ralf.wenzel 0 Antw.
CP_BD_DIRECT_INPUT_PLAN
Gestern von Gottschall 0 Antw.
Logische Datenbank: Selektieren mit Loop
vor 4 Stunden von deejey 12 Antw.
Globale Konstanten - Organisationseinheiten
vor 13 Stunden von ralf.wenzel 5 Antw.
Kein Zugriff auf Dateien im Applikationsserver
Gestern von zzcpak 1 Antw.

  Ähnliche Beiträge beta
gelöst Dynamischer Methodenaufruf mit dynamischer Tabelle
12.09.2017, 10:18 von Tommy Nightmare 5 Antw.
Dynamischer Methodenaufruf
24.08.2009, 09:57 von Cola 4 Antw.
Dynamischer Methodenaufruf: Methode nicht gefunden
08.09.2014, 19:18 von ralf.wenzel 2 Antw.
Löschen einer Spalte aus dynamischer Tabelle
15.11.2007, 15:43 von ereglam 2 Antw.
gelöst dyn. Methodenaufruf, SUPER vs. KIND
22.10.2015, 17:49 von black_adept 7 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron