Page 1 of 1

Dynamischer Methodenaufruf aus Field-Symbol heraus

PostPosted: Tue Jun 04, 2013 4:29 pm
by Mattes1043
Hallo Leute,

ich experimentiere gerade etwas mit ABAP OO herum.
Aktuell stehe ich vor folgendem Problem:

Ich würde gerne während der Laufzeit einem Feldsymbol eine Objektreferenz zuweisen und im Anschluss eine Methode aufrufen, welche einen Returning-Parameter liefert.

Mein Ansatz sah folgendermaßen aus:

DATA: LR_TEST TYPE REF TO IRGENDEINE_KLASSE.

FIELD-SYMBOLS:

<F_OBJECT> TYPE REF TO DATA.

[ ... Coding, u.a. wird hier das Objekt LR_TEST instanziert ... ]

IF LR_TEST IS BOUND.
GET REFERENCE OF LR_TEST INTO <F_OBJECT>.
ENDIF.

*--| Aufruf Methode ( habe mehreres versucht, das sieht aber am Hoffnungsvollsten aus :) )

CALL METHOD <F_OBJECT>->('TEST')
PARAMETER-TABLE
LT_PARAMETERS.

ENDIF.


Bei der Aktivierung erhalte ich folgenden Fehler:

"Über Datenreferenzen können keine Methoden aufgerufen werden."

Was mache ich falsch?
Wie kann ich den generischen Methodenaufruf durchführen?

Vielen Dank für Eure Hilfe !

Viele Grüße
David

Re: Dynamischer Methodenaufruf aus Field-Symbol heraus

PostPosted: Wed Jun 05, 2013 6:39 am
by Mattes1043
Kann keiner helfen?

Re: Dynamischer Methodenaufruf aus Field-Symbol heraus

PostPosted: Wed Jun 05, 2013 5:04 pm
by Ines3642
Hi! Hast Du mal ein "ASSIGN" statt des "GET REFERENCE" versucht?

Re: Dynamischer Methodenaufruf aus Field-Symbol heraus

PostPosted: Thu Jun 06, 2013 4:42 pm
by Ursula4506
Hallo,

du musst
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. <F_OBJECT> TYPE ANY.
GeSHi ©
definieren.
Dann stellt sich aber noch die Frage, ob du lr_test direkt dynamisch instanziierst:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.       CREATE OBJECT lr_test
  2.         TYPE
  3.           ('CL_IRGENDWAS')
  4.         PARAMETER-TABLE
  5.           lt_parameters.
  6.  
GeSHi ©


und dann direkt
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CALL METHOD lr_test->(lv_method)
  2.     PARAMETER-TABLE
  3.       lt_parameters.
  4.  
GeSHi ©
aufrufst und auf dein Feldsymbol verzichtest?