Ah, that's the piece of info we all needed. So the user is NOT going to pick the file? So then the file is going to be sitting somewhere in a directory and you just want to pick up the file? One way is to get a DIR of the directory into a file, load it into a table and then use a SELECT... INTO to get the filename. Of course you would add lots of error checking. But code like the following Karen
OUTPUT c:\temp\file.txt DIR d:\YourDir\*.csv OUT SCR DROP TABLE tmpFile CREATE TEMP TABLE tmpFile (dirfiledate TEXT 10, dirfiletime TEXT 8, + dirfilesize TEXT 10, dirFilename TEXT 100 ) SET NULL -0- LOAD tmpFile FROM c:\temp\file.txt AS FORMATTED USING + dirfiledate 1 10, dirfiletime 13 20, dirfilesize 31 40 dirfilename 42 141 SET NULL ' ' DELETE ROWSFROM tmpFile WHERE dirfilename IS NULL OR dirfilename LIKE 'byte%' + OR dirfilename = '.' OR dirfilename = '..' OR dirfiledate CONTAINS 'directory' -----Original Message----- From: 'jim schmitt' via RBASE-L <[email protected]> To: [email protected] Sent: Mon, Jul 26, 2021 10:46 am Subject: Re: [RBASE-L] - Capture a file Name possible Hi, Tony , Thanks for the speedy reply , but there will be only one PAYMENTS....csv file each day, and I would like to get the file name without having the operator to choose it. If I could get the name in a var, I could parse the date and capture the date. Thanks, Jim On Monday, July 26, 2021, 02:49:51 AM EDT, Tony IJntema <[email protected]> wrote: If the filename does not have always the same length, you can use a procedure like this -- capture the file name using procedure of Tony Luck SET VAR vfile = 'PAYMENTS_637467300105556434-20210120-030011.csv' -- (SLOCP(TextNoteVarcharValue,string,occurrence)) -- assuming '-' is always used in the filename -- locate startposition SET VAR V_STARTPOSITION = ( (SLOCP(.vfile ,'-',1)) + 1) -- (SGET(text,nchar,pos)) -- get datevalue as a textvalue SET VAR V_PAYMENTDATE_TXT TEXT = (SGET(.vfile ,8,.V_STARTPOSITION) ) -- (RDATE(mon,day,yr)) -- convert text value to a date value SET VAR V_PAYMENTDATE DATE = (RDATE( (NINT( (SGET(.V_PAYMENTDATE_TXT,2,5)) )), (NINT( (SGET(.V_PAYMENTDATE_TXT,2,7)) )), (NINT( (SGET(.V_PAYMENTDATE_TXT,4,1)) )) )) -- Regards Tony IJ Op 26-07-2021 om 04:39 schreef Tony Luck: There's a few ways to achieve that, here's one I use to capture the file name of a file we import twice daily using a CHOOSE statement that popups up the files for the operator. CHOOSE vfile FROM #LFILES IN &vdirfile TITLE 'Press ESC to Exit' + CAPTION 'Am Data Import File' OPTION LIST_FONT_SIZE 12 + TITLE_FONT_SIZE 12 | TITLE_FONT_COLOR BLUE From there, if the file name always places the date in the same spot you can use SGET function to extract it. P.S. I use an ampersand variable to store the network directory the file is loaded to. On Mon, Jul 26, 2021 at 12:07 PM 'jim schmitt' via RBASE-L <[email protected]> wrote: Hello, Group: I have an application where the operator will be receiving a CSV 'payments' file each day and the file has a rather long file name. Sample file name: PAYMENTS_637467300105556434-20210120-030011.csv Notice that the processing date (20210720) is buried inside the file name. Is it possible within RBASE to programmatically capture the file name in a variable so that I can interrogate the variable to obtain the processing date ? Thanks, Jim -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/1438844295.721301.1627265246989%40mail.yahoo.com. -- Regards Tony -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/CABnhDARk-7tS5u0t4NC6WmUecE%2B0ONhey4AZddev6VraCeSHjw%40mail.gmail.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/ca4e5ff7-dd79-4c48-4c52-eb399652b41f%40cio-bv.nl. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/807717408.839292.1627314401541%40mail.yahoo.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/991142962.1111475.1627315865722%40mail.yahoo.com.

