Anfang des Inhaltsbereichs

Syntaxdokumentation null_condition Dokument im Navigationsbaum lokalisieren

Syntaxregel zur Spaltenbeschreibung

Syntax

<null_condition> ::= NULL [IF] <condition> | DEFAULT NULL

Erlä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.

Hinweis

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.

Beispiel

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 jede dieser Spalten definieren Sie eine eigene Bedingung. Wenn diese erfüllt ist, wird der NULL-Wert eingetragen.

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

Beispiel

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 '?'

Ende des Inhaltsbereichs