dynamischer Methodenkopf / Datendeklaration

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

dynamischer Methodenkopf / Datendeklaration

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Hallo liebes Expertenteam,

ich suche eine Möglichkeit eine Methode wiederzuverwenden, deren Funktion aber die exakte und explizite Typisierung einer Struktur benötigt.
Ich möchte diese Methode für viele verschiedene Strukturen nutzen, das heißt der Code ist immer der gleiche, nur der Deklarationsteil würde sich ändern:

Variante 1:
Data: ls_mystruc type zst_my_struc1.

Code: Alles auswählen.


------------------------------------------------------

Variante 2:
Data: ls_mystruc type zst_my_struc2.

[CODE]


------------------------------------------------------

Variante n:
Data: ls_mystruc type zst_my_strucn.

[CODE]


usw. 

Ich möchte ungern den Code x-fach im System ablegen und Code-Redundanzen einführen die dann nur mühselig zu ändern sind. (X-Faches Copy & Paste, Gefahr von getrennter Weiterentwicklung usw. )

Hat jemand eine schöne Idee wie man das Problem elegant lösen kann? 
Eine RTTC Lösung habe ich bereits, wenn jemand noch eine "einfache" Idee hat gerne her damit.

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


Re: dynamischer Methodenkopf / Datendeklaration

Beitrag von black_adept (Top Expert / 4103 / 128 / 945 ) »
Arbeit statt "DATA" mit einem FIELD SYMBOLwelches du zur Laufzeit korrekt typisierst.

Code: Alles auswählen.

CREATE DATA lr_data type (typename).
ASSIGN lr_data->* to <fieldsymbol>.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: dynamischer Methodenkopf / Datendeklaration

Beitrag von a-dead-trousers (Top Expert / 4406 / 224 / 1184 ) »
Sofern die Felder deiner Strukturen immer gleich heißen, kannst du jene die dein Code benötigt in eine eigene Substruktur stecken und diese so mehrfach verwenden.
Deklaration:

Code: Alles auswählen.

types:
  begin of ts_common,
    feld1 type char10,
    feld2 type char10,
  end of ts_common.
types begin of ts_struct1.
  include type ts_common as common.
types:
    feld3 type char10,
  end of ts_struct1.
types begin of ts_struct2.
  include type ts_common as common.
types:
    feld4 type char10,
  end of ts_struct2.
Aufruf:

Code: Alles auswählen.

data: 
  ls_data1 type ts_struct1,
  ls_data2 type ts_struct2.

* Beispiel: Nur die "gemeinsamen" Felder kopieren
ls_data1-common = ls_data2-common.
Funktioniert übrigens auch als Feldsymbol:

Code: Alles auswählen.

field-symbol: <ls_common> type ts_common. 
assign ls_data1-common to <ls_common>.
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.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

4
Antw.
484
Views
Implizite Erweiterung - Datendeklaration im Rahmenprogramm
von Pfalz-Zauber » 13.04.2023 15:26 • Verfasst in ABAP® für Anfänger
13
Antw.
7849
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core
2
Antw.
2019
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von mark.thk » 12.12.2018 10:34 • Verfasst in ABAP Objects®
5
Antw.
4769
Views
Dynamischer Methodenaufruf mit dynamischer Tabelle
von Tommy Nightmare » 08.09.2017 13:23 • Verfasst in ABAP Objects®
1
Antw.
1844
Views
dynamischer Operator
von bliP! » 22.05.2006 14:24 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

selection-screen comment mit icon
vor einer Stunde von DeathAndPain 9 / 1114
ABAP - Mail so10 Text
vor 9 Stunden von retsch 1 / 32
Chat GPT - Erfahrungen?
vor 3 Tagen von DeathAndPain 33 / 6805

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

selection-screen comment mit icon
vor einer Stunde von DeathAndPain 9 / 1114
ABAP - Mail so10 Text
vor 9 Stunden von retsch 1 / 32
Chat GPT - Erfahrungen?
vor 3 Tagen von DeathAndPain 33 / 6805

Unbeantwortete Forenbeiträge

ABAP - Mail so10 Text
vor 9 Stunden von retsch 1 / 32
SD_PRINT_TERMS_OF_PAYMENT
vor 4 Tagen von Manfred K. 1 / 911