Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
poonam_kulwal
Partner - Creator
Partner - Creator

Qlikview error handling in script

Hi All,

I am using for loop to load multiple csv files in my script. I wanted to implement try catch (Error handling) so that if certain csv file fails to load I can track it without stopping my script load.

 

set ErrorMode=0;

 

for i=0 to NoOfRows('Master_FileList') - 1
let vCSVPath=peek('CSVPath',$(i),'Master_FileList');

concatenate(UserNamedCalInfo)
load
Environment,
User_ID,
AccessDate
from [$(vCSVPath)];
Next I

 

if ScriptError=8 then    (HERE WHAT CONDITION I NEED TO PUT INSTEAD OF 8 . SINCE I AM READING CSV NAME THROUGH VARIABLE)

 

exit script; (I DONT WANT TO STOP MY SCRIPT EXECUTION)

 

//no file;

 

end if

Where can I look for error, I mean which particular csv file got failed to load.

Appreciate any help on this.

Regards,

Poonam

3 Replies
stiffi88
Partner - Contributor III
Partner - Contributor III

Hi Poonam,

you can do an FOR EACH Loop. This Loop goes over an folder or Datafiles.

FOR EACH File In FileList('Data\xls\*csv')

Table1:

Laod*

FROM

$(File)

(ooxml, embedded labels);

Its make it maybe easier.

Than you can check with if(NoofRows('Table1')>0) then

if there are data available.

Hopefully it will help you.

KR

Clemens

flipside
Partner - Specialist II
Partner - Specialist II

Hi Poonam,

Using your method, if all you want is a list of missing files, then you can store CSVPath as a new field in your table ...

load

'$(vCSVPath)' as File,

Environment,
User_ID,
AccessDate
from [$(vCSVPath)];

... then compare the loaded values with your Master_FileList table ...

Set ErrorMode = 1;

FileLoadErrors:
Load CSVPath as MissingFile resident Master_FileList where Not(Exists(File,CSVPath));


Hope this helps

flipside

poonam_kulwal
Partner - Creator
Partner - Creator
Author

Hello Dave,

It is very helpful. Its working. Thanks,

Sorry for late reply. I implemented this code today.