Ansicht
Dokumentation

ABENSTART_VALUES_GUIDL - START VALUES GUIDL

ABENSTART_VALUES_GUIDL - START VALUES GUIDL

BAL Application Log Documentation   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Startwerte

Bei der Deklaration eines Datenobjektes mit der Anweisung DATA kann über den Zusatz VALUE ein Wert festgelegt werden, mit dem das Datenobjekt zum Zeitpunkt seiner Erzeugung gefüllt wird. Ohne Verwendung des VALUE-Zusatzes verwendet das System den typabhängigen Initialwert. Bei der Anweisung CONSTANTS muss der Zusatz VALUE stets angegeben werden. Ist hier der typabhängige Initialwert gewünscht, kann dies über den Zusatz VALUE IS INITIAL erreicht werden. Eine weitere Möglichkeit für Startwerte bietet der Zusatz DEFAULT für Eingabeparameter von Methoden.

Passt der angegebene Startwert nicht zu Typ und Länge des Datenobjektes, erfolgt zum Zeitpunkt der Programmgenerierung eine Konvertierung.

Startwerte müssen zum Datentyp des Datenobjektes passen

Geben Sie mit dem Zusatz VALUE nur Startwerte an, die von Typ, Inhalt und Länge her genau zum Datentyp des deklarierten Datenobjektes passen.

Eine typgerechte Angabe eines Startwerts ist nicht in allen Fällen möglich, da ABAP nicht für alle möglichen Datentypen auch typgerechte Literale unterstützt. In allen Fällen, in denen eine Konvertierung unumgänglich ist, sollten der Inhalt von als Startwerten angegebenen Literalen und ihre Länge so gewählt sein, dass der tatsächliche Wert genau den Erwartungen entspricht, die man beim Lesen des Quelltextes hat.

Hinweis

Wenn ein Startwert nicht in den Datentyp des Datenobjekts konvertierbar ist, kommt es nicht zu einem Syntaxfehler sondern die Programmgenerierung wird erst beim Aktivieren abgebrochen. Unkonvertierbare Startwerte für Eingabeparameter von Methoden werden sogar erst beim Methodenaufruf erkannt, was aber nur bei der Angabe von Literalen auftreten kann.

Der unbefangene Leser von folgendem Quelltext würde wahrscheinlich erwarten, dass die Konstante high_noon den Wert 120000 enthält. Tatsächlich enthält die Konstante aber den Wert 092000, da der Wert des numerischen Literals als Sekundenzahl aufgefasst wird und 12.000 Sekunden der Uhrzeit 09:20 des nächsten Tages entsprechen.

CONSTANTS high_noon TYPE t VALUE 120000.

Folgender Quelltext verbessert obiges Beispiel, indem das Zahlenliteral durch ein Textfeldliteral ersetzt wird. Jetzt enthält die Konstante high_noon den erwarteten Wert 120000.

CONSTANTS high_noon TYPE t VALUE '120000'.






PERFORM Short Reference   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3026 Date: 20240523 Time: 111251     sap01-206 ( 66 ms )