Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Unit605
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Unit605
Folgende Benutzer bedankten sich beim Autor Frank Dittrich für den Beitrag (Insgesamt 3):
Unit605 • Thanatos82 • a-dead-trousers
Das sehe ich etwas anders - ist aber wohl auch eher eine Philosophiefrage.Frank Dittrich hat geschrieben:...
Insofern sollte in den meisten Kundensystemen der Normalfall sein, dass "nicht erweiterbar" gewählt wird. (Dann gibt es auch weniger Warnungen bei der erweiterten Syntaxprüfung.)
Nur wenn man per .INCLUDE z.B. eine SAP-Standard-Struktur einbindet, die erweiterbar ist, kann man nicht wählen, dass die eigene Struktur nicht erweiterbar ist.
Dann würde ich unter den erlaubten Erweiterungskategorien die auswählen, die mit den meisten Einschränkungen verbunden ist.
...
black_adept hat geschrieben:... in der bitteren Erkenntnis, dass die Dokumentation, die auf diese Besonderheit hinweist bestimmt im Laufe der Jahre verloren gehen wird oder schon gegangen ist, wenn jemand die Aufgabe bekommt die nächsten Zusatzfelder einzubauen.
Du versiehst die Erweiterungskategorie also mit einer impliziten Bedeutung, die sie eigentlich nicht hat.Damit das sinnvoll ist, müssten sich mehr oder weniger alle Entwickler so verhalten,black_adept hat geschrieben:Das sehe ich etwas anders - ist aber wohl auch eher eine Philosophiefrage.Frank Dittrich hat geschrieben:...
Insofern sollte in den meisten Kundensystemen der Normalfall sein, dass "nicht erweiterbar" gewählt wird. (Dann gibt es auch weniger Warnungen bei der erweiterten Syntaxprüfung.)
Nur wenn man per .INCLUDE z.B. eine SAP-Standard-Struktur einbindet, die erweiterbar ist, kann man nicht wählen, dass die eigene Struktur nicht erweiterbar ist.
Dann würde ich unter den erlaubten Erweiterungskategorien die auswählen, die mit den meisten Einschränkungen verbunden ist.
...
Das mag ich eben nicht so, u.a. wegen eigentlich unnötiger Warnungen in der erweiterten Syntaxprüfung. Und dann ale solche Warnungen per Kommentar oder Pragma auszublenden, ist eigenlich auch nicht Sinn der Sache.Für Kundensysteme (in denen ich mich eben meist tummele) nehme ich nicht die minimale sondern die maximale Erweiterungskategorie.
1. kannst Du Dich darüber täuschen, was Dein Programm verkraftet, es sei denn, Du testest immer auch die Erweiterung der Tabelle um Komponenten, die eigentlich bisher niemand braucht.Mein Beweggrund hier ist weniger die Syntaxprüfung sondern die Möglichkeit einem Nachfolger die Möglichkeit an die Hand zu geben schon an der Erweiterungskategorie zu sehen, ob zusätzliche Felder hier erwünscht sind oder nicht.
Beispiel1 : Es wird ein Report benötigt mit irgendwelchen Spezifikationen und einer Grid-Ausgabe. Für die Grid-Ausgabe lege ich häufig eine Struktur an. Da es aber häufig vorkommt, dass ein Report aufgebohrt werden muss gebe ich dann eben die Erweiterungskategorie an, die das Programm noch verkraftet.
Müsste dann ein nicht Zeichenartiges Fels nicht während des Tests zu einem Laufzeitfehler führen?Beispiel 2: Der Materialstamm wurde schon um einige Felder erweitert und die Funktionalität um diese Zusatzfelder auch über die Massenpflege ( MM17 oder MASS ) verändern zu können wurde auch ausprogrammiert. Hier wurde auch eine Struktur benötigt, die feldweise namensgleich mit den massenpflegbaren Zusatzfeldern der MARA ist, aber lediglich aus CHAR-Feldern bestehen darf. Und um eben genau dies zu dokumentieren verwende ich dann halt wieder die Erweiterungskategorie (Hier also dann CHAR-erweiterbar) in der bitteren Erkenntnis, dass die Dokumentation, die auf diese Besonderheit hinweist bestimmt im Laufe der Jahre verloren gehen wird oder schon gegangen ist, wenn jemand die Aufgabe bekommt die nächsten Zusatzfelder einzubauen.
Ich sehe es so wie Stefan und bin sehr wohl der Meinung, dass die Einordnung der Erweiterungskategorie sehr wohl diese Bedeutung hat: Nämlich zu dokumentieren, ob und um welche Felder an meine Struktur/ Tabelle erweitert werden darf.Frank Dittrich hat geschrieben: Du versiehst die Erweiterungskategorie also mit einer impliziten Bedeutung, die sie eigentlich nicht hat.
Ich dachte erst, es liegt daran, weil ich die Struktur noch nicht freigegeben hatte, aber auch nach Freigabe erscheint diese Meldung.Tabellenaktivierer hat geschrieben: Aktuelle Erweiterungskategorie 'erweiterbar u. zeichenartig' ist falsch
Es können folgende Erweiterungskategorien gewählt werden:
'nicht erweiterbar' ,'erweiterbar u. numerisch o. zeichenartig','beliebig erweiterbar'
Klar, weil das was du in dem Fall gemacht hast, ja eine "Änderung" und keine "Erweiterung ist".ewx hat geschrieben:Lustigerweise liefert das Aktivierungsprotokoll nach dem Hinzufügen eines Integer-Feldes zu einer solchen Struktur nicht den Fehler: "Achtung: Struktur darf nur um zeichenartige Felder erweitert werden", sondern:Ich dachte erst, es liegt daran, weil ich die Struktur noch nicht freigegeben hatte, aber auch nach Freigabe erscheint diese Meldung.Tabellenaktivierer hat geschrieben: Aktuelle Erweiterungskategorie 'erweiterbar u. zeichenartig' ist falsch
Es können folgende Erweiterungskategorien gewählt werden:
'nicht erweiterbar' ,'erweiterbar u. numerisch o. zeichenartig','beliebig erweiterbar'
Ja, da hast du Recht. Ich hatte im Kopf, dass das auch für Änderungen galt. Insofern macht das von Frank auch Sinn, wenn er meint, dass es diese "implizite Bedeutung" nicht gibt.a-dead-trousers hat geschrieben: Klar, weil das was du in dem Fall gemacht hast, ja eine "Änderung" und keine "Erweiterung ist".
Durch die Änderung passt die zuvor ausgewählte Erweiterungskategorie nicht mehr (da ja ein Integer hinzugekommen ist).
Wenn du stattdessen ein APPEND angelegt hättest, wäre eine Fehlermeldung gekommen und du hättest es nicht aktivieren können.