Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

For Each File in Filelist - FTP load is not working?

Dear Community,

I am trying to load the .xlsx file directly from ftp server,

and i would like to use "for each" function to select the latest file in that folder,

but this function is not working, anyone could help?

script:

For each File in filelist ('[ftp://testftpname:Password@ftpaddress.com/test_*.xlsx]');Password@ftpaddress.com/test_*.xlsx]');

PS: It is working fine when i am using load from [ftp://testftpname:Password@ftpaddress.com/test_*.xlsxPassword@ftpaddress.com/test_*.xlsx]

Thanks and best regards,

Chanel

24 Replies
marcus_sommer

It will depend from the names of your files. If the names contain the date you could try like this:

for i = 1 to 14

     vFileName = FTPServer & Path & File_Prefix & date(today() - i, 'YYYY/MM/DD') & '.csv';

     table:    

     Load * From $(vFileName) (txt, utf8, embedded labels, delimiter is '\t', msq);

next

- Marcus

Not applicable
Author

Hi Praveena,

Sorry that I don't have the sample code as I don't load directly from FTP.

I will load data to database with ETL and QV will access to database.

Thanks,

Chanel

Anonymous
Not applicable
Author

hey Marcus, thanks for the reply,

how can i add file checker to it, they are coming in different folders? is it like i have to create loop for every folder/ any other way?

marcus_sommer

Unfortunately wildcards and file-funtions aren't supported through the ftp-protocoll - you could try it with complex loops but ther error handling will be enourmous. I suggest you rather to use triggered batch-file (execute statement) with e.g. mget --include "*.csv" to transfer all your files in a local folder and make your checks there.

- Marcus

pandiarajan
Creator
Creator

Dear Marcus,

     Your above Scripts are working fine. but my problem is i have FTP file name after date format some extenstions are available. how can i solve this situation

Ex : My File Name  like this  sales_20130220_1034.PSV ; sales_20130221.5444.psv ; sales_20130222.54344.psv

actually my requirement is audit FTP files status. so i cant transfer those file to my local folder.

marcus_sommer

You need always some logic to create a full-path. If this isn't possible or to complex you must transfer all files from ftp to a local or network storage and could then make normal loads with wildcards and so on. For this you need (a triggered) batch-file (per execute statement) with a statement like this:

open YOURSERVER

USER

PASSWORD

lcd "D:\YOURTARGETPATH"

mget --include "*.csv"

bye

exit

Type "ftp" and "batch" in google and you will find many informations and examples.

- Marcus

Not applicable
Author

Use this script I believe it will help you\

////////////Connectig only Directory listing through WebFiles Button,
///////////then split Directory listing into 4 Section Date = F1, Time = F2, Type of File/Directory = F3, Name of File or Directory = F4
LOADER:
LOAD F1,
F2,
F3,
F4
FROM
[ftp://username: pass%40word@kolkataivf.net]
(
html, codepage is 1252, embedded labels, table is @1, filters(
ColSplit(1, IntArray(11, 24, 34))
))
Where right(F4,4)='xlsx';

let vRow = NoOfRows('LOADER');     ////// Checking No of Rows for xlsx files

For i = 0 to $(vRow)-1
let vFile = peek('F4',-1+$(i),'LOADER'); ////// Remember if All file structures are same then you can execute this script and Last Row started with ‘-1’

LOAD COMPANY,
CEO_NAME,
ADDRESS1,
CITY,
PIN,
EMAIL
FROM
[ftp://username: pass%40word@kolkataivf.net/$(vFile)]  
/////Now Concatenating File with Connection Bec’z for each file transfer FTP require new connection  
(
ooxml, embedded labels, table is Sheet1);

Next i

Not applicable
Author

Hi Chanel,Did you tried my recommended script

Please reply back

marsman82
Partner - Contributor II
Partner - Contributor II

It works like a charm!

qlikhalmar
Creator
Creator

Hi Amitava,

Nice script, but I have a folder on my FTP location and when i add the foldername to the location ([ftp://username: pass%40word@kolkataivf.net/foldername], i get an error in the script.

QlikView cannot read the HTML table.

Do you know what the trick is to read the filelist from the folder?

Thanks!

Halmar