Interne Tabelle definieren

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

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

Interne Tabelle definieren

Beitrag von user112610 (ForumUser / 6 / 4 / 0 ) »
Hallo Zusammen,

wenn man eine interne Tabelle nur mit zwei Feldern definieren möchte, wie z.B. dem Buchungskreis und der Vertragsnummer, sodass auch die Ausgabe entsprechen aussieht, ginge das etwa mit einer Struktur bzw. mit TYPES, oder ist das der falsche Ansatz? LG

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


Re: Interne Tabelle definieren

Beitrag von sap_enthusiast (ForumUser / 95 / 25 / 23 ) »

Code: Alles auswählen.

types: begin of lty_row_struc_s,
         bukrs    type bukrs,
         contract type tb_rmaid,
       end of lty_row_struc_s.
types lty_standard_table_type type standard table of lty_row_struc_s with empty key.
types lty_sorted_table_type type sorted table of lty_row_struc_s with unique key primary_key components bukrs contract.
/

Folgende Benutzer bedankten sich beim Autor sap_enthusiast für den Beitrag:
user112610


Re: Interne Tabelle definieren

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Inhaltlich richtig. Bei diesem Beispiel werden aber die negativen Seiten der ungarischen Notation auf die Spitze getrieben. Wenn Du schon jeden Typ mit "lty" (was sicherlich für "local type" steht) anfangen lässt, warum haben sie dann alle hinten auch noch das Wort "type" im Namen? Das erinnert mich ein bisschen an "vorprogrammieren" ( = vorvorbestimmen), "aufoktroyieren" ( = aufauferlegen) oder an das gute, alte DDR-Wort "Volksdemokratie" ( = Volkvolksherrschaft).

Wenn eine interne Tabelle nur einen einzigen Schlüssel hat (wie es in der Praxis bei den allermeisten Tabellen der Fall ist), dann würde ich ihm auch keinen Namen geben. Das bringt keine Punkte und bläht den Code nur zu Lasten der Übersichtlichkeit auf. Statt

Code: Alles auswählen.

... type sorted table of lty_row_struc_s with unique key primary_key components bukrs contract.
würde es auch einfach

Code: Alles auswählen.

type sorted table of lty_row_struc_s with unique key bukrs contract.
tun. ABAP verwendet automatisch an allen relevanten Stellen den Primärschlüssel, wenn kein anderer explizit angegeben ist.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
user112610


Re: Interne Tabelle definieren

Beitrag von sap_enthusiast (ForumUser / 95 / 25 / 23 ) »
DeathAndPain hat geschrieben:
23.01.2023 19:39
Inhaltlich richtig. Bei diesem Beispiel werden aber die negativen Seiten der ungarischen Notation auf die Spitze getrieben. Wenn Du schon jeden Typ mit "lty" (was sicherlich für "local type" steht) anfangen lässt, warum haben sie dann alle hinten auch noch das Wort "type" im Namen? Das erinnert mich ein bisschen an "vorprogrammieren" ( = vorvorbestimmen), "aufoktroyieren" ( = aufauferlegen) oder an das gute, alte DDR-Wort "Volksdemokratie" ( = Volkvolksherrschaft).

Wenn eine interne Tabelle nur einen einzigen Schlüssel hat (wie es in der Praxis bei den allermeisten Tabellen der Fall ist), dann würde ich ihm auch keinen Namen geben. Das bringt keine Punkte und bläht den Code nur zu Lasten der Übersichtlichkeit auf. Statt

Code: Alles auswählen.

... type sorted table of lty_row_struc_s with unique key primary_key components bukrs contract.
würde es auch einfach

Code: Alles auswählen.

type sorted table of lty_row_struc_s with unique key bukrs contract.
tun. ABAP verwendet automatisch an allen relevanten Stellen den Primärschlüssel, wenn kein anderer explizit angegeben ist.
Ich muss zugeben, die Antwort in 2 Minuten rausgeballert zu haben, ohne jetzt groß auf bestimmte Konventionen zu achten. Aber ja zusätzlich "type" in die Bezeichnung nach lty aufzunehmen ist überflüssig.
Andererseits wenn die Kunden ungarische Notation in die Richtlinie angeben kann man nicht wirklich was anderes tun.

Re: Interne Tabelle definieren

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Na ja, "type" noch im Feldnamen auszuschreiben, ist nicht Teil der ungarischen Notation. Davon abgesehen wird "ungarische Notation" sehr unterschiedlich ausgelegt. Meist sehe ich "tty_", wenn ein Tabellentyp gemeint ist. Wenn Du zusätzlich noch angeben willst, dass er lokal ist (was ich bei Typdefinitionen doppelt irrelevant finde, weil es bei der Verwendung der Typen völlig egal ist, ob sie lokal oder global sind, jedenfalls wenn wir den ohnehin möglichst zu vermeidenden Fall der Verschattung ausklammern), dann würdest Du "ltty_" schreiben.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
7264
Views
interne Tabelle definieren
von Gast » 16.09.2005 11:40 • Verfasst in ABAP® für Anfänger
1
Antw.
1176
Views
interne Tabelle Selection definieren
von frany*89* » 16.08.2011 04:42 • Verfasst in ABAP® für Anfänger
3
Antw.
5172
Views
Interne Tabelle in Class Builder definieren
von mamaierhofer » 20.03.2007 16:14 • Verfasst in ABAP Objects®
4
Antw.
1136
Views
1
Antw.
1873
Views
int. Tabelle definieren
von MarkusW » 21.02.2007 17:18 • 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

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 3 / 1484
Regex in where
vor 10 Stunden von tar 6 / 153

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

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 3 / 1484
Regex in where
vor 10 Stunden von tar 6 / 153

Unbeantwortete Forenbeiträge

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