Dynamischer Methodenauf (Teil 2) - PARAMETER!

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Dynamischer Methodenauf (Teil 2) - PARAMETER!

Beitrag von Cola (ForumUser / 19 / 0 / 0 ) »
Hallo,

ich muss meine Parameterliste dynamisch aufbauen und nur wenn deren Typ stimmt,
funktioniert der Methodenaufruf. Nur wie mach ich das bei den Typen ANY, DATA, (STANDARD) TABLE usw...???

Mein aktueller funktionierender Code sieht momentan so aus:

Code: Alles auswählen.

LOOP AT it_parameters INTO ls_param WHERE
      clsname  = ls_methode-interface AND cmpname = ls_methode-methname.

      CASE ls_param-pardecltyp .
        WHEN 0.
          ls_parameter-kind = cl_abap_objectdescr=>exporting.
        WHEN 1.
          ls_parameter-kind = cl_abap_objectdescr=>importing.
        WHEN 2.
          ls_parameter-kind = cl_abap_objectdescr=>changing.
        WHEN 3.
          ls_parameter-kind = cl_abap_objectdescr=>returning.
      ENDCASE.

      ls_parameter-name = ls_param-sconame.

     IF ls_param-typtype = 0.                                     "<--LIKE
        CREATE DATA lv_like TYPE (ls_param-type).
        CREATE DATA lr_data LIKE lv_like.
      ELSEIF ls_param-typtype = 1.                             "<--TYPE
        CREATE DATA lr_data TYPE (ls_param-type).
      ELSEIF ls_param-typtype = 3.                             "<--TYPE REF TO
        CREATE DATA lr_data TYPE REF TO (ls_param-type).
      ENDIF.

      ls_parameter-value = lr_data.
      INSERT ls_parameter INTO TABLE lt_parameters.
    ENDLOOP.
Dieser klappt wunderbar für alle welche nicht die oben genannten Typen aufweisen.
Ich hab schon viel ausprobiert mit Fieldsymbolen beispeilsweise, aber bisher hat noch nichts funktioniert.
Kann mir hier jemand vielleicht weiterhelfen?
Danke schon mal.

Gruß
Cola

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Dynamischer Methodenauf (Teil 2) - PARAMETER!

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Mit der Klasse kannst du auch Feldinformationen auslesen.

Code: Alles auswählen.

DATA: BEGIN OF my_data1,
        werk   LIKE mseg-werks,
        matnr  LIKE mseg-matnr,
        betrag LIKE mseg-dmbtr,
      END OF my_data1,

      descr_ref1 TYPE REF TO cl_abap_structdescr.


descr_ref1 ?= cl_abap_typedescr=>describe_by_data( my_data1 ).

  WRITE: / 'Typename :', descr_ref1->absolute_name.
  WRITE: / 'Kind :', descr_ref1->type_kind.
  WRITE: / 'Length :', descr_ref1->length.
  WRITE: / 'Decimals :', descr_ref1->decimals.
  WRITE: / 'Struct Kind :', descr_ref1->struct_kind.
  WRITE: / 'Components :'.
  WRITE: / 'Name', 30 'Kind', 40 'Length', 50 'Decimals'.
Vielleicht hilft dir das weiter.

Thomas

Seite 1 von 1

Vergleichbare Themen

11
Antw.
1321
Views
Dynamischer Methodenaufruf (Teil 327)
von Icke0801 » 30.04.2022 08:28 • Verfasst in ABAP Objects®
13
Antw.
7140
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core
2
Antw.
1560
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von mark.thk » 12.12.2018 10:34 • Verfasst in ABAP Objects®
5
Antw.
4253
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von Tommy Nightmare » 08.09.2017 13:23 • Verfasst in ABAP Objects®
6
Antw.
2831
Views
Index im where Teil
von kaim77 » 10.09.2014 08:54 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

SELECT CHAR16 in CHAR12-Feld
vor 2 Stunden von Patrick1982 gelöst 5 / 60
alv_grid aktualisieren
vor 6 Stunden von Egzon gelöst 4 / 82

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

SELECT CHAR16 in CHAR12-Feld
vor 2 Stunden von Patrick1982 gelöst 5 / 60
alv_grid aktualisieren
vor 6 Stunden von Egzon gelöst 4 / 82

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 170