Was ärgert Euch an ABAP?

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

Re: Was ärgert Euch an ABAP?

Beitrag von bliss (ForumUser / 66 / 2 / 6 ) »
:D Tatsächlich! Danke!

Na super, alte Lesezeichen werden nicht gelöscht, wenn ich eine neue Suche starte :(

---

Endlich habe ich eine Lösung gefunden für etwas, was mich schon immer geärgert hat! Bei einem Doppelklick löst man die Vorwärtsnavigation aus, was ja nicht schlecht ist, aber so kann man nicht das ganze Wort markieren. Stattdessen reicht aber auch Strg+Einfachklick :) Und was ich auch gut finde: Wenn man die Suche öffnet (Strg+F oder Strg+H), wird das aktuelle Wort automatisch ins Suchfeld geschrieben (egal ob das ganze Wort markiert ist oder nicht).
Gruß
bliss
.|.. .. ...| . .|.. ||| |. ||. .| |. |.. .||. .|. ||| ... .||. . .|.

Ich bin Anfänger und meine Tipps sind mit Vorsicht zu genießen.

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


Re: Was ärgert Euch an ABAP?

Beitrag von miru77 (ForumUser / 68 / 10 / 7 ) »
Was mich an ABAP bzw. eher gesagt SAP stört, ist das es (vor allem im HR) verschiedenste Programmiertechniken gibt.

1. ABAP (für Programme, Modifikationen etc)
2. Abrechnungsregeln (für Lohn- und Gehaltsabrechnungen)
3. Zeitwirtschaftsregeln (für die Berechnung von Arbeitszeiten)
4. Merkmale (Entscheidungs"bäume" für irgendwelche Einstellungen)
5. Dynamische Maßnahmen (für die Infotypen im HR)

2-5 sind doch eigentlich nur Hilfen, die es auch Beratern ohne ABAP-Kenntnisse ermöglichen im System was zu verändern. Aber ich finde das macht die Sache deutlich komplizierter, da man jede einzelne Technik erstmal lernen und verstehen muss. Selbst zwischen Abrechnungs- und Zeitwirtschaftsregeln gibt es für mich unverständliche Unterschiede. Möchte ich z.B. bei der Abrechnung eine Lohnart abziehen, muss ich SUBWTxxxx eingeben. Will ich in der Zeitwirtschaft eine Zeitart abziehen, heißt es ADDDBxxxx- (also ein Minus hintendran, da es kein SUBDB gibt). Echt verwirrend, lieber würde ich gleich alles in ABAP programmieren.

Folgende Benutzer bedankten sich beim Autor miru77 für den Beitrag:
Legxis


Re:

Beitrag von aylinselcuk (ForumUser / 14 / 0 / 0 ) »
janfri hat geschrieben: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

dito!!

Re: Re:

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
aylinselcuk hat geschrieben:
janfri hat geschrieben: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
dito!!
Gibt es doch! (ab 6.40 oder 7.0)
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: Was ärgert Euch an ABAP?

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Mich ärgert häufig, dass beim Einfügen von ABAP-OO-Mustern für den Methodenaufruf in der Suchhilfe immer alle Methoden der Klasse angezeigt werden.
Sinnvoll wäre eigentlich, dass nur die PUBLIC-Methoden ausgegeben werden. Alle anderen kann ich eh nicht benutzen.

Re: Was ärgert Euch an ABAP?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Es gibt doch hinreichend Fälle, wo du auch auf die Protected und Private-Methoden zugreifen willst/sollst. Was schön wäre wenn man das per Click an- und ausschalten könnte.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Was ärgert Euch an ABAP?

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
... oder wenn man in der Auswahlliste wenigstens einen Hinweis darauf sehen könnte ob es sich um eine private oder protected Methode handelt.
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: Was ärgert Euch an ABAP?

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Und den Hinweis
Syntaxfehler hat geschrieben:Die Methode "XYZ" ist unbekannt bzw. PROTECTED oder PRIVATE.
Könnte SAP ja auch gleich spezifizieren. Entweder ist sie gar nicht da, oder sie ist PROTECTED oder PRIVATE (oder es gibt eine ähnliche Methode).

Und außerdem vermisse ich immer noch die Funktion mittels STRG + Doppelklick auf eine Element dieses in einem neuen Tab - äh - Fenster zu öffnen... ;)

Re: Was ärgert Euch an ABAP?

Beitrag von bliss (ForumUser / 66 / 2 / 6 ) »
Nur eine Kleinigkeit, aber solche und ähnliche Fehler sind nervig:
Der formale Parameter "DEFAULT_FILENAME" existiert nicht. Es gibt aber
den Parameter "DEFAULT_FILE_NAME" mit ähnlichem Namen.
Und dabei handelt es sich um zwei verwandte Methoden:
cl_gui_frontend_services=>file_save_dialog und
cl_gui_frontend_services=>file_open_dialog :roll:
Zuletzt geändert von bliss am 09.11.2012 15:38, insgesamt 1-mal geändert.
Gruß
bliss
.|.. .. ...| . .|.. ||| |. ||. .| |. |.. .||. .|. ||| ... .||. . .|.

Ich bin Anfänger und meine Tipps sind mit Vorsicht zu genießen.

Re: Was ärgert Euch an ABAP?

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
bliss hat geschrieben:Nur eine Kleinigkeit, aber solche und ähnliche Fehler sind nervig:
Der formale Parameter "DEFAULT_FILENAME" existiert nicht. Es gibt aber
den Parameter "DEFAULT_FILE_NAME" mit ähnlichem Namen.
Genau. Da fehlt der Knopf "Dannnimmdendochindreiteufelsnamen" direkt daneben... ;)

Re: Was ärgert Euch an ABAP?

Beitrag von bliss (ForumUser / 66 / 2 / 6 ) »
ewx hat geschrieben:Genau. Da fehlt der Knopf "Dannnimmdendochindreiteufelsnamen" direkt daneben... ;)
Oh, da wäre ich vorsichtig. Dieser Knopf, der doch sehr nützlich ist, hat mir schon mal einen kompletten Report unwiederbringlich gelöscht. Ich habe es nicht nochmal getestet, aber so müsste man den "Bug" reproduzieren können:

- In SE80 Report mit Include vorhanden.
- Prüfung (Strg+F2) ausführen. Im Include erscheint ein Fehler mit dem besagten Knopf zum automatischen Korrigieren.
- Mit Doppelklick ein paar mal zwischen Report und Include wechseln.
- Während der Report angezeigt wird, den besagten Knopf zum Reparieren des Includes drücken.
- Der Report ist nun eine exakte Kopie des reparierten Includes.

Wie gesagt, ich müsste das mal Reproduzieren. Weiß nicht ob das immer so ist, aber es ist wenigstens ein Mal mir passiert.
Gruß
bliss
.|.. .. ...| . .|.. ||| |. ||. .| |. |.. .||. .|. ||| ... .||. . .|.

Ich bin Anfänger und meine Tipps sind mit Vorsicht zu genießen.

Re: Was ärgert Euch an ABAP?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »

Code: Alles auswählen.

REPORT.

PARAMETERS: p_dummy, 
            p_filec type text80 OBLIGATORY,
            p_files type string OBLIGATORY.
Warum müssen String-Mussfelder anders aussehen als Text-Mussfelder?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Was ärgert Euch an ABAP?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ich schreibe gerade eine Anwendung auf der grünen Wiese. Und ich muss alle Deklarationen von Hand schreiben und formatieren.

Beispiel:

Code: Alles auswählen.

select matnr maktx from makt into table $makt where....
So, jetzt würde ich erwarten, dass ABAP weiß:
* Ah, er braucht eine interne Tabelle mit dem Namen $makt
* In dieser braucht er mindestens die Felder matnr und maktx
* es ist naheliegend, dass die Feldtypen aus der Tabelle MAKT hervorgehen

Irgendwann im Coding folgt:

Code: Alles auswählen.

loop at $makt assigning <gs_makt>.
...
endloop.
Daraus folgt, dass noch ein Feldsymbol <gs_makt> fehlt mit dem Zeilentypen von gt_makt

Ergo:

Code: Alles auswählen.

types: 
  begin of ty_makt,
    matnr type matnr,
    maktx type maktx,
  end of ty_makt,
  tt_makt type standard table of ty_makt.

data: 
  $makt type tt_makt.

field-symbols:
  <gs_makt> type ty_makt.
Edit:
(wobei ich noch nie verstanden habe, warum die Eigenschaften eines Feldes aus seinem Namen hervorgehen müssen -- ein Bekannter von mir sagt (gar nicht so untreffend): So programmieren Leute, die nicht programmieren können).
/Edit.

Ja, man hat Muster zum Deklarieren, aber das ist die am dämlichsten implementierte Form die ich je gesehen habe. Weil: Sie macht Deklarationen der folgenden Art:

Code: Alles auswählen.

data: gv_matnr type mara-matnr.
Suuuuuper Idee, und wenn sich die Tabelle ändert, gibts den Typen nicht mehr und der ganze Rotz dumpt mir weg. Ja, MARA-MATNR wird nie wegfallen, aber es gibt genug Tabellen im Kundennamensraum, die sich wirklich mal ändern. Also muss man da ran und ersetzen, damit das so aussieht:

Code: Alles auswählen.

data: gv_matnr type matnr.
Selbst die SAP sagt, dass man SO ordentlich deklariert und nicht anders.

Außerdem sieht gut ausgerichtetes Coding lesbarer aus. Also macht man alle TYPEs und DATAs untereinander. Warum macht das SAP das nicht selbst mit dem Pretty Printer? Suche den längsten Ausdruck im Block, setze das TYPE dahinter und richte alle anderen TYPE danach aus. Dementsprechend auch mit DATA und Consorten. Das TYPE wird ja erkannt und in anderer Farbe dargestellt, ist es da so viel Arbeit, die entsprechen auszurichten?

Das sind so elemantare Funktionen, wo ich einfach denke: Kein Wunder, dass SAP-Coding oft aussieht wie hingeschissen....


Ralf *sauer, weil er eigentlich keine Zeit für so einen Mist hat

Nachtrag:
Neulich habe ich einen Field-Mapping-Funktionsbaustein geschrieben, der Daten aus SAP-Tabellen in BAPI-Strukturen ummappt. Was mich dabei ärgert (das waren etliche 100 Zeilen Coding): Im Datenelement steht der Default-Komponentenname drin, der in den BAPI-Strukturen Verwendung findet. Warum geht das nicht "automatischer". Beholfen habe ich mir übrigens mit Zwischenablage, Word, Excel und Regulären Ausdrücken. Daran sieht man, wie einfach es ist, sowas automatisch umzusetzen. Damit habe ich fast 1000 Zeilen Coding in wenigen Minuten generiert.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Was ärgert Euch an ABAP?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben:I
So, jetzt würde ich erwarten, dass ABAP weiß:
* Ah, er braucht eine interne Tabelle mit dem Namen $makt
* In dieser braucht er mindestens die Felder matnr und maktx
Oder der User hat sich verschrieben und irgendeine der im aktuellen Sichtbarkeitsbereich des SELECT liegenden Tabellen umfasst die Felder MATNR und MAKTX und hoffentlich sind das auch alles voll typisierte Tabellen wo ich das nachschauen kann.... Das wird wohl nix werden
ralf.wenzel hat geschrieben:* es ist naheliegend, dass die Feldtypen aus der Tabelle MAKT hervorgehen
...

Code: Alles auswählen.

    data: gv_matnr type mara-matnr.
...
Suuuuuper Idee, und wenn sich die Tabelle ändert, gibts den Typen nicht mehr und der ganze Rotz dumpt mir weg. Ja, MARA-MATNR wird nie wegfallen, aber es gibt genug Tabellen im Kundennamensraum, die sich wirklich mal ändern. Also muss man da ran und ersetzen, damit das so aussieht:
Naja. Bei deinem Beispiel selektierst du ja genau die Felder aus der DB-Tabelle die du dann deklariert bekommst. Und wenn da was wegfällt ist das Programm sowieso hinfällig.
Aber es gibt eben auch andere Situationen, wo ich die von SAP vorgeschlagene Mimik ganz nett finde. Denn mir passiert es häufiger, dass sich zwar das Datenelement eines Feldes noch mal ändern kann - aber der Feldname bleibt und da ist dann die Typisierung via DDIC-Struktur+Feld ganz brauchbar.
ralf.wenzel hat geschrieben:Das TYPE wird ja erkannt und in anderer Farbe dargestellt, ist es da so viel Arbeit, die entsprechen auszurichten?
Ja - da stimme ich dir voll zu.
ralf.wenzel hat geschrieben:wobei ich noch nie verstanden habe, warum die Eigenschaften eines Feldes aus seinem Namen hervorgehen müssen
Ist schon nett wenn man das macht - vor allem wenn später der Code gewartet werden soll. Du kannst natürlich auch all deine Variablen A1, A2, ... A18273 etc durchnummerieren. Aber gerade von dir hätte ich erwartet dass du demjenigen der so vorgeht das um die Öhrchen haust.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Vergleichbare Themen

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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 58 Minuten von msfox 2 / 35
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 58 Minuten von msfox 2 / 35
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141