Syntax
<null_condition> ::= NULL [IF] <
condition> | DEFAULT NULLErläuterung
Bei der Auswertung der Bedingung wird der kürzere der jeweiligen Vergleichswerte (Wert im
Datenstrom oder Nullwertdarstellung) mit Leerzeichen aufgefüllt.Vor dem Laden jeder Zeile des Datenstroms wird geprüft, ob die für die Spalten formulierte Bedingung zutrifft. Wenn ja, wird der NULL-Wert in diese Spalte eingefügt, andernfalls der Wert aus dem zugeordneten Feld des Datenstroms.
Verwendung
Sie geben mit dieser Syntaxregel in einem Kommando zum Laden von Anwendungsdaten an, unter welchen Bedingungen der
NULL-Wert in eine Spalte der Zieltabelle geladen werden soll.Die
DEFAULT-NULL-Bedingung kann dann verwendet werden, wenn die Darstellung des NULL-Wertes im Datenstrom für alle zu ladenden Spalten der Zieltabelle dieselbe ist. Die sonst nach NULL IF POS anzugebende Zeichenkette, wird bei der DEFAULT-NULL-Bedingung nur einmal als NULL-Spezifikation (null_spec) angegeben.Spalten, die Sie als Schlüsselspalten (KEY) oder als NOT NULL definiert haben, können nicht mit dem NULL-Wert geladen werden. Das Laden der Tabelle wird mit einer entsprechenden Fehlermeldung abgebrochen.
Wenn Sie beim Anlegen der Tabelle in der Datenbankinstanz für Spalten einen anderen Vorschlagswert (Default) als NULL definiert haben, kann kein NULL-Wert in die Spalten geladen werden. In diesem Fall setzt der SAP DB Loader anstelle des NULL-Wertes den für die Spalte definierten Vorschlagswert ein.
Sie möchten die Daten des Datenstroms
DATALOAD TABLE artikel
anr 01-08
bez 09-39 NULL IF POS 09-11 = ' '
bestand 40-43 INTEGER NULL IF POS 40-43 INTEGER < '0'
min_best 44-45 INTEGER
preis 46-53 DECIMAL (2) NULL IF POS 1 <> 'X'
OR POS 46-53 DECIMAL < '0'
gewicht 54-57 REAL
INFILE 'artikel.daten' FORMATTED
Sie möchten die Daten des Datenstroms
artikel.daten in die Datenbankinstanz laden, wobei in einige Spalten der Zieltabelle der NULL-Wert geladen werden soll. Für alle im Kommando aufgeführten Spalten, für die DEFAULT NULL angegeben ist, gilt die gleiche Darstellung des NULL-Wertes '?'.DATALOAD TABLE artikel
anr 01-08
bez 09-39 DEFAULT NULL
bestand 40-43 INTEGER DEFAULT NULL
min_best 44-45 INTEGER
preis 46-53 DECIMAL (2) DEFAULT NULL
gewicht 54-57 REAL
INFILE 'artikel.daten' FORMATTED
NULL '?'