Removing missing or null warnings
Moderators: chulett, rschirm, roy
Removing missing or null warnings
Hi
I get a gazillion warnings in Director log - <Missing or NULL> (<Missing or NULL>): <Missing or NULL> - which I'd like to get rid of so that I can run with 50 warnings limit. The job has several standard transforms looking up values on a hash file to return another code. There don't appear to be missing (key or otherwise) values on the hash file. What is the most likely cause ?
Cheers
I get a gazillion warnings in Director log - <Missing or NULL> (<Missing or NULL>): <Missing or NULL> - which I'd like to get rid of so that I can run with 50 warnings limit. The job has several standard transforms looking up values on a hash file to return another code. There don't appear to be missing (key or otherwise) values on the hash file. What is the most likely cause ?
Cheers
Well... that *is* the most likely cause, writing a null key to a hashed file. However, we can't really tell because you've just posted a snippet from the error. It would help greatly if you posted an example of the actual error so we can see it in its entirety.
Also please clarify - you are only doing hashed lookups in the job, no hashed writes?![Confused :?](./images/smilies/icon_confused.gif)
Also please clarify - you are only doing hashed lookups in the job, no hashed writes?
![Confused :?](./images/smilies/icon_confused.gif)
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
Hi
Please excuse - the error in its entirety in the Director log is, unfortunately, as posted. Presumably there's some other way of detailing the error then ?
And there are no writes to the hash file; it's just used as a lookup.
Please excuse - the error in its entirety in the Director log is, unfortunately, as posted. Presumably there's some other way of detailing the error then ?
![Embarassed :oops:](./images/smilies/icon_redface.gif)
And there are no writes to the hash file; it's just used as a lookup.
chulett wrote:Well... that *is* the most likely cause, writing a null key to a hashed file. However, we can't really tell because you've just posted a snippet from the error. It would help greatly if you posted an example of the actual error so we can see it in its entirety.
Also please clarify - you are only doing hashed lookups in the job, no hashed writes?
OK, thanks. So I've tried this - in the key expression field for the hash file I've done a test e.g:
so that a dummy value is used as the key value if it would otherwise be missing. Then in the transform I test if the looked up value is not found (which it won't be) and if so set the field which should otherwise have a lookup value returned to it to a bucket value. Is there a more effective way of dealing with this type of error ?
Hope that makes sense !
Code: Select all
if Not(IsNull(slk_input_file_dara.locode)) then trim(slk_input_file_dara.locode) else 99998
Hope that makes sense !
ArndW wrote:Doing a lookup using a null key will generate the same error.
Ah... that explains the abbreviated error message, me thinks. I screwed up yesterday and generated several of my own, writing to a hashed file with a null key - those are a wee bit more verbose and obvious as to the source:
Time to mark this as Resolved.
Code: Select all
Job..Stage.Link: ds_uvput() - Write failed for record id '<Missing or NULL>'
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
Can we not try to replace a key, which can have null values with '' and make a lookup with ''
Because I have a situation where I have two keys A,B
and one of them (B) could be null sometimes. So can I try to replace the null with '' and load it into the key.
So that I can use A, TRIM(B) as lookup
Thanks
Because I have a situation where I have two keys A,B
and one of them (B) could be null sometimes. So can I try to replace the null with '' and load it into the key.
So that I can use A, TRIM(B) as lookup
Thanks
Is that a question? If so, then, yes. Sure. You can choose any value you like to represent null that wouldn't otherwise appear in your data as long as you handle it consistently on both 'sides'. I've done that with '*' or '~' from what I recall.
Make sure you annotate this on the canvas.![Wink :wink:](./images/smilies/icon_wink.gif)
Make sure you annotate this on the canvas.
![Wink :wink:](./images/smilies/icon_wink.gif)
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers