Weird things are a foot - or at least I think that they are weird.
I have a job which reads an input XML file and extracts several Seq files.
Subsequent jobs then process these sequential files. So far so good.
However I have a situation where a record in the XML file does not come with a particular value so this value is set to NULL. This is what should happen. The subsequent job then takes the sequential file with the NULL value and loads it into and Oracle DB using OCI stage.
Now the fun part - the NULL value is part of the key and the in the DB the column is set to not accept null values. Yet when I view the record it shows no data. I did a select length(fieldname) on the offending record and it came back with a length of 1 - clearly not empty. So I tried to find out the ascii value of the character by using select Ascii(fieldname) and it comes back with 0 which as far as I know is NULL?
![Confused :?](./images/smilies/icon_confused.gif)
This is reinforced as another job then reads that table with the "NULL" value and tries to insert it elsewhere and it is rejected for being NULL.
![Shocked :shock:](./images/smilies/icon_eek.gif)
Does any of this make sense? Does anybody know of a way of determining what the offending value is, preferably via some oracle command ... the temporary sequential files are long gone.
Any help is appreciated.