Was ärgert Euch an ABAP?

Alles Rund um SAP®.

Was ärgert Euch an ABAP?

Postby Lucienne935 » Mon Jun 27, 2005 9:08 am

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: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SELECT-OPTIONS s_werks FOR zmassm-werks NO INTERVALS NO-EXTENSION
  2.                            MODIF ID neu.
  3.  
GeSHi ©

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]
Lucienne935
...
...
 
Posts: 162
Joined: Mon Sep 20, 2004 3:26 pm

Postby Ilja583 » Wed Jun 29, 2005 11:25 am

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: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. REPORT DEMO.
  2. DATA: XXX  POINTER
GeSHi ©

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: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. REPORT DEMO.
  2.  
  3. DATA: X030L_WA  LIKE  X030L,
  4.       TABNAME   LIKE  DCOBJDEF-NAME,
  5.       X031L_TAB LIKE  X031L OCCURS 0.
  6.  
  7. IMPORT NAMETAB X030L_WA X031L_TAB ID TABNAME.
GeSHi ©

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.
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Postby Lucienne935 » Wed Jun 29, 2005 4:43 pm

Ärgerlich, das so etwas nicht geht:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. if i+1 > n-3.
  2.  
GeSHi ©


oder auch
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. write i+1.
  2.  
GeSHi ©


Die meisten höheren Sprachen können Terme als Teile von Befehlen interpretieren. So muss man dauernd Hilfsvariablen definieren.
Lucienne935
...
...
 
Posts: 162
Joined: Mon Sep 20, 2004 3:26 pm

Postby Kenny3823 » Wed Jun 29, 2005 4:56 pm

Jau, das mit den Hilfsvariablen ärgert mich auch jedesmal wieder aufs Neue... Da sollten die bei SAP echt mal ansetzen *winkmitdemzaunpfalanallesapentwicklerdiehiermalvorbeischauen* :wink:
Kenny3823
..
..
 
Posts: 92
Joined: Fri Apr 29, 2005 10:12 am

Postby Jay2173 » Wed Jun 29, 2005 8:24 pm

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
Jay2173
..
..
 
Posts: 21
Joined: Wed Jun 22, 2005 5:07 pm

Postby Silke1341 » Wed Jun 29, 2005 9:10 pm

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'.
Silke1341
.....
.....
 
Posts: 1985
Joined: Thu Aug 19, 2004 3:20 pm

Postby ewx » Thu Jul 07, 2005 2:22 pm

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: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. PERFORM neue_routine.
GeSHi ©

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
ewx
.....
.....
 
Posts: 2840
Joined: Mon Aug 04, 2003 9:02 pm

Postby ewx » Mon Jul 25, 2005 2:20 pm

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.
ewx
.....
.....
 
Posts: 2840
Joined: Mon Aug 04, 2003 9:02 pm

Postby Lucienne935 » Thu Aug 04, 2005 5:11 pm

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!
Lucienne935
...
...
 
Posts: 162
Joined: Mon Sep 20, 2004 3:26 pm

Postby Alva1590 » Thu Aug 04, 2005 5:34 pm

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
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Next

Return to SAP - Allgemeines

Who is online

Users browsing this forum: No registered users and 4 guests