Vergleich: VBA und ABAP

Aus VBA-wiki
Version vom 28. Januar 2023, 00:32 Uhr von Pwania (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Unterschiedliche Syntax / Ansätze

Quelle für ABAP Beispiele: Help Portal: ABAP Programmierung (BC-ABA)

ABAP VBA
Kommentare Kommentare werden mit '*' angeführt und abgeschlossen:
* WRITTEN BY KARL BYTE, 06/27/1995 *
Kommentare werden mit einem Hochkomma angefangen und gelten bis zum Zeilenende: ' Written by Karl Byte, 06/27/1995 MsgBox "Hallo!" ' Meldung zur Begrüßung
Klartext Klartext wird in Hochkommas eingeschlossen: WRITE 'Erstes Programm'. Klartext wird in Anführungszeichen eingeschlossen: Debug.Print "Erstes Programm"
Befehle Einzelne Befehle werden mit einem Punkt abgeschlossen: WRITE 'Erstes Programm'. Jeder Befehl steht in einer eigenen Zeile: Debug.Print "Erstes Programm"
Einzelne Befehle können aneinander gekettet oder auseinandergezogen werden: PROGRAM test. WRITE 'Dies ist eine Anweisung'. PROGRAM test. WRITE 'Dies ist eine Anweisung'. PROGRAM test. WRITE 'Dies ist eine Anweisung'. Einzelne Befehle können mehrzeilig dargestellt werden. Hierzu wird der Unterstrich '_' verwendet (nicht innerhalb einer Zeichenkette verwenden und immer ein Leerzeichen voranstellen): MsgBox _ "Erstes Programm" Mehrere Befehle können mithilfe des Doppelpunktes ':' in einer Zeile aneinander gekettet werden: MsgBox "Huhu": MsgBox "Hallo!"
Prozeduren Unterprogramm FORM ProzedurName. ... ENDFORM. Sub-Prozedur Sub ProzedurName() ... End Sub
Funktionsbausteine Funktionsbausteine
können nicht mit den VBA-Funktionen verglichen werden. Sie werden mit dem Function Builder erstellt.
-- Keine Entsprechung --
Methoden Methoden werden in Klassen verwendet und entsprechen den VBA-Methoden, wobei diese in VBA keine speziellen Prozeduren sind. Methoden sind Sub-Prozeduren und müssen nicht zwingend in Klassen definiert werden.
Funktionen -- Keine Entsprechung? -- Funktionen sind spezielle Prozeduren, welche einen (errechneten, ermittelten, ...) Wert zurückgeben. Function Tomorrow() As Date ' hier ist Date der Datentyp für Datumsangaben Tomorrow = Date + 1 ' hier wird die 'Date'-Funktion verwendet, um das aktuelle Datum abzurufen End Function
Zuweisung von Werten ABAP bietet zwei Wege an, Werte zuzuweisen: MOVE source TO destination. destination = source. In VBA kann man ausschließlich mit '=' einen neuen Wert zuweisen: destination = source lngValue = 3
Vergleichsoperatoren =, <>, <, >, <=, >= bzw. EQ, NE, LT, GT, LE, GE =, <>, <, >, <=, >=
Spezieller Vergleich von Texten CO, CN, CA,NA, CS, NS, CP, NP Siehe 'Like'-Operator.
If-Abfrage IF ... ... ELSEIF ... ELSE ... ENDIF. If ... Then ... ElseIf ... Else ... End If
(Select-)Case-Anweisung CASE ... WHEN ... ... WHEN ... ... ENDCASE. Select Case ... Case ... ... Case ... ... End Select
X-Mal-Wiederholungen DO 5 TIMES. ... ENDDO. Siehe For-Schleifen For lngIndex = 1 To 5 .... Next
Wiederholen solange ... WHILE ... ... ENDWHILE. Siehe Do-Schleifen, While-Schleifen Do While ... ... Loop bzw. While ... ... Wend
Wiederholen bis ... DO. .... IF ... EXIT. ENDIF. ... ENDDO. Siehe Do-Schleifen Do ... If ... Then Exit Do End If ... Loop


Vokabeltrainer

ABAP VBA
Ausgabe in Konsole / Direktfenster WRITE 'Meldung in Konsole'. Debug.Print "Meldung in Direktfenster"