Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Current File Path from tWaitForFile

I'm using the tWaitForFile component to get all files from a particular directory.  Files may exist in this directory prior to the start of my Job, and will certainly be added to this directory during the execution of my job.
Therefore, I have configured the tWaitForFile to "Include Present File" and "Trigger action when a file is created".
After finding a file, I need to read that file (using tFileInputDelimited), so I have connected to that component using an Iterate link - using Main to feed tFileInputDelimited does not seem to be possible.
So far, I have tWaitForFile --> Iterate --> tFileInputDelimited
However, to read the file, I need the full file path.  There does not appear to be a "safe" way to get this from the tWaitForFile component.  tWaitForFile sets a number of values that might be useful, but none is fully appropriate:

FILENAME - this is the current file, but only the file name itself - the path is not included.
PRESENT_FILE - this is the absolute path of the file, but only if it is a "pre-existing" file
CREATED_FILE - this is the absolute path of the file, but only if it is a "new" file
If I use FILENAME - I don't get the path, so I can't open the file.
If I use PRESENT_FILE or CREATED_FILE, I get the full path - but I have to guess which one to use for each file, since there's no variable set saying if the current file is "present" or "created".
Also, there appears to be a risk using CREATED_FILE; this is never set back to null after finishing processing all the pre-existing files, so it remains set to the path of a file that has already been processed.
Can anyone suggest a good way to get the correct full path to the current file from tWaitForFile?
Labels (2)
1 Reply
Anonymous
Not applicable
Author

Hi
You can set the full path to the current file with this expression on tFileInputDelimited:
"your particular directory/"+((String)globalMap.get("tWaitForFile_1_FILENAME"))
Best regards
Shong