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] <mailto:[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
    <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]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/rbase-l/1438844295.721301.1627265246989%40mail.yahoo.com
    
<https://groups.google.com/d/msgid/rbase-l/1438844295.721301.1627265246989%40mail.yahoo.com?utm_medium=email&utm_source=footer>.



--
Regards
Tony
--
For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php <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] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/CABnhDARk-7tS5u0t4NC6WmUecE%2B0ONhey4AZddev6VraCeSHjw%40mail.gmail.com <https://groups.google.com/d/msgid/rbase-l/CABnhDARk-7tS5u0t4NC6WmUecE%2B0ONhey4AZddev6VraCeSHjw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
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.

Reply via email to