Code: Alles auswählen.
komkbv3-vkorg ne '10' and
( komkbv3-vkorg eq '20' and komkbv3-vtweg ne '02' )
and komkbv3-vkorg ne '30'
Code: Alles auswählen.
if komkbv3-vkorg eq '20' and komkbv3-vtweg ne '02'.
...
elseif komkbv3-vkorg ne '10' and komkbv3-vkorg ne '30'.
...
endif.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
anfaenger
Code: Alles auswählen.
IF a AND b
OR c AND ( d OR e ).
...
ENDIF.
Code: Alles auswählen.
if komkbv3-vkorg eq '20' and komkbv3-vtweg ne '02'
or komkbv3-vkorg ne '10' and komkbv3-vkorg ne '30'.
...
endif.
Hier möchte ich -ausnahmsweise- mal Ralf unterstützen. Der Ansatz mit dem absatzbasierten Gruppieren funktioniert leider nur bei hinreichend trivialen booleschen Ausdrücken und kurzen Variablennamen. Wenn das aber ein wenig komplexer wird, so dass die diversen AND-Teile nicht mehr auf eine Zeile passen ist eine saubere Klammerung nicht zu verachten, auch wenn sie überflüssig ist. Und wehe wenn SAP mal irgendwann eine neue Pretty-Printer-Einstellung in der GUI oder Eclipse erfindet, die diese Ausdrücke anders als geplant umbricht.DeathAndPain hat geschrieben:Da das "a AND b" auch nochmal einzuklammern bringt in meinen Augen keine Punkte, auch nicht hinsichtlich der Lesbarkeit. Man muss nur darauf achten, seine Absätze so zu setzen, dass sie mit der Bindungsstärke der verwendeten Schlüsselwörter übereinstimmen, damit die durch die Absätze erzeugten optischen Assoziationen richtig sind.
Kannst Du dafür ein Beispiel nennen? In meinen Augen sollte sich alles mit Absätzen gliedern lassen. Wenn alle Stricke reißen, würde ich mehrzeilige Blöcke schaffen und dazwischen eine Leerzeile packen. Oder man entschließt sich sogar, das Logikgewirr auf mehrere IF-Statements aufzuteilen, um es zu entflechten, damit das nachvollziehbar und damit wartbar bleibt.Wenn das aber ein wenig komplexer wird, so dass die diversen AND-Teile nicht mehr auf eine Zeile passen ist eine saubere Klammerung nicht zu verachten
Mein Pretty Printer ist oldschool eingestellt. Der macht nicht mehr, als alles großzuschreiben, so wie das zu 3.1-Zeiten obligatorisch war. An der Art und Weise, wie der "normale" Pretty Printer umbricht, habe ich sowieso etwas auszusetzen. Bei Befehlen wie CALL FUNCTION verteilt er mir den Befehl auf zu viele Zeilen, was in meinen Augen keinen Lesbarkeitsgewinn darstellt. So bin ich der Meinung, dass der erste Parameter auf dieselbe Zeile gehört wie das Schlüsselwort EXPORTING (und alle weiteren dann in Folgezeilen, aber vertikal an dem ersten ausgerichtet). Das ist wunderbar lesbar, ohne dass der Befehl bildschirmfüllend wird. Auch bei CASE-Blöcken mit nur kurzen, übersichtlichen Befehlen hinter jedem Fall packe ich WHEN und den Befehl auf dieselbe Zeile und halte damit den ganzen CASE-Block kurz und übersichtlich.Und wehe wenn SAP mal irgendwann eine neue Pretty-Printer-Einstellung in der GUI oder Eclipse erfindet, die diese Ausdrücke anders als geplant umbricht.
Oder was viele Leute nicht kennen, aber fast in allen Editoren funktioniert (sogar in Word) ist das blockweise (bzw. spaltentreue) Ausschneiden bzw. kopieren mit der ALT-Taste. Also ALT-Taste drücken, dann mit der Maustaste den gewünschten Bereich markieren und kopieren oder Ausschneiden und dann an gewünschter Stelle einfügen. Beim Einfügen muss man dann aber darauf achten, dass genügend Platz da ist, sonst wird überschrieben. Kann man auch zum Vertauschen von Spalten verwenden und vieles mehr.Das schmieren der Leertaste kannst Dir aber doch sparen wenn die STRG Taste gedrückt haltest und mit der Maus dann vor Deinem z.b. 30 Zeilen Code nach unten markierst und dann mit der Tab Taste alle 30 Zeilen auf einmal einrückst?
Wo geht das? In der SE38? In Eclipse? Normal müsste der Tab doch die Markierung ersetzen?!? Und wieviel rückt der TAB dann ein? Üblich sind ja 2 Spaces (so mache ich es auch immer). Stattdessen um ein Tabzeichen einrücken fände ich unsauber. Oder macht die SE38 oder Eclipse das so, dass er den Tab dann zeilenweise durch zwei Spaces ersetzt? Wäre natürlich ein nettes Feature, kann ich aber grad nicht ausprobieren, da ich im Moment nicht auf Arbeit bin.Romaniac hat geschrieben:Das schmieren der Leertaste kannst Dir aber doch sparen wenn die STRG Taste gedrückt haltest und mit der Maus dann vor Deinem z.b. 30 Zeilen Code nach unten markierst und dann mit der Tab Taste alle 30 Zeilen auf einmal einrückst?