Diskussion:ABAP

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Ich war bislang der Meinung, dass ABAP ein Akronym für Allgemeiner Berichtsaufbereitungsprozessor wäre. (nicht signierter Beitrag von H2h (Diskussion | Beiträge) 21:15, 6. Nov. 2009 (CET)) [Beantworten]

Ein Hello-World-Beispiel wäre nicht schlecht. Auch ein paar weitere Codeschnipsel um ein Gefühl für die Syntax der Sprache zu bekommen. --MauriceKA 10:59, 8. Sep 2004 (CEST)

Program Hello_world.
write 'Hello World!'.

Das ist dann doch etwas zu einfach, oder? ;-) Mal schauen, ob ich irgendwo noch was hübsches, kurzes finde das aufschlußreicher ist...--Don Hartmann 11:28, 8. Sep 2004 (CEST)

Ich finde das Code Beispiel genial. Gut auch, wie ein so ein nützlicher und mächtiger Funktionsbaustein in einfachster Form aufgerufen werden kann. Ich vermisse einen Beitrag über zu erwartende zukünftige Programmiertechnologien der SAP. Ich persönlich denke, dass ABAP die Programmiersprache der klassischen SAP R/3 Module bleibt und allenfalls zusätzliche Produkte / Anwendungen auf anderen Programmiersprachen rekurrieren.

Alles in ABAP?[Quelltext bearbeiten]

"...Seit 1990 basiert das gesamte SAP-System auf ABAP...."


Das ist etwas ungenau.

Viele der SAP-Produkte basieren auf ABAP (sind in ABAP programmiert) - wie z.B. R/3, SAP BW, SAP CRM.

Dabei ist jedoch nur ein Großteil der Anwendungslogik in ABAP Programmiert. Der Kernel ist in C oder C++ programmiert, evtl. auch in Assembler. Und viele ABAP-Programme rufen mittels der Anweisung CALL 'modulname' keinen ABAP Funktionsbaustein (wie mit CALL FUNCTION), sondern ein Assembler-Prog oder ein C-Modul auf.

Einige der SAP-Produkte haben auch überhaupt nichts mit ABAP zu tun. Die Anwendung 'Mobile Sales' zum Beispiel. Müsste in c, c++ oder Java programmiert sein.

Dann änder es doch ab in "basieren alle SAP R/3 Module auf ABAP". --Huebi 07:27, 12. Sep 2005 (CEST)
Nach Aussage einer Marketing-Drohne ist "Mobile Sales" in Java implementiert. --Starcalc 13:01, 24. Nov. 2006 (CET)[Beantworten]

Ich kann die angegebenen Kritikpunkte nicht alle so nachvollziehen.

  • Zitat: „Dass ABAP aus der Frühzeit der Programmiersprachenentwicklung kommt ist an einigen Details erkennbar, die den Umgang mit der Sprache erschweren.“ Einen Zusammenhang zwischen Zeit/Alter und Art der Operationsabarbeitung kann ich nicht erkennen. Es gibt ältere Sprachen, bei denen es anders ist. Man denke da an C.
  • Zitat: „Unterschied zwischen '+' und ' +' (Plus und Blank-Plus)“. Nun, jede Sprache hat Ihre spezifische Syntax. Und hierbei handelt es sich einfach um zwei verschiedene Anweisungen. Wo ist das Problem? Mir ist es noch nie passiert, dass ich diese beiden Varianten verwechselt habe. Das angegebene Beispiel ist natürlich korrekt und liefert zwei verschiedene Ergebnisse. Allerdings ist es auch ein nicht ganz so guter Stil, einfach z. B. '+3' zu schreiben, wenn man einen Offset mein. Man sollte eigentlich immer die Restlänge spezifizieren '+3(*)' oder '+3(15)'.
  • Man kann sich fragen, warum sich SAP mit ABAP hat durchsetzen können. Das liegt sicherlich nicht daran, dass die Produkte der Firma SAP so extrem preiswert sind. Die unglaubliche Stabilität und genau diese Art und Weise der Syntax sind es, die ABAP zu so einer stabilen und daher für den produktiven Einsatz geeigneten Sprache machen. Sie hat andere Ziele als man bei der Entwicklung von C oder Java hatte. Daher ist sie auch anders. Aber ich würde darin keine echten Kritikpunkte sehen können.

Der Autor hat sicher recht, die Dinge sind so, wie er sie beschreibt, aber für mich nicht per se als negativ zu bewerten. Viele Grüße --lmmrs 14:59, 28. Feb. 2007 (CET)[Beantworten]

Ich würde das auch nicht als Kritik ansehen, dann schon eher, den Deutsch Englisch Mischmasch der sich aber durch SAP generell zieht. MfG T.A.


  • Zitat: "Die Feldnamen in einem SELECT-Statement sind nur durch Leerzeichen getrennt, nicht durch Kommata o.ä.. Das führt zu Problemen mit Alias-Namensvergabe. Das dafür reservierte Schlüsselwort AS kann mit einem Feld namens AS verwechselt werden."

Ein Feld mit Namen AS ist in einer Tabelle nicht möglich, da AS ein reserviertes Wort ist. Meldung "AS ist ein reserviertes Wort (Bitte einen anderen Feldnamen wählen)"

Ok, bestätigt. Trotzdem finde ich die SQL-Syntax übersichtlicher. Alfred Heiligenbrunner 17:00, 4. Sep. 2007 (CEST)[Beantworten]

Ab Release 7.40, SP05 sind alle Listen in Open SQL kommasepariert angebbar. Zusätzlich werden Hostvariablen durch ein @ markiert. --Horst.keller (Diskussion) 08:29, 2. Jul. 2014 (CEST)[Beantworten]

  • Zitat: "Das Ergebnis eines Funktionsaufrufes ist nicht unmittelbar in einem Ausdruck verwendbar."

Bei Funktionsbausteinen, ja. Bei Methoden, nein. Der Rückgabewert einer Methode (als Returning definiert) ist in einem Ausdruck verwendbar.

-- Paprikapulver 16:01, 5. Jun. 2007 (CEST)[Beantworten]

<Zitat>

Seit Release 7.0[Quelltext bearbeiten]

sind eine Reihe von Vereinfachungen der Sprache, insbesondere verkettete Ausdrücke, verfügbar.

Beispiel: IF A * B < 15.

</Zitat>

Was ist mit Release 7.0 gemeint? Wir haben ein System mit Kernel 700, Patch-Level 102, und das bringt beim Eingeben der obengenannten Coding-Zeile die Meldung

Vergleichsoperator "*" nicht unterstützt.

Alfred Heiligenbrunner 16:40, 4. Sep. 2007 (CEST)[Beantworten]

Gemeint ist wohl Netweaver 7.1, da gehts so.
--hw 10:30, 7. Sep. 2007 (CEST)

Diesen Absatz sollte mal jemand überarbeiten (falls ich nicht völlig daneben liege):

"Seit NetWeaver 7.0 gibt es mit WebDynpro für ABAP auch die Möglichkeit Web-Applikationen in ABAP zu entwickeln." Das war vorher schon möglich. Z.B. mit BSP.

"Aufgrund von Kundenanfragen (fehlendes Java Know-How) entschied sich SAP diese Technologie in ABAP zu integrieren." Müsste es nicht heißen: "entschied sich SAP diese Technologie AUCH in ABAP zu integrier". Es ist doch beides möglich!?

--91.7.82.113 22:58, 23. Sep. 2007 (CEST)[Beantworten]

Abschnitt "Datenstrukturen"[Quelltext bearbeiten]

Mir erscheint dieser Abschnitt einem Wiki-Artikel über ABAP nicht angemessen. Datenstrukturen stellen sicher (noch) einen durchaus wichtigen Aspekt der ABAP-Programmierung dar, sind aber dennoch nur ein Teilbereich und werden m. E. hier in unangemessener Weise hervorgehoben. Außerdem darf bezweifelt werden, ob ein Leser, der ABAP nicht kennt, diesem Abschnitt nützliche Informationen entnehmen kann. Desweiteren fällt dieser Teil des Artikels qualitativ deutlich ab, was sich z. B. in unvollständigen Sätzen, Sätzen über mehrere Aufzählungspunkte und (für Außenstehende) unverständliche Abkürzungen wie M-C äußert.
Ich bin der Meinung, dieser Abschnitt sollte ersatzlos gestrichen werden.

PB

Nachtrag 05.05.2009: Ich werde den Abschnitt aus den genannten Gründen entfernen; der obige Diskussionsbeitrag stammt von mir, wurde aber mit meinen Initialen "signiert", weil ich damals noch keinen WP-Account hatte. -- IBinDaBeda 20:01, 5. Mai 2009 (CEST)[Beantworten]

Auch wenn Du dieser Meinung bist, solltest Du erstmal Reaktionen abwarten, nicht gleich löschen. Deshalb revert. --Der Tom 20:12, 5. Mai 2009 (CEST)[Beantworten]

Hallo, Tom! Ich habe meine obige Kritik vor etwa 1,5 Jahren geäußert (ok, hatte damals noch keinen Account, deshalb fehlen korrekte Signatur und Datum). Also habe ich Reaktionen abgewartet. Wie geht's jetzt weiter? -- IBinDaBeda 18:34, 6. Mai 2009 (CEST)[Beantworten]

Sicher ist das für einen Unbedarften schwer verständlich. Aber deshalb gleich löschen? Ich hätte gern noch andere Meinungen hierzu gehört. Lesen ja schließlich nicht nur Laien hier... --Der Tom 20:07, 6. Mai 2009 (CEST)[Beantworten]
Nichts für ungut, aber du gehst leider nur auf ein Argument ein. Hältst du diesen Absatz für gut formuliert? Hältst du das Thema "Datenstrukturen" für so wichtig, dass ihm ein Viertel des gesamten Artikels gewidmet werden muss? Wenn ja: Warum werden Themen wie interne Tabellen, OpenSQL, Selektionsbilder, Dynpros, ALV, WebDynpro, ABAP Objects, BSP, BAdI, BAPI etc. nicht in ähnlicher Breite behandelt? Anders gefragt: Was würdest du von einem Artikel zum Thema "Auto" halten, wenn sich etwa 25% des Artikels mit der Funktionsweise des Vergasers befassen?

-- IBinDaBeda 21:27, 6. Mai 2009 (CEST)[Beantworten]

Kurz geantwortet: Es hindert Dich niemand daran, die anderen Abschnitte auszubauen. Löschen ist jedoch die schlechteste Idee. Der Tom 09:11, 7. Mai 2009 (CEST)[Beantworten]

Schade, ich hätte mich über eine Antwort gefreut, die auf meine Argumente inhaltlich eingeht... -- IBinDaBeda 19:34, 7. Mai 2009 (CEST)[Beantworten]

Wikipedia:Dritte Meinung: Ich finde den Absatz Datenstrukturen auch unnötig. Das schießt über das enzyklopädixsche Maß hinaus und wird das Handbuch nicht ersetzen. --Suricata 20:14, 7. Mai 2009 (CEST)[Beantworten]

Wenn IBinDaBeda das aus fachlicher Sicht beurteilen kann, sehe ich mittlerweile keine Gründe, dass er die Änderungen nicht vornehmen soll. Ggfs. muss er das dann hier argumentativ belegen können. Gruß Martin Bahmann 20:18, 7. Mai 2009 (CEST)[Beantworten]

Nachdem es keine weiteren Äußerungen gibt, versuche ich nochmal, den in Rede stehenden Abschnitt zu löschen. Den Teilnehmern an der Aktion „Dritte Meinung“ möchte ich danken (unabhängig von der Meinung, die sie vertreten); ich habe dieses Hilfsmittel zum ersten Mal gesehen und war vor allem überrascht, wie schnell die Äußerungen eintrafen - tolle Sache (wenn ich das als Neuling mal so sagen darf ;)...). mfg -- IBinDaBeda 09:52, 10. Mai 2009 (CEST)[Beantworten]

Nachtrag: Upps, hat wohl schon jemand anders getan...
Ja, ich. ;-) --Der Tom 10:13, 10. Mai 2009 (CEST)[Beantworten]

Der Abschnitt Kritik ist subjektiv. Ob die beschriebenen Eigenheiten von ABAP nachteilig, irrelevant oder sogar von Vorteil sind ist SEHR von der Perspektive abhängig. Aufgabe der Wikipedia ist es nicht zur urteilen. Ich schlage vor, den Abschnitt zu entfernen und habe es aus Rücksicht auf den Autor nicht direkt selber getan. (nicht signierter Beitrag von Gruelz (Diskussion | Beiträge) 15:01, 7. Jun. 2011 (CEST)) [Beantworten]

Einleitung, 2. Absatz, Letzter Satz:

Maßgeblich beteiligt an der Entwicklung der Programmiersprache war Dr. Gerhard Rodé.

Das ist ja schön für diesen Rodé. Und auch dass es dafür Quellen gibt. Aber ist das in irgendeiner Weiße relevant? Er wird im weiteren Artikel nicht erwähnt, hat keinen Wiki-eintrag und die verlinkte Seite ist auch eher mau. Ich entferne diesen Satz mal. Sollte jemand begründete Einsprüche haben, dann soll diese Person meine Änderung gerne rückgängig machen. --Snowman25 (Diskussion) 15:11, 17. Jul. 2012 (CEST)[Beantworten]


Versionsstand[Quelltext bearbeiten]

Ist die Angabe der Version 7.1 (2007) für die aktuelle Version immer noch korrekt? --212.8.217.24 17:39, 4. Mär. 2013 (CET)[Beantworten]

Mein Verständnis von 4GL ist "deskriptive" Programmierung, wie etwa SQL. Ich sage, was ich will, nicht wie. ABAP erfällt das meiner Meinung nach nicht im geringsten. Lieber würde ich C schreiben, da komme ich schneller zum Ziel. (nicht signierter Beitrag von 194.9.141.19 (Diskussion) 09:46, 28. Jun. 2013 (CEST))[Beantworten]

Select Endselect[Quelltext bearbeiten]

Das Codebeispiel mit Select und Endselect finde ich völlig veraltet und entspricht schon lange nicht mehr den Programmierstandards. Wäre es nicht an der Zeit ein besseres Beispiel zu finden? (nicht signierter Beitrag von 62.240.192.35 (Diskussion) 15:10, 22. Apr. 2021 (CEST))[Beantworten]

Ja und nein. Der große Vorteil von ABAP ist es, Aufgaben mit wenig Aufwand zu lösen. Hier ist die Aufgabe: Ausgabe einer DB-Tabelle. Eine DB-Tabelle mit nicht gerade Millionen von Einträgen. Auf jeden Eintrag wird nur ein mal zugegriffen. Da kommt es nicht auf Performance an ... bzw. man würde durch eine interne Tabelle nicht viel gewinnen. Man würde hier also nicht z.B. mit internen Tabellen und einem einzelnen SELECT-Statement arbeiten müssen. Da wikipedia kein ABAP-Kurs ist, sollte man es bei diesem Beispiel belassen können. Man sieht hier gut, daß ABAP Kontrukte für die Verarbeitung von "Massendaten" in Schleifen hat.--217.250.16.241 00:54, 24. Nov. 2021 (CET)[Beantworten]

Artikel ist allgemein veraltet[Quelltext bearbeiten]

Der Artikel ist allgemein ziemlich veraltet und müsste grundlegend überarbeitet werden. Als historische Beschreibung ganz nett. Er zeigt aber nicht die Evolution der Sprache und deckt sich auch nicht mit dem aktuellen Stand. --S. Liénard (Diskussion) 10:18, 9. Mär. 2023 (CET)[Beantworten]