Was ärgert Euch an ABAP?

Alles Rund um SAP®.
112 Beiträge • Seite 1 von 8 (current) Nächste
112 Beiträge Seite 1 von 8 (current) Nächste

Was ärgert Euch an ABAP?

Beitrag von cosmo (Specialist / 175 / 0 / 0 ) »
Beim Codieren in ABAP stößt man immer wieder auf Eigenheiten dieser Sprache, über die man sich ärgert, die man irgendwie anders haben möchte. Was ärgert Euch? Vielleicht findet ja auch ein anderer Forumnutzer eine Lösung für das Ärgernis - vielleicht erreicht ja auch dieser Thread irgendwann die ABAP-Entwicklungsabteilung....


Ich fange mal an:

- Ärgernis #1

Code: Alles auswählen.

SELECT-OPTIONS s_werks FOR zmassm-werks NO INTERVALS NO-EXTENSION
                           MODIF ID neu.
Fällt Euch auf, dass man "NO INTERVALS" ohne Bindestrich, aber "NO-EXTENSION" mit Bindestrich schreibt? Ich mache das jedes mal falsch. Ärgerlich, dass sowas nicht einheitlich gelöst ist.

- Ärgernis #2
Der Message-Befehl. Um einen Message-Befehl mit variablen Teilen abzusetzen, müssen die Zusätze
"ID TYPE NUMBER WITH"
in einer bestimmten Reihenfolge angegeben werden, sonst gibt's Syntax-Fehler. Ein Muster dafür gibt es aber nicht - es bleibt nur der Blick in die Hilfe.

Also: Viel Spaß beim Meckern![/list]
Jörg Krause, Anwendungsentwickler und SAP-Betreuer MM/PP

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


Beitrag von black_adept (Top Expert / 4103 / 128 / 945 ) »
Eine Sache die mich ärgert, sind nicht vollständige Dokumentationen von SAP zu den ABAP-Sprachelementen an sich. ( Von der fehlenden Doku zu sehr vielen FB will ich hier mal gar nicht sprechen )

Beispiel: Folgende beide Codeblöcke sind (in 4.5) korrekt - aber nach der normalen Doku sollten sie es nicht sein.

Code: Alles auswählen.

REPORT DEMO.
DATA: XXX  POINTER
BREAK-POINT.
Nicht dokumentiert: Der Zusatz POINTER

Bemerkungen:
- Es wird ein Feld mit Länge 20 vom Typ x definiert.
- Falls man "POINTER" falsch schreibt ( etwa POIXNTER ) weist einen der Syntaxcheck auf die korrekte Schreibweise hin.
- Die Editoreinstellung "Schlüsselworte Groß" erkennt, dass es sich um ein korrektes Statement handelt.

Code: Alles auswählen.

REPORT DEMO.

DATA: X030L_WA  LIKE  X030L,
      TABNAME   LIKE  DCOBJDEF-NAME,
      X031L_TAB LIKE  X031L OCCURS 0.

IMPORT NAMETAB X030L_WA X031L_TAB ID TABNAME.
Nicht dokumentiert: IMPORT NAMETAB...

Gefunden in 4.5 ziemlich weit am Anfang des FB "DDIF_NAMETAB_GET" beim Suchen nach dem in 4.5 noch fehlenden "I_BYPASSING_BUFFER"-Parameter des ALV.

Bemerkungen:
- Ein falsch geschriebenes "NAMETAB" wird vom Syntaxchecker sofort angemeckert
- Die Editoreinstellung "Schlüsselworte Groß" erkennt, dass es sich um ein korrektes Statement handelt.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von cosmo (Specialist / 175 / 0 / 0 ) »
Ärgerlich, das so etwas nicht geht:

Code: Alles auswählen.

if i+1 > n-3.
oder auch

Code: Alles auswählen.

write i+1.
Die meisten höheren Sprachen können Terme als Teile von Befehlen interpretieren. So muss man dauernd Hilfsvariablen definieren.
Jörg Krause, Anwendungsentwickler und SAP-Betreuer MM/PP

Beitrag von PsychoMantis (ForumUser / 98 / 0 / 0 ) »
Jau, das mit den Hilfsvariablen ärgert mich auch jedesmal wieder aufs Neue... Da sollten die bei SAP echt mal ansetzen *winkmitdemzaunpfalanallesapentwicklerdiehiermalvorbeischauen* :wink:

Beitrag von janfri ( / / 0 / 3 ) »
Ich vermisse Reguläre Ausdrücke für die Stringverarbeitung -- müsste ja nicht mal in den Sprachumfang von ABAP aufgenommen werden, einige FuBas oder eine Klasse mit entsprechenden Methoden würden mir völlig ausreichen...

Gruß
janfri

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo janfri,

ich bin gerade demletzt über Funktionsbausteine gestolpert, die RegEx können sollen.
Da ich aber hier kein System habe, kann ich Dir auch leider nicht sagen wie die heißen.

Aber such mal nach 'regex'.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
So jetzt ist mir endlich eingefallen, was mich immer ärgert... :wink:

Das man nämlich ein Programm, das einen inaktiven Sourcecode mit einem Syntaxfehler enthält, nicht starten kann. Obwohl der Syntaxfehler ja im inaktiven Sourcecode ist!

Das ist besonders ärgerlich, wenn man in einem häufig benutzen Programm - wie z.B. der SAPMV45a :wink: - schreibt:

Code: Alles auswählen.

PERFORM neue_routine.
Mit einem Doppelklick und "Ja, neue Routine anlegen" (in einem anderen Include) in diese springt und dann programmiert.
Der nächste, der die VA0x aufruft, bekommt den Syntaxfehler "Routine 'neue_routine' nicht vorhanden".

Ärgerlich.

Was die sich dabei nur gedacht haben...

Gruß,
Enno

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
Das ärgert mich auch:
Man kann zwar mit einem Doppelklick auf eine IF- oder ENDIF-Anweisung auf den jeweiligen Gegenpart springen,
aber die ELSE-Anweisung (oder ELSEIF...) kriegt man so nicht zu fassen.

Das wäre aber manchmal schön...

Enno.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
hstoeckl


Beitrag von cosmo (Specialist / 175 / 0 / 0 ) »
Im ABAP-Editor ist es nicht am Cursor ersichtlich, ob man sich im Überschreibmodus befindet. Wie oft habe ich schon übertippt, wenn ich eigentlich einfügen wollte!
Jörg Krause, Anwendungsentwickler und SAP-Betreuer MM/PP

Beitrag von Gast ( / / 0 / 3 ) »
Und ausserdem gibt es kein Blockweises Einfügen mehr (STRG+Y). Das war manchmal schon schön am Zeilenorientierten Editor bis 4.5... :roll:

Enno

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,
Anonymous hat geschrieben:Und ausserdem gibt es kein Blockweises Einfügen mehr (STRG+Y). Das war manchmal schon schön am Zeilenorientierten Editor bis 4.5... :roll:

Enno
Dafür kann man am Frontend-Editor mit STRG+C und STRG+V oder STRG+X arbeiten, ganz genauso, wie man es von PC-Programmen gewohnt ist. Zusätzlich geht sogar drag and drop mit markiertem Text. (was will man mehr???).

Für die ganz aktiven Kopierer gibt es immer noch die X-, Y- und Z-Ablage.

Also eigentlich ein gutes Feature, denn der Block-Copy oder Block-Move im Zeileneditor war schon ein wahres Glücksspiel. (Nehme ich jetzt B oder A zum Einfügen???)

Gruß
babap

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
babap hat geschrieben:Also eigentlich ein gutes Feature, denn der Block-Copy oder Block-Move im Zeileneditor war schon ein wahres Glücksspiel.
*das* Blockweise einfügen meinte ich nicht...!
Wenn man ein paar Felder aus unterschiedlichen Strukturen zuweisen möchte, dann schreibt man ja

Code: Alles auswählen.

struc1-feld1 = struc2-felda.
struc1-feld2 = struc2-feldx.
usw.
Im alten Editor konnte man dann die Zeile

Code: Alles auswählen.

struc1-         = struc2-
x-mal kopieren und aus dem Dictionary mit STRG+Y/C/V die Felder der einen Struktur und dann der anderen einfügen.

Der neue Editor ist ja zweifellos besser, aber in dem Punkt eben nicht...

Dass man es trotzdem machen könnte, kann man sehen, wenn man WORD startet und mal einen Text mit gedrückter ALT-Taste markiert...

Gruß,
Enno.

Beitrag von ralf.wenzel (Top Expert / 3946 / 201 / 281 ) »
ewx hat geschrieben:Der neue Editor ist ja zweifellos besser, aber in dem Punkt eben nicht...
Das halte ich für ein Gerücht.


Ralf *benutzt immer noch den Zeileneditor
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
...Ansichtssache... :wink:

Gruß, Enno

Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
Was mich am Syntaxchecker immer wieder nervt ist die Meldung: "Nach "[Zeichenkette]" wurde "." erwartet.

Die Fehlermeldung ist zwar inhaltlich völlig richtig, nur: warum wird einem dann nicht gleich auch der Button für die automatische Änderung angeboten?

Das Statement IMPORT NAMETAB ist übrigens spätestens ab 6.20 dokumentiert mit dem folgenden Hinweis: "Diese Anweisung ist nur zum internen Gebrauch bestimmt.
Inkompatible Änderungen bzw. Weiterentwicklungen sind jederzeit und ohne Warnung oder Hinweis möglich. "

Jupp
Always Better Alternatives Possible.

Vergleichbare Themen

5
Antw.
11599
Views
Kundeneigene ABAP-Muster Vorlage im ABAP-Editor anlegen
von Stentor » 19.07.2005 11:10 • Verfasst in Basis
3
Antw.
17597
Views
ABAP 7.02 - Neues Feature - Pragmas in ABAP
von foessleitnerj » 09.01.2013 17:02 • Verfasst in Tips + Tricks & FAQs
2
Antw.
3983
Views
ABAP Objects oder ABAP Referenz
von Gast » 23.06.2005 15:52 • Verfasst in ABAP® für Anfänger
3
Antw.
4427
Views
OLE und ABAP: Aufruf von Excel-VBA Prozeduren aus ABAP
von OnkelSAP » 26.05.2010 09:45 • Verfasst in ABAP Objects®
6
Antw.
5742
Views
ABAP Workbench und ABAP Dictionary - für Einsteiger
von schnonus » 03.04.2008 10:39 • Verfasst in ABAP® für Anfänger

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

SD_PRINT_TERMS_OF_PAYMENT
vor 5 Tagen von Manfred K. 1 / 931
BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Wochen von snooga87 1 / 2737