Typendeklaration mit integrierter Struktur

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

Typendeklaration mit integrierter Struktur

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Leute,

das klingt jetzt vielleicht etwas banal, aber ich will mir einen Type deklarieren, der eine integrierte Struktur besitzt und 2 zusätzliche felder.
Ich kenne jetzt den Weg:

Code: Alles auswählen.

TYPES: BEGIN OF ty_nach,
         nach      TYPE nach,
         vsztp_neu TYPE NA_VSZTP,
         vsztp_alt TYPE NA_VSZTP,
       END OF ty_nach.
Nun möchte ich aber nicht eine Struktur in der Struktur. Ich möchte direkt auf die Felder der integrierten Struktur zugreifen, also statt:
ls_nach-nach-knumh möchte ich direkt sagen ls_nach-knumh.

Wie muss meine TYPE-Deklaration dann aussehen? Muss ich mir einen Typen basteln der alle Felder der integrierten Struktur einzeln aufgelistet enthält?
Gruß,
der Matze

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



Re: Typendeklaration mit integrierter Struktur

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
hab ich, bin ich aber nicht draus schlau geworden. sonst würde ich hier nicht fragen ;)
Gruß,
der Matze

Re: Typendeklaration mit integrierter Struktur

Beitrag von Katsche (ForumUser / 11 / 0 / 1 ) »
Sollte dann so etwa aussehen:

Code: Alles auswählen.

TYPES: BEGIN OF gs_ty_nach.
        INCLUDE STRUCTURE mara.
TYPES:           nach      TYPE nach,
                 vsztp_neu TYPE na_vsztp,
                 vsztp_alt TYPE na_vsztp.
TYPES:  END OF gs_ty_nach.

Folgende Benutzer bedankten sich beim Autor Katsche für den Beitrag:
Thanatos82


Re: Typendeklaration mit integrierter Struktur

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Kleiner Verbesserungsvorschlag:

Code: Alles auswählen.

TYPES: BEGIN OF gs_ty_nach.
        INCLUDE TYPE mara AS mara.
TYPES:           nach      TYPE nach,
                 vsztp_neu TYPE na_vsztp,
                 vsztp_alt TYPE na_vsztp.
TYPES:  END OF gs_ty_nach.
STRUCTURE bezieht sich auf eine lokal im Programm sichtbare Struktur während man mit TYPE direkt auf das DDIC referenzieren kann.
Die Angabe von AS ermöglicht den Zugriff auf alle Felder der MARA Struktur ohne die zusätzlichen Felder aus "gs_ty_nach".
Man kann also sowohl mit "...-mara-matnr" als auch mit "...-matnr" auf daselbe Feld zugreifen. Man muss also nicht unbedingt MOVE-CORRESPONDING FIELDS verwenden um Daten aus der Tabelle MARA in die Struktur zu laden. Die Angaben von "...-mara" bei der "="-Zuweisung reicht aus.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Thanatos82

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

Re: Typendeklaration mit integrierter Struktur

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Danke euch zwei, nun ist es doch etwas durchsichtiger für mich.
ich werd mich dann mal ans testen begeben! :)
Gruß,
der Matze

Re: Typendeklaration mit integrierter Struktur

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
a-dead-trousers hat geschrieben: STRUCTURE bezieht sich auf eine lokal im Programm sichtbare Struktur während man mit TYPE direkt auf das DDIC referenzieren kann.
Hab ich irgendwas verpasst?
DAS ist mir neu. Seit wann bezieht sich STRUCTURE auf eine lokale Struktur?

Re: Typendeklaration mit integrierter Struktur

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Unit605 hat geschrieben:
a-dead-trousers hat geschrieben: STRUCTURE bezieht sich auf eine lokal im Programm sichtbare Struktur während man mit TYPE direkt auf das DDIC referenzieren kann.
Hab ich irgendwas verpasst?
DAS ist mir neu. Seit wann bezieht sich STRUCTURE auf eine lokale Struktur?
Jein. Für Klassen ist INCLUDE STRUCTURE tatsächlich so restriktiv wie von a-d-t beschrieben. Aber für stinknormale Programme kann man lt.Doku INCLUDE TYPE und INCLUDE STRUCTURE wohl synonym verwenden.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Typendeklaration mit integrierter Struktur

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
black_adept hat geschrieben:Jein. Für Klassen ist INCLUDE STRUCTURE tatsächlich so restriktiv wie von a-d-t beschrieben. Aber für stinknormale Programme kann man lt.Doku INCLUDE TYPE und INCLUDE STRUCTURE wohl synonym verwenden.
Soweit ich das aus der Hilfe verstanden habe (ich versuche das STRUCTURE Schlüsselwort nicht zu verwenden) kann man es dahingehend "synonym" verwenden, wenn man die entsprechenden Tabellen mittels TABLES eingebunden hat.
Weil ich eben sehr oft Klassen einsetzte und meine Datentypen zur Wiederverwendbarkeit im DDIC definiere, ist diese "programm lokale" Einschränkung für mich ein KO Kriterium. Daher will ich auch andere davon überzeugen, dass es so besser ist. :twisted:

lg ADT
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

Re: Typendeklaration mit integrierter Struktur

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
a-dead-trousers hat geschrieben:...
Soweit ich das aus der Hilfe verstanden habe (ich versuche das STRUCTURE Schlüsselwort nicht zu verwenden) kann man es dahingehend "synonym" verwenden, wenn man die entsprechenden Tabellen mittels TABLES eingebunden hat.
...
Nicht nötig.
SAP-Hilfe hat geschrieben:http://help.sap.com/abapdocu_70/de/ABAP ... UCTURE.htm
INCLUDE { {TYPE struc_type} | {STRUCTURE struc} }
[AS name [RENAMING WITH SUFFIX suffix]].
...

Hinweise
  • Außerhalb von ABAP Objects können für struc beim Zusatz STRUCTURE auch flache Strukturen, Datenbanktabellen oder Views des ABAP Dictionarys angegeben werden.
  • In mit CONSTANTS deklarierten konstanten Strukturen können mit INCLUDE keine Komponenten eingebunden werden, da diesen keine Startwerte zugewiesen werden könnten.
  • Bezüglich ihrer Ausrichtung verhalten sich mit INCLUDE eingebundene Strukturen wie Unterstrukturen, d.h. es können Ausrichtungslücken vor der ersten bzw. hinter der letzten Komponente auftreten, die nicht auftreten, wenn die Komponenten direkt deklariert werden.
Im Allgemeinen würde ich aber wie a-d-t zum Gebrauch von INCLUDE TYPE raten, da es im typischen Gebrauch einfach genereller ist als INCLUDE STRUCTURE.
Und nach meiner Erfahrung ergibt sich nur selten die Notwendigkeit auf INCLUDE STRUCTURE zurückzugreifen weil INCLUDE TYPE nicht möglich ist.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Typendeklaration mit integrierter Struktur

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
a-dead-trousers hat geschrieben: Weil ich eben sehr oft Klassen einsetzte und meine Datentypen zur Wiederverwendbarkeit im DDIC definiere, ist diese "programm lokale" Einschränkung für mich ein KO Kriterium. Daher will ich auch andere davon überzeugen, dass es so besser ist. :twisted:

lg ADT
Ja schon klar. Deine Lösungen sind immer die Besten.

Re: Typendeklaration mit integrierter Struktur

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Unit605 hat geschrieben:
a-dead-trousers hat geschrieben: Weil ich eben sehr oft Klassen einsetzte und meine Datentypen zur Wiederverwendbarkeit im DDIC definiere, ist diese "programm lokale" Einschränkung für mich ein KO Kriterium. Daher will ich auch andere davon überzeugen, dass es so besser ist. :twisted:
Ja schon klar. Deine Lösungen sind immer die Besten.
:P :P :P
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.
2922
Views
Typendeklaration von tiefen Strukturen
von debianfan » 24.05.2017 16:12 • Verfasst in ABAP Objects®
2
Antw.
473
Views
Typendeklaration mit includiertem anderen Type
von debianfan » 27.10.2021 09:46 • Verfasst in ABAP® für Anfänger
2
Antw.
1898
Views
Struktur als Kopie von vorhandener Struktur anlegen
von Marwin » 20.04.2005 15:29 • Verfasst in ABAP® Core
1
Antw.
575
Views
3
Antw.
1740
Views
Struktur
von swonny » 04.09.2008 17:16 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 5 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822