How-to

  • 12 Nov

    How to verify that the checksum of destination files remain unchanged

    How to verify that the checksum of destination files remain unchanged

    Q: Is it possible to verify that a file’s encryption (SHA) in the source folder remains unchanged when it is transferred to the destination folder? Additionally, send an email if anything has changed.

    We want to know when a change is made to the file after it has been moved to the destination folder. Additionally, get an email notification if there is a change. Another software should pull the file, we ask to check that no changes were made to the file until it transferred from the destination folder .

    A: We needed two Rules to achieve this.

    • Rule 1: Will search for the Source files to move. When a file is found, it will add some information (filename, checksum, date) about this file to a separate data text file.
    • Rule 2: Will check the Destination folder of the first Rule. It will search for moved files and if a file is found (not yet picked up), it will compare its checksum with the information found in the data text file. If there is a difference, Rule 2 will return an error which will trigger an email event.

    limagito file mover checksum of destination files

    1. First Rule: ‘OPC Move’

    Source must be a Windows folder or share:

    limagito file mover windows folder as source

    Function Setup, we enabled ‘Exit Cyclus on Error’ as Destination option:

    limagito file mover function setup

    Destination Setup, we added two Destinations:

    1. Pascal Script as Destination
    2. WIN (Windows Folder or Share) as Destination

    limagito file mover destination setup

    First Destination: Pascal Script:

    Do not forget to adjust the ctChecksumFile const. This is the data file where we keep checksum information about the files we moved.

    Important:

    • The path of this file should already exist, we’ll create the file.
    • This path should be a local path on the system where Limagito File Mover is running.
    • It should NOT be the same as the Source or Destination Path, use a folder that is only used for this purpose.

    You can download the script: here

    limagito file mover pascal script as destination

    Second Destination, is the actual Destination folder of the Source files. This is where the other software will pull the files from. Destination must be a Windows folder or share.

    limagito file mover windows folder as destination

    2. Second Rule: ‘OPC Checksum Check’

    The Source of this second Rule is the Destination of the First ‘Move’ Rule, this is important. This Second Rule will search for moved files and if a file is found (not yet picked up), it will compare its checksum with the information found in the data text file. If there is a difference, Rule 2 will return an error which will trigger an email event.

    limagito file mover Windows folder as destination

    As Schedule we used a timer and set it to every 5 seconds:

    limagito file mover schedule setup

    Function Setup: set ‘Rule Function’ to copy. We will not copy any files but this needed by the internal process.

    limagito file mover function setup

    As Destination, we added a ‘Pascal Script’. This script will compare the checksum of the files found with the information in the data text file. If there is a difference it will return an error which will trigger an email event.

    limagito filemover destination setup

    Destination: Pascal Script:

    Do not forget to adjust the ctChecksumFile const. This is the data file where checksum information about the moved files by the first ‘Move’ Rule is kept.

    Important: Use exactly the same file as you did in the Pascal Script of the first ‘Move’ Rule.

    You can download the script: here

    limagito file mover checksum of destination files

    Open our Rule events option:

    limagito file mover rule events option

    limagito filemover rule events setup

    With ‘On Error’ selected > Options Tab > Enable ‘File Error event memory’. This way you only get one email per filename.

    limagito file mover rule events setup

    Email Setup:

    limagito file mover rule events email setup

    RunTime Log Result:

    limagito file mover runtime log result

    #managedfiletransfer #filetransfer #filemanagement

    If you need any help with this ‘checksum of destination files’ request, please let us know.

    Best Regards,

    Limagito Team

    By Limagito-Team How-to WIN
  • 31 Oct

    How to email a list of filenames after pdf split

    Email list of filenames after pdf split

    Q: I was wondering if there was a way to add the file names from a pdf split to VSA, much like you can when unzipping.

    I’d like to send an email confirmation on completion when pdfs are sent through this workflow. The PDF’s will vary in page counts, and the recipients are non-technical users.

    Below is a log file, from which I’d like to send an email like:

    “the following files have been sent:

    cmg_tabloid_NT_SP1_20231026_001_S.pdf

    cmg_tabloid_NT_SP1_20231026_002_S.pdf

    cmg_tabloid_NT_SP1_20231026_003_S.pdf

    cmg_tabloid_NT_SP1_20231026_004_S.pdf

    cmg_tabloid_NT_SP1_20231026_005_S.pdf

    cmg_tabloid_NT_SP1_20231026_006_S.pdf

    cmg_tabloid_NT_SP1_20231026_007_S.pdf

    cmg_tabloid_NT_SP1_20231026_008_S.pdf”

    Can I add a destination variable like %VSA

    A: We added a new option in our ‘PDF as Destination’ to achieve this, available since version v2023.10.29.0 (29th of October 2023).

    Open (or add) your PDF as Destination:

    limagito file mover pdf as destination

    The new option is available after you add a ‘Output PDF File’ Action:

    limagito file mover output pdf file action

    We enabled ‘Split Pages’ and selected ‘Filename(s)’ as ‘Output successful files to %VSA var’.

    limagito file mover list of filenames after pdf split

    Now you can use the %VSA var in your email setup, it will contain the splitted files when the new option is selected.
    We did a test and this is the email we received when using %VSA as body of the email;
    limagito file mover list of filenames after pdf split
    Feedback customer:
    Thank you for this. The speed that you knock out feature request is unparalleled.

    #pdf #filetransfer #filemanagement #filehandling

    If you need any help with this ‘list of filenames after pdf split’ option, please let us know.

    Best Regards,

    Limagito Team

    By Limagito-Team How-to PDF
  • 29 Oct

    How to filter file from read content in file header data

    Q: How to filter file from read content in file Header data date=today yyyymmdd

    A: We received an example of the file we need the content from. The filename of this text file stays the same, it is being updated each day by the customer.

    This is an example of the content of this file where we need to read ‘RUNDATE=’ value and use it as ‘Include File Filter’.

    limagito file mover filter file from read content
    In our test setup we used a Windows folder as Source and Destination. Source and Destination can be any type. The text file where we need to read the content from and use it as filter must be located on a Windows folder or Share.
    limagito file mover test environment
    Subfolders Test Environment:
    – Data: contains the text file we will check for the ‘RUNDATE’ entry that will be used as file filter.
    – In: Files to be moved
    – Out: Destination of files
    Please open our ‘Pascal Script’ option:
    limagito file mover pascal script option

    Enable and add the following ‘On Rule Begin’ Pascal Script. I’ve attached the script (script.txt). Don’t forget to adjust the ctTxtFile Const to your actual setup. The script will load the text file when the Rule is triggered, it will strip the part after ‘RUNDATE=’ and will set this to our %VSA variable that will be used in the FileName Include Filter setup.

    Var
      iList: Integer;
      tmpEntry, tmpFile: String;
      tmpList: TStringList;
    Const
      ctRunDate = 'RUNDATE=';
      ctTxtFile = 'C:\Test\Customer\Data\fxrate0000_getdata.txt';
    Begin
      psVSA := '';
      psExitCode:= 0;
      tmpFile := ctTxtFile;
      psLogWrite(1, '', 'Searching for filter from File: ' + tmpFile);
      tmpList := TStringList.Create;
      Try
        Try
          tmpList.LoadFromFile(tmpFile);
          // Iterate
          For iList := 0 to (tmpList.Count - 1) Do
          Begin
            tmpEntry := AnsiUpperCase(tmpList.Strings[iList]);
            If pos(ctRunDate, tmpEntry) <> 0 Then
            Begin
              tmpEntry := psStringReplace(tmpEntry, ctRunDate, '');
              If tmpEntry <> '' Then
              Begin
                psVSA := '*' + tmpEntry + '*';
                psExitCode := 1; // Filter found
                // Debug
                psLogWrite(1, '', 'File Filter adjusted to: ' + psVSA);
                // Break
                Break;
              End;
            End;
          End;
         Except
           psLogWrite(1, '', 'LoadFromFileError, ' + tmpFile);
         End;
      Finally
        tmpList.Free;
      End;
    End.

    limagito file mover pascal script option
    Add the following File Filter Setup:
    limagito file mover file filter setup
    Important, do not forget to enable ‘Allow parameters in File Name Filter’:
    limagito file mover file filter advanced options
    Now enable and trigger the Rule. RunTime Log Result:
    limagito file mover runtime log result

    #filehandling #filetransfer #filemanagement

    If you need any help with this ‘filter file from read contents’ request, please let us know.

    Best Regards,

    Limagito Team

1 2 3 4 5 6
SEARCH