Anfang des Inhaltsbereichs

 null_assign 

Syntaxregeln zur Spaltenbeschreibung

Syntax

<null_assign> ::= [IF] NULL SET '<valLITERAL>'

valLITERAL

Nullwertdarstellung

Erläuterung

Der Wert für die Nullwertdarstellung ist in einfache Anführungszeichen zu setzen. Er ist ein Klartextwert, den der Loader als Zeichenkette oder binären numerischen Wert darstellt. Dies ist abhängig vom externen Datentyp der Spalte, für die die Nullwertdarstellung erzeugt werden soll.

Wenn die Nullwertdarstellung in einem der externen Datentypen für Binärwerte ausgegeben werden soll, muss sie ein gültiges Zahlenformat haben, d. h. entweder eine Gleitkommazahl in Mantisse-/Exponent-Darstellung oder eine Festkommazahl mit der aktuell vereinbarten oder der Standarddezimaleinstellung sein.

Die erzeugte Nullwertdarstellung wird an die gleiche Stelle im Datenstrom geschrieben, an die der eigentliche Spaltenwert geschrieben würde.

·        Wenn die Nullwertdarstellung kürzer ist als die durch die Positionsangabe spezifizierte Länge des Wertes, dann wird der Wert mit Leerzeichen aufgefüllt. Wenn die Nullwertdarstellung länger ist, dann wird sie beim Schreiben auf die angegebene Länge gekürzt. Der Loader gibt dazu eine Warnung aus.

·        Wenn Spalten der Zieltabelle NULL-Werte zulassen und Sie dafür keine Nullwertdarstellung definieren, wird für zu entladende NULL-Werte der Vorschlagswert des Loader verwendet (null_spec). Dieser ist vom externen Datentyp CHAR.

·        Wenn Sie für das Entladen von NOT-NULL-Spalten eine Nullwertdarstellung definieren, führt dies nicht zu einem Fehler.

Verwendung

Sie geben damit in einem Kommando zum Entladen von Daten an, welcher Wert für das Datenfeld der Quelltabelle in den Datenstrom geschrieben werden soll, wenn der Wert in der Quelltabelle der NULL-Wert ist.

Sie möchten die Quelltabelle article aus der Datenbankinstanz in den Datenstrom article.data entladen, wobei einige Spalten der Tabelle NULL-Werte enthalten.
Sie definieren für jede dieser Spalten eine eigene Bedingung. Wenn diese erfüllt ist, wird die jeweilige Nullwertdarstellung in den Datenstrom eingetragen.

DATAEXTRACT * FROM article
OUTFIELDS
  ano       01-08
  descr     09-39            
IF NULL SET '   '
  stock     40-43 INTEGER    
IF NULL SET '0'
  min_ord   44-45 INTEGER
  price     46-53 DECIMAL (2) 
IF NULL SET 'X'
  weight    54-57 REAL
OUTSTREAM 'article.data' FORMATTED

Sie möchten die Quelltabelle article aus der Datenbankinstanz in den Datenstrom article.data entladen, wobei einige Spalten der Tabelle NULL-Werte enthalten.
Da für keine im Kommando aufgeführte Spalte eine Nullwertdarstellung definiert ist, aber alle Werte den externen Datentyp CHAR haben, wird die als Vorschlagswert des Loader definierte Nullwertdarstellung '?' verwendet.

DATAEXTRACT * FROM article
OUTFIELDS
  ano       01-08
  descry    09-39
  stock     40-51
  min_ord   52-63
  price     64-74
  weight    75-85
OUTSTREAM 'article.data' FORMATTED

Sie möchten die Quelltabelle article aus der Datenbankinstanz in den Datenstrom article.data entladen, wobei einige Spalten der Tabelle NULL-Werte enthalten.
Da für keine im Kommando aufgeführte Spalte eine Nullwertdarstellung definiert ist, versucht der Loader, die als Voreinstellung definierte Nullwertdarstellung (Datentyp CHAR) zu nutzen. Dies führt in jenen Fällen zum Fehler, in denen für die Spalten ein numerischer externer Datentyp definiert wurde. Die Bearbeitung des Kommandos wird mit einer Fehlermeldung abgebrochen.

DATAEXTRACT * FROM article
OUTFIELDS
  ano
       01-08
  descr
     09-39
  
stock     40-43 INTEGER
  min_
ord   44-45 INTEGER
  price
     46-53 DECIMAL (2)
  w
eight   54-57 REAL
OUTSTREAM
'article.data' FORMATTED

Ende des Inhaltsbereichs