Bc400

- Repsitory ist immer mandantenunabhängig.
- Anwendungs- und Customizing-Daten sind mandantenabhängig.
- Repository ist nach Anwendungskomponenten untergliedert.
- ABAP-Werkzeuge: ABAP Editor, ABAP Dictionary, Screen Painter, Menu Painter, Function und
Class Builder.
- Die betroffenen Entwicklungsobjekte können von allen Mitarbeitern des Projekts bearbeitet
werden. Für Entwickler, die nicht dem Projektteam angehören, bleiben sie dagegen bis zum
Projektabschluss (= Freigabe des Änderungsauftrags) gesperrt.
- Paket anlegen: Paket, Kurzbeschreibung, Anwendungskomponente, Softwarekomponente,
Transportschicht, Pakettyp.
- Wenn Sie ein Entwicklungsobjekt anlegen oder ändern und dann sichern, wird vorerst immer
nur eine inaktive Version im Repository abgelegt.
- Die Aktivierung eines Objektes beinhaltet folgende Funktionen:
. Sichern des Objektes als inaktive Version
. Syntax- bzw. Konsistenzprüfung der inaktiven Version
. Überschreiben der bisher aktiven Version mit der inaktiven (nur nach erfolgreicher Prüfung)
. Generieren des zugehörigen Laufzeitobjektes für spätere Ausführungen, falls es sich um ein
Programm handelt.
- Vollständige ABAP-Standardtypen
D: Typ für Datum (Date), Format YYYYMMDD, Länge 8 (fix)
T: Typ für Zeitpunkt (Time), Format: HHMMSS, Länge 6 (fix)
I: Typ für ganze Zahl (Integer), Länge 4 (fix)
F: Typ für Gleitpunktzahl (Floating point number), Länge 8 (fix)
STRING: Typ für Zeichenfolge dynamischer Länge
XSTRING: Typ für Byte-Folge dynamischer Länge (HeXadecimal string)
- Unvollständige ABAP-Standardtypen
C: Typ für Zeichenfolge fix anzugebender Länge (Character)
N: Typ für Numerische Zeichenfolge fix anzugebender Länge (Numerical character)
X: Typ für Byte-Folge fix anzugebender Länge (HeXadecimal)
P: Typ für gepackte Zahl fix anzugebender Länge (Packed number) (Bei der Definition einer
gepackten Zahl kann zusätzlich die Anzahl der Nachkommastellen angegeben werden.)
Fehlt bei einer Variablendefinition die Längenangabe, so wird eine zum (unvollständigen)
Standardtyp zugehörige Default-Länge herangezogen (Länge 1 bei den Typen C, N und X und
Länge 8 bei Typ P).
-

- Sie können im neuen Debugger durch einen Einfachklick (im klassischen ABAP Debugger
durch einen Doppelklick) vor einer Quelltextzeile einen Haltepunkt setzen. Zusätzlich können
Sie Haltepunkte bei bestimmten ABAP-Anweisungen setzen: Breakpoint → Breakpoint bei →
Anweisung. Wenn Sie danach Weiter wählen, wird das Programm bis zum nächsten
Haltepunkt ausgeführt.
Die gesetzten Haltepunkte gelten nur für die aktuelle Debugger-Sitzung. Wenn Sie sie jedoch
Sichern, bleiben die Haltepunkte während Ihrer aktuellen SAP-Sitzung für Sie persönlich
erhalten.
Ein Watchpoint ist ein feldinhaltsabhängiger Haltepunkt.
Wenn Sie einen Watchpoint ohne Angabe eines Vergleichsoperators/Vergleichswertes auf
ein Feld setzen und Weiter wählen, wird das Programm so lange ausgeführt, bis sich der
Inhalt des Feldes geändert hat. Haben Sie jedoch bei der Definition eines Watchpoints
Vergleichsoperator und Vergleichswert angegeben, so wird das Programmbei Weiter so lange
ausgeführt, bis die angegebene Bedingung erfüllt ist.
Im klassischen Debugger können Sie lediglich bis zu zehn Watchpoints setzen,
diese aber auch wie im neuen Debugger über einen logischen Operator (AND oder
OR) miteinander verknüpfen.
-



- Ein ohne VALUE-Präfix unter USING platzierter Parameter besitzt ebenfalls die Übergabeart
(Call by Reference)
Diese Deklarationssyntax ist jedoch nur für Formalparameter sinnvoll, an die zur Laufzeit
größere interne Tabellen übergeben werden, welche im Unterprogramm zwar nicht geändert
(Dokumentation via USING), aber zur Vermeidung aufwändiger Kopieerstellungen per Call by
Reference übergeben werden sollen.
- Ein Formalparameter ist generisch typisiert, wenn seine Typisierung über TYPE ANY erfolgt
oder gänzlich fehlt. An solch einen Parameter können Aktualparameter beliebigen Typs
übergeben werden. Zur Laufzeit wird beim Aufruf des Unterprogramms der Typ des
Aktualparameters ermittelt und dem Formalparameter zugewiesen (Typvererbung). Wenn
allerdings die Anweisungen im Unterprogramm nicht zum geerbten Typ passen, kann es zu
einem Laufzeitfehler kommen (Typkonflikt)! Daher sollte die generische Typisierung nur
dann eingesetzt werden, wenn der Typ des Aktualparameters zum Zeitpunkt der
Programmerstellung noch.
- Die Eigenschaften eines Funktionsbausteins umfassen u. a. eine Kurzbeschreibung sowie die
Funktionsgruppenzugehörigkeit.
Wie ein Unterprogramm kann auch ein Funktionsbaustein eigene lokale Typ- und
Datenobjektdefinitionen enthalten. Diese sind nur innerhalb des
Funktionsbausteins sichtbar.
Die Schnittstelle eines Funktionsbausteins kann folgende Elemente enthalten:
. Import-Parameter: An sie können beim Aufruf des Funktionsbausteins Werte bzw.
Variablen des rufenden Programms übergeben werden. Optionale Parameter müssen beim
Aufruf nicht versorgt werden.
. Export-Parameter: Über die Zuordnung einer .Empfangsvariablen. an einen Export-
Parameter nimmt das rufende Programm die Ausgabe des Funktionsbausteins entgegen.
Export-Parameter sind immer optional.
. Changing-Parameter: An sie können Variablen des rufenden Programms übergeben
werden, die durch den Funktionsbaustein geändert werden.
. Ausnahmen: Sie können vom Funktionsbaustein in bestimmten Fehlersituationen ausgelöst
werden und geben Auskunft über den jeweiligen Verarbeitungsfehler im Funktionsbaustein.
Ausnahmen sollten vom rufenden Programm behandelt werden.
- CALL FUNCTION ’BC400_MOS_POWER’
EXPORTING
iv_base = pa_int1
iv_power = pa_int2
IMPORTING
ev_result = gv_result
EXCEPTIONS
power_value_too_high = 1
result_value_too_high = 2
OTHERS = 3.
- Eine interne Tabelle ist ein Datenobjekt, in dem Sie zur Laufzeit mehrere gleich strukturierte
Datensätze halten können (Tabellenvariable). Die Anzahl der Datensätze ist nur durch die
Kapazität konkreter Systeminstallationen beschränkt.
-






- Achtung: Ein häufiger Anfängerfehler besteht aus folgender Syntax:
DATA gt_itab TYPE TABLE OF <Tabellentyp> .
Dabei würde eine interne Tabelle definiert, deren Zeilen selbst interne Tabellen (vom
angegebenen Tabellentyp) sind!