Pascal Script

  • 06 Dec

    How to add a record to a csv file

    How to add a record to a csv file

    Q: I have a job which is processed through another bit of software, I get 1 file in and at the end of the process, I can have over 100 data files.

    I need to add a record to the start of each file with the same structure, the fields can be empty but I do need to populate 2 of the fields.

    • Sequence fields needs to be 000000
    • Outname fields needs to be the name of the data file

    I then need to add a record at the end of the file but only 1 field needs to be populated

    • Sequence = 999999

    Is this achievable in Limagito? I can do this within the software that processes the data but it will be a very long process to set up.

    A: This should be possible using our scripting option.

    • We used a Windows folder as Source:

    limagito file mover windows folder as source

    • We added the following Include Filename filter because we want to be sure we only are going to handle csv files:

    limagito filemover filename filter

    • As Destination we used our PScript (Pascal Script) option:

    limagito filemover destination setup

    • Please add the following Pascal Script
      • Please add the following script: link
      • Do not forget to adjust the ctOutputPath ( path must end with a \ )
        • This is the path where the adjusted csv files will be saved

    limagito file mover add a record to a csv file

    • Example content of csv source file before changes:

    limagito filemover csv example file

    • Example content of csv destination file after changes:

    limagito file mover example csv file

    Feedback customer:

    You are an absolute legend. Thank you very much

    If you need any help with this “add a record to a csv file” question, please let us know.

    Best Regards,

    Limagito Team

    #csv #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team CSV Pascal Script ,
  • 11 Oct

    How to move two linked files at the same time

    How to move two linked files at the same time

    Q: I have a particular issue and maybe you have an answer? I need to build in a delay in the moving of files. Each time it involves 2 linked files that must be moved at the same time, the next move of 2 files may only occur when the schedule is triggered again. It is about O and R in filename files. It happens that several are created in 1 minute. However, I want 1 set of O and R files per running move rule to be moved. Do you have a magnificent solution for this that I can implement in the rule?

    limagito filemover move two linked files

     

    A: This should be possible using our Pascal Script option. Please have a look at the following blog article.

    • We used a Windows folder as Source:

    limagito file mover windows folder as source

    • Since we should copy only one set of files (linked O and R files) during each scan, we adjusted the ‘Max. Files processed in One Scan’ to 2.

    limagito file mover maximum files processed in one scan

    • Open our Pascal Script option:

    limagito file mover pascal script option

    • Enable and Add the following ‘On Rule Begin’ Pascal Script:
      • The scripts are available at the following link

    limagito file mover pascal script setup

    • Enable and Add the following ‘On Rule Begin’ Pascal Script:

    limagito file mover move two linked files pascal script

    • The Function is set to ‘Move’:

    limagito file mover function setup

    • As Destination we also used a Windows folder:

    limagito file mover destination setup

    limagito file mover windows folder as destination

     

    If you need any help with this ‘move two linked files’ question, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement

  • 04 Sep

    How to when files arrive, copy files from an other source directory

    How to when files arrive, copy files from an other source directory

    Q: I need some help on a Limagito rule I need to write :

    • Check files into a source directory.
    • When these files arrive, copy files from an other source directory with same filename but different extension.

    ie :

    Check files named 123456.pregen from c:\Test\Search\

    Then copy file c:\Test\In\123456.pdf to c:\dest\

    A: Please have a look at the following screenshots:

    • We are using a Windows folder as source. The goal is to copy files from here to a destination. Which files will depend on the script we are going to add.

    limagito file mover windows folder as source

    • File Filter Setup:
      • Add  %VSA  as include Filename Filter (%VSA = Variable String A)
      • The %VSA will contain the filenames we want to copy. Our Pascal script will add the filenames to this Var.

    limagito file mover file filter setup

    • Enable ‘Allow parameters in File Name filter’ (File Filter Setup – Advanced Tab):

    limagito file mover file filter advanced setup

    • Open our Pascal Script option

    limagito file mover pascal script option

    • Add and enable the following ‘On Rule Begin’ Pascal Script:
      • Do not forget to adjust the CtSearchPath (ctSearchFilter and ctSearchSubFolders) Const

     

    Var
      iList: Integer;
      tmpFilename: String;
      tmpList: TstringList;
    Const
      ctSearchPath = 'C:\Test\Search\'; // Must end with a \
      ctSearchFilter = '*.pregen';
      ctSearchSubFolders = False; // False or True
    Begin
      psExitCode:= 0;
      psVSA := '';
      // ... add your code here
      tmpList := psListFiles(ctSearchPath, ctSearchFilter, ctSearchSubFolders);
      Try
        For iList := 0 to (tmpList.Count-1) Do
        Begin
          tmpFilename := tmpList.Strings[iList];
          tmpFilename := ChangeFileExt(tmpFilename, '.pdf');
          psVSA := psVSA + tmpFilename + ';';    
        End;           
      Finally
        tmpList.Free;
      End;    
      // Debug
      psLogWrite(1, '', 'Filename filter as psVSA: ' + psVSA);
      // Set psExitCode
      If psVSA <> '' Then
        psExitCode := 1;
    End.

    limagito file mover copy files from an other source directory

    • We used a Windows folder as Destination:

    limagito file mover windows folder as destination

    • Function is set to Copy in our example but also Move is possible

    limagito file mover function setup

    • If function is set to Copy and you only want to copy the same files once, then please enable our File Memory option:

    limagito file mover file memory option

    • RunTime log result:

    limagito file mover runtime log

    I forgot on line. If I want to delete my pregen file after copy/move, where can I add it on code ?

    In this case some adjustments to the pascal script are needed:

    limagito file mover pascal script option

    limagito file mover pascal script option

    If you need any help with this question, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement

1 2 3 4 5 30
SEARCH