Kopfzeile wird doppelt angezeigt.

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

Kopfzeile wird doppelt angezeigt.

Beitrag von Bright4.5 (Specialist / 265 / 21 / 1 ) »
Hallo,

ich habe ein Problem mit der Ausgabe bei der Kopzeile mit ALV-Grid. Ich habe einen Feldkatalog selbst erstellt für eine Tabelle, die ich mit ALV-Grid ausgeben möchte. Wenn ich dann allerdings die Kopfzeile programmier und mir anzeigen lassen und nun z.B. das Fenster verkleinere und dann wieder vergrößere, verdoppelt sich der Text. Also die Zeile in der Kopfzeile verdoppelt sich jedes Mal, wenn ich das Anzeigefenster verkleinere und dann wieder vergrößere. Echt komisch.... Weiß jemand was das sein könnte und wie das gelöst werden kann?

Die Kopfzeile programmier ich wie folgt:

FORM do_top_of_page.
DATA: ls_line TYPE slis_listheader,
lt_top_of_page TYPE TABLE OF slis_listheader.

* Listenüberschrift: Typ H
CLEAR ls_line.
ls_line-typ = 'H'.
* LS_LINE-KEY: not used for this type
ls_line-info = 'Na'.
APPEND ls_line TO lt_top_of_page.
* Kopfinfo: Typ S
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = 'wie'.
ls_line-info = 'gehts'.
APPEND ls_line TO lt_top_of_page.
* Aktionsinfo: Typ A
CLEAR ls_line.
ls_line-typ = 'A'.
* LS_LINE-KEY: not used for this type
ls_line-info = 'so?'.
APPEND ls_line TO lt_top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lt_top_of_page.

ENDFORM.

Vielen Dank im Voraus.

Grüße

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


Re: Kopfzeile wird doppelt angezeigt.

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Hi.

Das klingt danach, dass beim PAI/PBO auch das TOP-OF-PAGE des ALV-Grids erneut aufgerufen wird.
Am einfachsten lässt sich das umgehen, wenn du mit einer globalen Variable verhinderst, dass dein Code mehrmals aufgerufen wird.

lg ADT

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

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: Kopfzeile wird doppelt angezeigt.

Beitrag von Bright4.5 (Specialist / 265 / 21 / 1 ) »
Hi,

vielen Dank schon mal :)

Ich bin noch ziemlicher Anfänger.

Könntest du mir vielleicht ein Beispiel geben, wie ich das am besten mache?

Vielen Dank im Voraus.

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Ganz am Anfang deines Programms (unter dem Schlüsselwort PROGRAM oder REPORT bzw. im TOP-INCLUDE o.Ä.):

Code: Alles auswählen.

DATA: gd_top_of_page TYPE abap_bool.
Am Beginn deiner Form-Routine:

Code: Alles auswählen.

IF gd_top_of_page EQ abap_true.
  RETURN.
ENDIF.
Am Ende deiner Form-Routine:

Code: Alles auswählen.

gd_top_of_page = abap_true.
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: Kopfzeile wird doppelt angezeigt.

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
a-dead-trousers hat geschrieben:Am Beginn deiner Form-Routine:

Code: Alles auswählen.

IF gd_top_of_page EQ abap_true.
  RETURN.
ENDIF.
Oder kürzer:

Code: Alles auswählen.

CHECK gd_top_of_page EQ abap_false.
;-)

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Bitte hör mit mit dem Sch... CHECK auf :x
Wenn man neu ist, sollte man sich den Mist nicht auch noch angewöhnen.
Ein bedingter Abbruch, der abhängig vom Context (LOOP, FORM, METHOD usw.) ist. Wuähhh!

Ist RETURN schon nicht schön, aber wenigsten weiß man da wohin es als nächstes geht. Nämlich zum Ende der aktuellen Routine.

EDIT:
Okay, ich glaub ich muss meine Abneigung noch etwas besser begründen. :P
Wir haben *einige* uralte, rießige (+10.000 Zeilen) Programme im Einsatz und da bringen uns die dort verwendeten CHECKs fast zum verzweifeln.
Selbst beim Refactoring tut man sich damit schwer, weil man so viele Sprünge im "Spaghetticode" analysieren muss, dass man dabei graue Haare kriegt.

In diesem Sinne wäre am Schönsten:

Code: Alles auswählen.

IF gd_top_of_page NE abap_true.
* Hier die Verarbeitung machen die nur einmal ausgeführt werden soll.
  gd_top_of_page = abap_true.
ENDIF.

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

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: Kopfzeile wird doppelt angezeigt.

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Ich halte das für Ansichtssache und bin ein ganz großer Fan des CHECK-Befehls, der nach meiner Überzeugung den Code in den allermeisten Fällen besser lesbar macht. Er ist ja von der SAP auch nicht als deprecated eingestuft. Natürlich muss man wissen, was er bedeutet. Aber wer die ABAP-Befehle nicht kennt, kann nicht ABAP programmieren. Jedenfalls gilt das für grundlegende Befehle, zu denen ich den CHECK allemal rechne.

Wenn ich mir überlege, was durch OO von ABAP-Programmierern für ein geistiges Abstraktionsvermögen gefordert wird, dann finde ich es geradezu lächerlich, sich darüber zu beklagen, dass man bei CHECK und EXIT hinschauen muss, ob man sich in einer Schleife befindet oder nicht.

Ich würde den CHECK vielleicht nicht unbedingt in unklaren Kontexten verwenden. Innerhalb von LOOP-Schleifen überschaubarer Länge halte ich ihn aber ebenso für in Ordnung wie in Unterprogrammen, die entweder so klein sind, dass man sie mühelos überblicken kann, oder bei denen der CHECK so nahe am Anfang der Routine steht, dass beim Lesen keine Zweifel über seine Wirkung entstehen können. Dieser Thread hier kann hier als Paradebeispiel dienen: Wenn der CHECK der erste Befehl einer FORM-Routine ist, dann besteht nicht die mindeste Unklarheit darüber, was er bewirkt. Da ist ein sperriges IF-ENDIF-Konstrukt allemal unübersichtlicher zu lesen.

Ist die FORM-Routine länger und enthält vielleicht auch noch ausgedehnte Schleifen, dann wäre ich mit CHECK und seinem Schwesterbefehl EXIT auch vorsichtig, weil sich dann nicht auf den ersten Blick erschließt, ob man sich in einer Schleife befindet oder nicht (und nur davon hängt seine Wirkung ja ab). Aber selbst dann kann man ihn nutzen, wenn er dicht am Anfang der Schleife steht, so dass man den LOOP/WHILE/whatever-Befehl und den CHECK gleichzeitig im Blick hat. Ich ergänze CHECKs und EXITs auch gerne um eine Kommentarbemerkung, die die Funktion an der jeweiligen Stelle verdeutlicht. Beim EXIT reicht dafür ein Bezug auf den betreffenden Block, z.B.

Code: Alles auswählen.

EXIT. " LOOP
Dann ist das perfekt lesbar und verständlich.
Wir haben *einige* uralte, rießige (+10.000 Zeilen) Programme im Einsatz
Viele Zeilen zu haben ist erst mal kein Drama, solange sich die Programmierer an die klassischen Grundsätze strukturierter Programmierung gehalten haben. Die besagen, dass man eben keinen schlauchförmigen Spaghetticode schreiben soll, sondern seinen Quellcode möglichst fein in aussagekräftig benamte Unterprogramme gliedern soll. Wenn die einzelne Formroutine eine klar definierte Schnittstelle, optimalerweise sogar noch eine kurze Funktionsbeschreibung im Kopfkommentar hat (ich weiß, das machen die wenigsten) und ihre Länge nicht aus dem Ruder läuft, dann mag der Gesamtcode gerne 30.000 Zeilen haben. Den kann man dann vielleicht auf ein paar Includes aufteilen, damit der Scrollbalken länger und weniger empfindlich wird, aber das Programm bleibt dann gut wartbar. Sind einzelne Formroutinen zu lang, dann ist das ein Zeichen dafür, dass sich ihr Schöpfer vor einer Untergliederung in Teil-Unterprogramme gedrückt hat, die dann angezeigt gewesen wäre.

Die Schuld für Schlamperei in diesen Bereichen dem CHECK-Befehl zuzuschieben finde ich aber in höchstem Maße unfair. Wenn bei eurem Altcode die Programmierer den Code sequenziell runtergeschrieben haben und in ihren wenigen Form-Routinen üppig globale Variablen benutzen, so dass man nicht weiß, was reingeht, was rausgeht und woher das darin Befindliche seinen Wert hat, am besten noch unter Nutzung des guten ABAP Memory, dann ist das in der Tat schlecht verständlich, hat aber mit dem CHECK nichts zu tun.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag (Insgesamt 2):
ewxblack_adept


Re: Kopfzeile wird doppelt angezeigt.

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
DeathAndPain hat geschrieben:Die Schuld für Schlamperei in diesen Bereichen dem CHECK-Befehl zuzuschieben finde ich aber in höchstem Maße unfair.
Ich geb die Schuld ja nicht dem CHECK an sich, sondern dem Programmierparadigma (Spaghetticode) das dieser Befehl (und auch andere wie EXIT und RETURN) begünstigt.
Wie du richtig sagst, gibt es durchaus Anwendungsbeispiele in denen der Befehl sogar Sinn macht. Zum Beispiel in LOOPs wo man nach der ersten Fundstelle nicht mehr weiterzusuchen braucht oder eben in kleinen(!) Methoden bei denen die Weiterverarbeitung bei einem fehlerhaften Parameter nicht mehr sinnvoll ist (obwohl man da eigentlich eher eine Exception auslösen sollte, aber das ist ein anderes Thema)
ABER
Gegeben sei z.B. eine große Schleife und der Code darin hat sich über die Jahre (Jahrzente?) sukzessive erweitert. Es werden darin CHECKs, CONTINUES usw. verwendet und diese Schleife soll nun einem Refactoring unterzogen werden, weil z.B. ein Codeabschnitt darin augenscheinlich mehrfach vorkommt und daher in einer Subroutine besser aufgehoben wäre. Viel Spass, hier die Abhängigkeiten zwischen den Sprüngen zu ermitteln.
Natürlich hätte man in einer idealen Welt bei jeder Erweiterung der Schleife darauf achten können, solche Fallstricken zu vermeiden bzw. gleich von Anfang an modular zu programmieren. Aber wo gibt es schon eine ideale Welt im Umfeld der SAP? Neue Mitarbeiter bedeuten meistens auch neue Programmierstile. Was früher einmal state-of-the-art war muss es heute nicht mehr sein. Und seien wir mal ehrlich, selbst in der SAP-Basis gibt es noch so einiges an "Legacycode" den sich kaum mehr jedmand anzugreifen traut.

Mir geht es hier ja gerade darum diese "ideale" Welt entstehen zu lassen:
Lasst den CHECK weg und wenn man schon dabei ist, auch gleich das CONTINUE, das EXIT und den RETURN.
Zusatz: Wenn es sich auch anders lösen lässt.

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

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: Kopfzeile wird doppelt angezeigt.

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Wie du richtig sagst, gibt es durchaus Anwendungsbeispiele in denen der Befehl sogar Sinn macht. Zum Beispiel in LOOPs wo man nach der ersten Fundstelle nicht mehr weiterzusuchen braucht oder eben in kleinen(!) Methoden bei denen die Weiterverarbeitung bei einem fehlerhaften Parameter nicht mehr sinnvoll ist
Und den Fall haben wir doch hier. Wenn der erste Befehl der Form (oder Methode) ein CHECK ist, dann ist es doch einerlei, wieviel Code dahinter noch kommt; dann ist das auf jeden Fall völlig problemlos verständlich, was da passiert.

In meinen Augen wirfst Du im übrigen Sachen durcheinander, die nicht zusammengehören: Im Gegensatz zu CHECK und EXIT gehört der CONTINUE-Befehl nicht zu den Befehlen, deren Nutzung die SAP nur eingeschränkt empfiehlt. Die Bedeutung von CONTINUE ist auch ebensowenig kontextabhängig wie die von ENDLOOP. Wenn Schleifen unübersichtlich lang werden, dann muss man ihren Inhalt in Unterprogramme gliedern. Das nicht zu tun ist der Fehler, nicht CHECK oder CONTINUE! Sich stattdessen auf diese Befehle zu kaprizieren halte ich für einen Denkfehler.

Wenn Du den Inhalt Deiner 300 Zeilen-Schleife ordentlich modularisiert hast, dann steht da an Ende noch:

Code: Alles auswählen.

LOOP at xyz ASSIGNING FIELD-SYMBOL(<xyz>).
  PERFORM form1 USING <xyz>.
  CHECK sy-subrc = 0.

  PERFORM form2 USING <xyz>.
  CHECK <xyz>-whatever > 200.

  PERFORM form3 USING <xyz>.
ENDLOOP.
Und da kann mir keiner sagen, dass das nicht gut lesbar und verständlich wäre.

Davon abgesehen hast Du hier ja postuliert, statt CHECK ein IF-ENDIF-Konstrukt zu verwenden. Im Sinne Deiner eigenen Argumentation kommst Du damit aber vom Regen in die Traufe, denn in der Schleife wird aus CHECK dann IF-CONTINUE-ENDIF, was länger, aber nicht besser ist (auch wenn der CONTINUE deutlich macht, dass wir uns in einer Schleife befinden). Oder in diesem Fall hier IF-RETURN-ENDIF. Den RETURN-Befehl mag ich zwar auch, aber letztlich ist er das CHECK- oder EXIT-Gegenstück zum CONTINUE-Befehl, nur für den anderen Fall (nämlich dass man sich nicht in einer Schleife befindet). (Na gut, ein kleines bisschen mehr ist er schon, da man sich damit auch direkt aus einer Schleife verabschieden kann.)

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Wenn ich Code von Anfang an selber schreiben kann, ja, dann schaut er so aus wie in deinem Beispiel. :up:
Aber leider, leider musste ich, wie R/3 entwickelt wurde, noch die Schulbank drücken. :down:
Ich mag die CHECKs und CONTINUEs einfach nicht, weil sie mir schon viel zu oft Hirnkrämpfe verursacht haben.
Die EXITs verwende ich notgedrungen nur um performant Schleifen zu verlassen, solange es kein READ TABLE mit CP (Contains Pattern) gibt.
Die RETURNs verwende ich nur bei Parameterprüfungen um schnell eine Methode zu verlassen und mir die Einrückungen zu sparen.

P.S.:
Ein Vorteil eines IF-ENDIF gegenüber einem CHECK oder CONTINUE im Sinne der Lesbarkeit ist mit gerade eingefallen. Bei einem Doppelklick im Editor auf das IF lande ich beim ENDIF. Mit ALT+Doppelklick sogar bei eventuell vorhandenen ELSE[IF]s. Und außerdem lassen sich diese Blöcke mit Code-Folding wegblenden. Muss ich also Legacy-Code durchforsten muss und ich stelle fest, der IF-Block wird bei meiner Problemstellung gar nicht durchlaufen, schwupps, weg damit. Bei einem CHECK oder CONTINUE muss man da oft mehr Hirnschmalz reinstecken um zu erkennen wie sich dieser Befehl auf den Gesamtlauf auswirkt.

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

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: Kopfzeile wird doppelt angezeigt.

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Die EXITs verwende ich notgedrungen nur um performant Schleifen zu verlassen, solange es kein READ TABLE mit CP (Contains Pattern) gibt.
Wenn das der einzige Fall ist, dann würde ich gerne mal eine DO-Schleife ohne TIMES-Angabe von Dir sehen. EXIT und RETURN sind da die einzigen Möglichkeiten zu verhindern, dass man in einer Endlosschleife endet. ;-) (wenn man mal von radikalen Lösungen wie LEAVE TO SCREEN '0' oder MESSAGE TYPE 'A' absieht) Aber auch bei WHILE verwende ich EXIT gerne mal, wenn ich einen Absprung jenseits der regulären WHILE-Bedingung brauche.

Ich bin aber auch der Meinung, dass ein READ TABLE (alternativ die entsprechende 7.40-Syntax) mit anderen Bedingungen als nur Gleichheit das größte Loch ist, das ABAP derzeit zu bieten hat. Schade, dass sie das im Rahmen von 7.40 nicht geschlossen, sondern im Gegenteil dieselbe Beschränkung auch wieder in die neue Syntax eingebaut haben. Es hätte sich doch gut gelesen, wenn man hätte schreiben können:

ergebnis = meinetabelle[ spalte_a > 1 ].

Klar kriegt man damit ggf. nur die erste Fundstelle, aber a) ist das bei Prüfung auf Gleichheit auch nicht anders und b) ist das häufig gut genug, oder man weiß sogar aufgrund von Konsistenzkriterien, dass es mehrere Fundstellen gar nicht geben kann. Dass man dafür immer eine sperrige LOOP-Schleife aufmachen muss, in der ggf. nicht mehr als ein EXIT-Kommando drinsteht, nervt.
Ein Vorteil eines IF-ENDIF gegenüber einem CHECK oder CONTINUE im Sinne der Lesbarkeit ist mit gerade eingefallen. Bei einem Doppelklick im Editor auf das IF lande ich beim ENDIF. Mit ALT+Doppelklick sogar bei eventuell vorhandenen ELSE[IF]s. Und außerdem lassen sich diese Blöcke mit Code-Folding wegblenden.
Damit löst Du aber nur ein Problem, dass Du beim CHECK gar nicht erst hast. Ein IF-RETURN-ENDIF-Block ist sperrige drei Zeilen lang, die man damit auf eine Zeile verdichten kann. EIn CHECK hat von Hause aus nur eine Zeile, und da steht die volle Information drin, ohne dass man es nötig hätte, der Übersichtlichkeit halber was wegzublenden. :P
Bei einem CHECK oder CONTINUE muss man da oft mehr Hirnschmalz reinstecken um zu erkennen wie sich dieser Befehl auf den Gesamtlauf auswirkt.
Das nehme ich anders wahr als Du. Wenn ich in einem LOOP einen Fall feststelle, bei dem ich die aktuelle Tabellenzeile nicht weiter bearbeiten muss, dann finde ich ein CONTINUE für den Leser bedeutend plakativer, als wenn ich den ganzen Rest des LOOPs in einen IF-ENDIF-Block verpacke und der Leser sich erst durch probehalbes Einklappen davon überzeugen muss, dass nach dem IF die Schleife endet und da nichts mehr passiert. Und wenn Du dann noch mehrere davon hast, dann erzeugt jeder davon eine weitere Einrückung, so dass man in der selbst heute noch schmalspurigen SE38 oder gar im Debugger kaum noch was sieht, weil der halbe Code rechts vom sichtbaren Fenster steht. Hohe Einrückungstiefen wirken schon optisch abschreckend auf den Leser, da sie eine hohe Komplexität suggerieren, die in diesem Fall aber gar nicht vorhanden ist. Es gibt nur halt innerhalb der Schleife einige Bedingungen, bei denen für diese Tabellenzeile die Schleife nicht weiter abgearbeitet werden muss.

So unterscheiden sich die Geschmäcker. ;-)

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Es ist in jedem Falle ganz übel, eine Anweisung zu definieren, die kontextabhängig unterschiedliches Verhalten aufweist. Verlegt man Coding in einer Schleife in ein Unterprogramm, ändert sich das Verhalten des Codings. Das ist so, als würde mein Toaster zur Waschmaschine, wenn ich ihn in den Keller stelle.


Ralf

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

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben:Es ist in jedem Falle ganz übel, eine Anweisung zu definieren, die kontextabhängig unterschiedliches Verhalten aufweist.
Könntest du dann bitte auch mal gegen den MODIFY-Befehl wettern und ebenso gegen das "+" und vor allem das "-" oder "=" Zeichen aus dem selben Grund?
a-dead-trousers hat geschrieben:Ich mag die CHECKs und CONTINUEs einfach nicht, weil sie mir schon viel zu oft Hirnkrämpfe verursacht haben.
Jeder hat da wohl so seine eigenen Vorlieben und Vorstellungen. Ich verwende die liebend gerne, weil m.E. die Lesbarkeit stark zunimmt ( so wie ich es zumindest verwende ).
a-dead-trousers hat geschrieben:Die EXITs verwende ich notgedrungen nur um performant Schleifen zu verlassen, solange es kein READ TABLE mit CP (Contains Pattern) gibt.
Warum "notgedrungen"? Ist nicht gerade der Sinn des "EXIT"-Befehls einen Verarbeitungsblock ( Schleife ) zu verlassen? Und wenn du "EXIT" nicht magst - du könntest auch immer einen Try-Catchblock verwenden um durch eine Exception die Schleife zu verlassen.
a-dead-trousers hat geschrieben:Die RETURNs verwende ich nur bei Parameterprüfungen um schnell eine Methode zu verlassen und mir die Einrückungen zu sparen.
Spätestens wenn in der Methode geschachtelte Schleifen sind und du in der innersten der Schleifen merkst, dass du gar nicht weitermachen willst/brauchst. Die üblichen Alternativen arbeiten mit Hilfsvariablen, die versuchen die Funktionalität des RETURNs zu erreichen und erschweren die Wart/Lesbarkeit durch die Verwendung kaskadierender EXITs.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
black_adept hat geschrieben:
ralf.wenzel hat geschrieben:Es ist in jedem Falle ganz übel, eine Anweisung zu definieren, die kontextabhängig unterschiedliches Verhalten aufweist.
Könntest du dann bitte auch mal gegen den MODIFY-Befehl wettern und ebenso gegen das "+" und vor allem das "-" oder "=" Zeichen aus dem selben Grund?
Hab ich, oft genug. Wobei MODIFY eine Sonderstellung einnimmt, weil die Anweisung nicht kontextabhängig unterschiedliches Verhalten zeigt. Egal wo die Anweisung steht, sie macht dasselbe.

Beim Rest musst du hier nur lang genug suchen, da findest du Stellen, wo ich genau das kritisiere. Wenn ich aber schreibe "Zuweisungen macht man mit =, Vergleiche mit EQ", wie ich das hier schon gemacht habe, bist du der erste, der hinter seinem Stein hervorkriecht und meckert. :D


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Kopfzeile wird doppelt angezeigt.

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben: Wenn ich aber schreibe "Zuweisungen macht man mit =, Vergleiche mit EQ", wie ich das hier schon gemacht habe, bist du der erste, der hinter seinem Stein hervorkriecht und meckert.
*Nickt* --> aber ich wettere auch nicht so sehr gegen überladene Befehle
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Vergleichbare Themen

2
Antw.
1344
Views
Dynamische Maßnahme, Abwesenheit doppelt
von Dyrdek » 16.05.2017 15:07 • Verfasst in ABAP® Core
0
Antw.
1301
Views
9
Antw.
4438
Views
Smartform: Header doppelt nach Seitenumbruch
von SkyHobbit » 05.09.2008 10:55 • Verfasst in ABAP® Core
1
Antw.
2380
Views
Abap Join mit Tabellen und Feldern doppelt
von SWENDLER » 20.06.2018 11:43 • Verfasst in ABAP® Core
1
Antw.
1296
Views
Select...Endselect...letzter Datensatz in der itab doppelt
von Kali » 27.03.2013 14:32 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 66
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 67

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

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 66
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 67

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Wochen von Lucyalison 1 / 129
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 164