Email

  • 19 Mar

    Move a file and send email with filename and line count

    Q: Move a file and send email with filename and line count.

    Can you help me with the following question.

    I want to move a file and in an email state the file name (always a text file .csv, .txt) and a line count
    Test.txt – 12 lines

    Can this be done?

    A: Yes this is possible. We have created a Pascal Script for you to achieve this.

    1. It is important that you’ll only handle txt and csv files (text based files). We added a File Name Include File Filter, just to be sure:

    Limagito File Mover Filename Filter

    2. Open our ‘Pascal Script’ option:

    Limagito File Mover Pascal Script option

    Add and enable the following ‘On Destination’ Pascal Script. This script will load the txt/csv file and will put the line count information into our %VSA parameter which can be use within our notification email.

    Var
      tmpCount: Integer;
      tmpList: TStringList;
    Begin
      psExitCode:= 0;
      // ... add your code here
      tmpList := TStringList.Create;
      Try
        Try
          // Load Source File
          tmpList.LoadFromFile(psFilePath + psFileName);
          // Count Lines
          tmpCount := tmpList.Count;
          // Info to be used in email
          psVSA := psFileName + ' - ' + IntToStr(tmpCount) + ' lines';
          psLogWrite(1, '', 'Information: ' + psVSA);    
          // Set Result OK
          psExitCode := 1;
        Except
          psLogWrite(1, '', 'Error loading: ' + psFilePath + psFileName);
        End;
      Finally
        tmpList.Free;
      End;  
    End.

    Limagito File Mover Pascal Script option

    3. Now you can use the %VSA as parameter within the email setup:

    Limagito File Mover Email Notification Setup

    Limagito File Mover Email setup

    4. Email Result:

    Limagito File Mover Email result

     

    #Filetransfer

    If you need any info about this option, please let us know.

    Best regards,

    Limagito Team

    By Limagito-Team Email Pascal Script
  • 03 Sep

    Howto trigger email alert after the whole scheduled run completed?

    Q: Is it possible to trigger the email alert in Limagito after the whole scheduled run completed?

    Example : run every 5 mins between 12:00:00 AM and 23:59:59PM

    12:00:00 completed

    12:05:00 completed

    23:55:00 completed

    Email will tigger

    Or is there any other option to send the summary run of job every day?

     

    A: It’s not a default option but we created a small script to achieve this. It does not matter which kind of Source or Destination you are using. So you can add this to any existing Rule.

    >Open the ‘Pascal Script’ setup:

    Limagito File Mover Pascal Script

    >Enable and add the following ‘On Rule Begin’ Pascal Script:

    Begin
      psExitCode:= 1;
      // ... add your code here
      psResetRTLog;
    End.

    Limagito File Mover On Rule Begin Pascal Script

    >Enable and add the following ‘On Rule Begin’ Pascal Script (be sure to adjust the  ctLogPath  constant, we used  C:\Test\Out_Log\  as temporary directory for the log files):

    Var
      tmpDate: String;
      tmpLog: TStringList;
      tmpLogFile: String;
    Const
      ctLogPath = 'C:\Test\Out_Log\'; // Must end with \
    Begin
      psExitCode:= 1;
      // ... add your code here
      tmpDate := FormatDateTime('yyyymmdd', Now);
      tmpLogFile := ctLogPath + 'RTLog_' + tmpDate + '.log';
      //
      tmpLog := TStringList.Create;
      Try
        Try
          If FileExists(tmpLogFile) Then
            tmpLog.LoadFromFile(tmpLogFile);
          // Add
          If psLRT <> '' Then
          Begin
            tmpLog.Add(psLRT);
            // Save
            tmpLog.SaveToFile(tmpLogFile);
          End;     
        Except
          psLogWrite(1, '', 'Error Loading or Saving Log File');
        End;
      Finally
        tmpLog.Free;
      End;
    End.

    Limagito File Mover On Rule end Pascal Script

    >The script creates a RunTime log file with the date as part of the filename (format yyyymmdd). We added  C:\Test\Out_Log\  as temporary directory for the RunTime log files but you can adjust this, always end the ctLogPath constant with a backslash. Nest we’ll create a second rule which will email this file to the desired recipients.

    Limagito File Mover RunTime Log

    >Now you need to add an extra rule with a WIN as Source and SMTP as Destination:

    The Source path of this second rule is the path we used in the previous script. In our case this is ‘C:\Test\Out_Log\’.

    Limagito File Mover WIN as Source

    >Next, please open the File Filter Setup > Advanced Tab > Enable ‘Allow parameters in File Name filter’.

    Limagito File Mover File Filter

    >Add the following File Name Include filter:  *%TCD:[IncDay-1]yyyymmdd:*

    What this filter does is, it looks for a filename with a date part from yesterday because of the [IncDay-1].

    Limagito File Mover File Filter Setup

    So you can trigger this second rule like every 5 minutes since. When a new day starts and this second rule is triggered then it will email the log file from the previous day.

    Limagito File Mover Scan Timer Setup

    >We added SMTP as Destination since our goal was to email the RunTime log file.

    Limagito File Mover Destination Setup

    >Don’t forget to enable ‘Include Source File as Attachment’ so the log file will be included in the email.

    Limagito File Mover SMTP as Destination

    >If you set the Function to ‘Move Files’ then the log file will be deleted after successful SMTP transfer. If you want to keep the RunTime log files then set the Function to ‘Copy Files’ and enable our ‘File Memory’ option.

    Limagito File Mover Function Setup

    Result:

    Limagito File Mover RunTime Log

    #FileTransfer

    If you need any info about this ‘trigger email alert after the whole scheduled run’ question, please let us know.

    Best regards,

    Limagito Team

    By Limagito-Team Email Pascal Script ,
1 2 3
SEARCH