type table of noch aktuell?

Getting started ... Alles für einen gelungenen Start.
22 Beiträge • Seite 1 von 2 (current) Nächste
22 Beiträge Seite 1 von 2 (current) Nächste

type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
Hallo,

ich bin neu in Abap und wollte fragen ob die deklaration einer ineternen Tabelle so aktuell ist oder ob man das anderst machen sollte.

data it_lenum type table of /xxx/kri with header line.

LG

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


Re: type table of noch aktuell?

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Kopfzeilen sind böse. --> anders machen

Re: type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
Was spricht gegen Kopfzeilen?

Re: type table of noch aktuell?

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Moderne ABAP-Programmierung / Horst Keller

Re: type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
O.k. vielen Dank euch beiden!

Re: type table of noch aktuell?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
der Grund auf diese Anweisung zu verzichten ist, dass hierbei zwei gleichnamige Objekte angelegt werden zwischen denen man dann schwer unterscheiden kann. Siehe dazu auch
http://help.sap.com/saphelp_470/helpdat ... ontent.htm
Der optionale Zusatz WITH HEADER LINE deklariert zusätzlich zur eigentlichen internen Tabelle ein gleichnamiges Datenobjekt, das den Zeilentyp der internen Tabelle übernimmt.
...
Um Tabelle und Arbeitsbereich unterscheidbar zu machen, sollten deshalb interne Tabellen möglichst ohne Kopfzeilen angelegt werden.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: type table of noch aktuell?

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
kommt schon, es ist auch nicht falsch eben nur unschön. ich ab hier noch einige alte Sachen im System die ihren Dienst hervorragend verrichten wo auch mit with header line deklariert wurde. Meine Meinung : "Nicht der Weg ist das Ziel", aber das soll jeder handhaben wie er möchte. :D
<:: XING-Gruppe Tricktresor::>

Re: type table of noch aktuell?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
es hat ja auch keiner behauptet, dass es falsch ist. Die Anweisung WITH HEADER LINE ist früher sicherlich oft und gern verwendet worden. In Programmen die für uns vor 10 Jahren von Beratern geschrieben wurden stosse ich ständig drauf und bei manchen meiner Kollegen ist es so in Fleisch und Blut übergegangen, dass sie ihre Programme immer noch so schreiben. Wenn hier aber einer fragt, ob diese Vorgehensweise immer noch aktuell ist, so ist die Anwort definitiv "nein"!
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: type table of noch aktuell?

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
<Klugscheissermodus>

Code: Alles auswählen.

... type standard table of ... with default key.
Das wäre die korrekte und vollständige Definition einer Tabelle => Tabellenart + Schlüssel
Alles andere ergibt eine sog. generische Tabelle die z.b. nicht als Rückgabewert in ABAP-OO verwendet werden kann. Und WITH HEADER LINE ist in ABAP-OO sowieso nicht mehr erlaubt.
</Klugscheissermodus>

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: type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
Nochmal eine Frage zum THema Kopfzeile. Wenn Kopfzeilen nicht mehr verwendet werden sollen ist der Befehl move-corresponding auch nicht mehr zu gebrauchen oder?

Re: type table of noch aktuell?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
naja, Du kannst ja auch aus einem Workarea in einen anderen Workarea MOVE-CORRESPONDen, ich persönlich versuche den Befehl nicht anzuwenden, weil hier meiner Meinung nach die Übersichtlichkeit verloren geht. Zumindest in dem Fall, wenn nur einige Felder aus dem Workarea bewegt werden sollen. Die Zuweisung einzelner Felder dauert beim Schreiben zwei Minuten länger, lässt sich aber später deutlich besser nachzuvollziehen.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: type table of noch aktuell?

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Hallo Basler84,

gegen move-corresponding ist nichts einzuwenden. Im Gegensatz zu Alexander verwende ich das alle Nase lang, weil es meiner Meinung anch die Übersichtlichkeit erhöht. Und gerade wenn man mit dynamischen Strukturen arbeitet kann einem ein gezielt eingesetztes move-corresponding die Arbeit deutlich erleichtern.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: type table of noch aktuell?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
ich hatte mal ein Programm, welches von einem Berater geschreiben wurde. Ich durfte es mal debuggen und nach einem Fehler suchen, der Aufbau war aber so in der Art:

Code: Alles auswählen.

select * from mara where...
move-corresponding mara to wa_itab.

select * from marc where...
move-corresponding marc to wa_itab.

select * from lqua where...
move-corresponding lqua to wa_itab.

insert wa_itab into table gt_itab.
dabei haben der zweite und der dritte MOVE-CORRESPONDING zum Teil die Werte des ersten überschrieben. In einem Fall hat sich dabei der Wert in einem Feld geändert, was so nicht beabsichtigt war. Weiterhin sollten aus jeder Tabelle nur einige Felder abgegriffen werden, hier ist der Programmierer wahrscheinlich nur zu faul gewesen die Felder einzeln aufzuführen. Falls eine komplette Struktur bewegt werden soll, so ist der Befehl sicherlich ganz hilfreich.

Bzgl. der Aussage zu Performance-Einbußen gibt es einen Beitrag im SDN der das widerlegt: http://www.sdn.sap.com/irj/scn/go/porta ... 6738185608
Zuletzt geändert von Alexander D. am 24.04.2012 08:25, insgesamt 1-mal geändert.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: type table of noch aktuell?

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Alexander D. hat geschrieben:...ich hatte mal ein Programm...
Hallo Alexander,

nahezu jeder Befehl kann sinnvoll oder suboptimal verwendet werden. Das von dir gepostete Beispiel war wohl letzterer Fall. Aber mir ist sonst keine Möglichkeit bekannt namensgleiche Felder von einer Struktur in eine anderer zu schaufeln, es sei denn ich verwende die RTTI-Klassen. Und da scheint mir eine im Kernel implementierte Möglichkeit stets die bessere Wahl zu sein.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: type table of noch aktuell?

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Eeeeeeeeeeeexakt, black_adept.
MOVE-Corresponding kann allerdings auch per Entwicklungsrichtlinie verboten sein.
Ich nehme ebenfalls lieber separate MOVES da sie deutlicher sind.
Das ist dann im Grunde bereits eine Art "inline documentation"... :)
Interessant zum Thema "Mapping": Transaktion BDBS
http://tricktresor.de/content/index.php?navID=17&aID=40
Für EIN Programm sicherlich etwas überkanditelt, aber für ein häufig benötigtes MOVE-CORRESPONDING zwischen verschiedenen Strukturen vielleicht ganz interessant...

Vergleichbare Themen

1
Antw.
4874
Views
string table type in soli_tab
von heiko lutz » 25.05.2005 18:13 • Verfasst in ABAP® Core
0
Antw.
2214
Views
SE80 -> Klassenbibliothek und TYPE TABLE OF REF TO
von schmitzandreas » 27.07.2007 16:28 • Verfasst in ABAP Objects®
9
Antw.
3706
Views
Frage zu set_table_for_first_display bzw TYPE TABLE OF-Defis
von kkauerau » 11.01.2017 14:25 • Verfasst in ABAP® für Anfänger
16
Antw.
2641
Views
Spaltenzugriff über Field-Symbol Type Table
von JanR » 22.04.2021 15:29 • Verfasst in ABAP® für Anfänger
0
Antw.
1235
Views
SAP Access & Identity Management - noch aktuell?
von SaskuAc » 14.12.2017 11:54 • Verfasst in SAP - Allgemeines

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 518
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2150
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8745