Monitoring directory

anakinanakin Member Posts: 27
Hi,

My Navision application must monitoring a directory at regular interval to see if are there files, then must copy the files to another directory.

It' possible in Navision ?

Thanks, Anakin

Comments

  • matttraxmatttrax Member Posts: 2,309
    There are three ways that I know of to accomplish tasks at regular intervals.

    1: Scheduler in Service Management
    2: OnTimer trigger on a form
    3: Using NAS

    To check if there are files in a directory you can do
    FileRec.SETRANGE("Is a File", TRUE);
    FileRec.SETRANGE(Path, somePath);
    IF FileRec.FIND('-') THEN REPEAT
    ...
    UNTIL FileRec.NEXT = 0;
    
    When I had to move files around from within Navision I made it output commands to a batch file and then I ran that file from a command prompt using the shell command. Might be a better way to do it, but I don't know of one.
  • Igor_BeeoneIgor_Beeone Member Posts: 80
    Hello,
    take a look at File record (it's not visible in object designer).
    Make a new codeunit, create a record variable with a record File, filter there directory you want to watch and run this codeunit on a scheduler.
    There is one problem while watching directory - for proper working you must go to another directory and then go back, in this case File table is refreshed. (As I remember it was a problem in 3.7 version)
    FileList - File record
      FileList.RESET;
      FileList.SETRANGE(Path,'C:\');
      IF FileList.FIND('-') THEN;
      FileList.RESET;
      FileList.SETRANGE(Path,PathToWatch);
      FileList.SETRANGE(Name,FileName);
      IF FileList.FIND('-') THEN
      BEGIN
      END;
    
    Hope it helps.
    Br,
    Igor Beeone
Sign In or Register to comment.