Link to home
Create AccountLog in
Avatar of Bianchi928
Bianchi928

asked on

Prompting for password

I have a vbscript that runs every 5 mins on scheduler. For some reason it will work fine for 4 to 5 days and then will suddently prompt for password which is already hardcoded in the script. Next I need to kill the script and it will work just fine at the next iteration of the scheduler.

Is there a way that I can put some code in the script to automatically kill the job whenever it comes to ask for password.

Here's a section of the script


Set MySite = CreateObject("CuteFTPPro.TEConnection")

MySite.Host = "???.???.??.??"
MySite.Protocol = "SFTP"
MySite.Port = 22
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 4
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"

' WARNING!!! SENSITIVE DATA: user name and password.

MySite.Login = "??????????????????"
MySite.Password = "AAAAAAAA"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""

' Connect to remote server

MySite.Connect

Wscript.sleep 10000
Avatar of RobSampson
RobSampson
Flag of Australia image

You probably can't do that.  Is the prompt for a proxy connection, or the FTP connection?

How is it set up? I would assume that to have this running every five minutes, you have it scheduled to run once an hour, but is looping every five minutes?  You might be better off setting it as a 24 hour schedule, and going into the Advanced options, and setting "Repeat every 5 minutes", and also selecting "Run task as soon as possible after a scheduled start is missed"

This way, it should start a new process every 5 minutes, rather that use the same process for an entire hour, which is where maybe a username "time-out" is happening...

Regards,

Rob.
Avatar of Bianchi928
Bianchi928

ASKER

Hi Rob,

Long time no see. Were you affected by the hurricane Sandy ? Okay, the code was generated through CuteFTP, so I would say that it's an FTP connection. Attached are a few screen shots that I've just changed to match what the changes you requested. Please advise .

Thanks
Cheers
ANZ-Transactive-Scheduler-screen.doc
Hi, I wasn't affected by the hurricane, since I'm in Australia, but the devastation of it was all over the news for days!  Horrendous!!!

Your task configuration looks OK.  What is in the batch file that's on the C drive?  Does that start a VBS and nothing more?

Rob.
I'm Aussie too..Oi Oi Oi.

The following is what's in the batch file\

cd\
cscript.exe c:\ANZTransactive.vbs //Logo
Cool.  There aren't too many Aussies on here...it's nice to know another one!

We could change the action to read just
cscript C:\ANZTransactive.vbs //Logo

instead of running the batch, just to streamline it a bit more.

So, does the script look like it executes through once, then exits, or does it have a loop in it?

Regards,

Rob.
That's the full script call ANZTransactive. I did this one all by myself.

Cheers



'On Error resume next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell  = CreateObject("WScript.Shell")

'Initialize variables for Folders & Files

APPath1         = "\\tyrenet-14\ANZAP$\outbound\"
APArchive       = "\\tyrenet-14\ANZAP$\archive\"

PayrollPath1    = "\\tyrenet-14\ANZPayroll$\outbound\"
PayrollArchive  = "\\tyrenet-14\ANZPayroll$\archive\"

ANZInbound        = "\\tyrenet-14\ANZInbound$\"
ANZInboundArchive = "\\tyrenet-14\ANZInbound$\archive\"

LogfilePath     = "\\tyrenet-14\ANZLog$\"

Logfilename     = "\\tyrenet-14\ANZLog$\logfile.txt"

Const intForAppending = 8

Set objFolderA = objFSO.GetFolder(APPath1)

For Each objFile In objFolderA.Files
  partsA = split(objFile.Name, ".")
  file_name = partsA(0)
  ext = partsA(1)
  If LCase(ext) <> "aba" Then objFile.Delete
Next

Set objFolderB = objFSO.GetFolder(PayrollPath1)

For Each objFile In objFolderB.Files
  partsB = split(objFile.Name, ".")
  file_name = partsB(0)
  ext = partsB(1)
  If LCase(ext) <> "aba" Then objFile.Delete
Next

' Check for Folders & Files

If objFSO.FolderExists(LogFilePath)  = True Then
   If objFSO.FileExists(LogFilename) Then
      Set objOutput = objFSO.OpenTextFile(LogFileName, intForAppending, False)
   Else
     Set objOutput = objFSO.CreateTextFile(LogFileName, intForAppending, False)
   End If
Else
   ObjOutput.WriteLine Date() & " " & Time() & " " & LogFilePath & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(APPath1)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & APPath1 & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(PayrollPath1)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & PayrollPath1 & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(APArchive)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & APArchive & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(PayrollArchive)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & PayrollArchive & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(ANZInbound)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & ANZInbound & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If

If objFSO.FolderExists(ANZInboundArchive)  = False Then
   ObjOutput.WriteLine Date() & " " & Time() & " " & ANZInboundArchive & " Not Found"
   objOutput.Close
   Wscript.Quit 
End If


' Initialize remote server host name, protocol, port, etc.

Set MySite = CreateObject("CuteFTPPro.TEConnection")

MySite.Host = "???.???.??.??"
MySite.Protocol = "SFTP"
MySite.Port = 22
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 4
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"

' WARNING!!! SENSITIVE DATA: user name and password.

MySite.Login = "???????????????"
MySite.Password = "AAAAAAAAAA"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""

' Connect to remote server

MySite.Connect

Wscript.sleep 10000

If (Cbool(MySite.IsConnected)) Then 
   ObjOutput.WriteLine Date() & " " & Time() & " Successful connection to : " & MySite.Host 
Else
   ObjOutput.WriteLine Date() & " " & Time() & " Failed to connect to : " & MySite.Host & " " & MySite.ErrorDescription
   WshShell.Popup "Connection Failed",10,"ANZ Transactive"
   objOutput.Close
   Wscript.quit
end if


'Upload & Download Files

Set ObjFolder1  = objFSO.GetFolder(APPath1)
Set ObjFolder2  = objFSO.GetFolder(PayrollPath1)
Set ObjFolder3  = objFSO.GetFolder(ANZInbound)

If objFolder1.Files.Count = 0 then
   ObjOutput.WriteLine Date() & " " & Time() & " " & "No files found in " & APPath1 & " to upload to the FTP server"
Else
   MySite.Upload APPath1 & "*.ABA", "/OUT/"
   ObjOutput.WriteLine Date() & " " & Time() & " " & objFolder1.Files.Count & " file(s) from " & APPath1 & " uploaded to the FTP server"
End If

If objFolder2.Files.Count = 0 then
   ObjOutput.WriteLine Date() & " " & Time() & " " & "No files found in " & PayrollPath1 & " to upload to the FTP server"
Else
   MySite.Upload PayrollPath1 & "*.ABA", "/OUT/"
   ObjOutput.WriteLine Date() & " " & Time() & " " & objFolder2.Files.Count & " file(s) from " & PayrollPath1 & " uploaded to the FTP server"
End If

RemoteFolder = MySite.RemoteExists("IN")
If (not RemoteFolder) Then
    ObjOutput.WriteLine Date() & " " & Time() & " Remote folder /IN not found"
Else
    MySite.Download "/IN/*.log", ANZInbound
end if

If objFolder3.Files.Count = 0 then
   ObjOutput.WriteLine Date() & " " & Time() & " " & "No files found to download from the FTP server"
Else
   ObjOutput.WriteLine Date() & " " & Time() & " " & objFolder3.Files.Count & " file(s) downloaded from the FTP server"
End If

Wscript.sleep 10000

' Archiving

Newname = replace(date,"/","") & replace(time,":","")

If objFolder1.Files.Count > 0 then
   For Each strFiles In objFolder1.Files 
       FileName= Split(strFiles.Name,".") 
       V1 = Replace(strfiles.name, Filename(0) , Filename(0) & newname) 
       objFSO.CopyFile appath1 & strFiles.name , APArchive & v1 ,  True 
   Next
   objFSO.deletefile APPath1 & "*.ABA"
   ObjOutput.WriteLine Date() & " " & Time() & " Archiving for " & APPath1 & " completed "
end if


If objFolder2.Files.Count > 0 then
   For Each strFiles In objFolder2.Files 
       FileName= Split(strFiles.Name,".") 
       V1 = Replace(strfiles.name, Filename(0) , Filename(0) & newname) 
       objFSO.CopyFile PayrollPath1 & strFiles.name , PayrollArchive & v1 ,  True 
   Next
   objFSO.deletefile PayrollPath1 & "*.ABA"
   ObjOutput.WriteLine Date() & " " & Time() & " Archiving for " & PayrollPath1 & " completed "
end if


If objFolder3.Files.Count > 0 then
   For Each strFiles In objFolder3.Files 
       FileName= Split(strFiles.Name,".") 
       V1 = Replace(strfiles.name, Filename(0) , Filename(0) & newname) 
       objFSO.CopyFile ANZInbound & strFiles.name , ANZInboundArchive & v1 ,  True 
   Next
   objFSO.deletefile ANZInbound & "*.Log"
   ObjOutput.WriteLine Date() & " " & Time() & " Archiving for " & ANZInbound & " completed "
end if

ObjOutput.WriteLine Date() & " " & Time() & " FTP session completed successfully "

MySite.Disconnect
objOutput.Close
Wscript.Quit

Open in new window

Hmmm, every five minutes may be too frequent for this script.  Firstly you have 30 retries at 30 second intervals, which is 15 minutes worth of retrying if it fails to connect.  Make the Retries property only 8 (or less) so that you get four minutes worth of retrying (to take into account connection attempt time as well).

You also have two 10 second delays...not sure if these are required, but I assume you've tested that anyway.

When it does fail, what does the logfile say?  I see that it's appending, so you should see all FTP attempts.  For the time that it shows the prompt, what does the log file say there?

Regards,

Rob.
Down below is part of the log file. As you see it's wasn't doing anything between 04/11/2012 at 8:30:40 and 05/11/2012 10:31:00 because it was witing for the password which is already hard coded in teh script. So, I kill the job and let the scheduler run it again and it worked fine. Just as I said it just happens randomly.

I put these 2 (10 secs delay and part of a solution to fix this problem.

Cheers

4/11/2012 8:30:40 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
4/11/2012 8:30:40 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
4/11/2012 8:30:40 AM No files found to download from the FTP server
4/11/2012 8:30:53 AM FTP session completed successfully
5/11/2012 10:31:00 AM Successful connection to : 203.166.22.98
5/11/2012 10:31:00 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
5/11/2012 10:31:00 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
5/11/2012 10:31:00 AM No files found to download from the FTP server
5/11/2012 10:31:12 AM FTP session completed successfully
5/11/2012 10:40:11 AM Successful connection to : 203.166.22.98
5/11/2012 10:40:11 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
5/11/2012 10:40:11 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
5/11/2012 10:40:12 AM No files found to download from the FTP server
5/11/2012 10:40:23 AM FTP session completed successfully
5/11/2012 10:50:16 AM Successful connection to : 203.166.22.98
5/11/2012 10:50:16 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
5/11/2012 10:50:16 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
5/11/2012 10:50:16 AM No files found to download from the FTP server
5/11/2012 10:50:28 AM FTP session completed successfully
5/11/2012 11:00:32 AM Successful connection to : 203.166.22.98
5/11/2012 11:00:34 AM 1 file(s) from \\tyrenet-14\ANZAP$\outbound\ uploaded to the FTP server
5/11/2012 11:00:34 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
5/11/2012 11:00:35 AM No files found to download from the FTP server
5/11/2012 11:00:47 AM Archiving for \\tyrenet-14\ANZAP$\outbound\ completed
5/11/2012 11:00:47 AM FTP session completed successfully
OK, so it doesn't take that long to execute, and you have a ten minute schedule in that log, so that should be fine.  I think we'll add some more logging to the pre-connection area to see what might be happening, or at least at what point it's happening.

Change this section:
' Initialize remote server host name, protocol, port, etc.

Set MySite = CreateObject("CuteFTPPro.TEConnection")

MySite.Host = "???.???.??.??"
MySite.Protocol = "SFTP"
MySite.Port = 22
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 4
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"

' WARNING!!! SENSITIVE DATA: user name and password.

MySite.Login = "???????????????"
MySite.Password = "AAAAAAAAAA"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""

' Connect to remote server

MySite.Connect

Wscript.sleep 10000

Open in new window


to this:
' Initialize remote server host name, protocol, port, etc.
ObjOutput.WriteLine Date() & " " & Time() & " Creating ActiveX object for connection..."
Set MySite = CreateObject("CuteFTPPro.TEConnection")
ObjOutput.WriteLine Date() & " " & Time() & " Setting properties of the connection"
MySite.Host = "???.???.??.??"
MySite.Protocol = "SFTP"
MySite.Port = 22
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 4
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"

' WARNING!!! SENSITIVE DATA: user name and password.

ObjOutput.WriteLine Date() & " " & Time() & " Setting credentials for the connection"
MySite.Login = "???????????????"
MySite.Password = "AAAAAAAAAA"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""

' Connect to remote server
ObjOutput.WriteLine Date() & " " & Time() & " Executing Connect method"
MySite.Connect
ObjOutput.WriteLine Date() & " " & Time() & " Waiting predetermined amount of time..."

Wscript.sleep 10000

Open in new window


And we'll wait until another failure, and see what the log file says.

Regards,

Rob.
Thanks Rob. I will only be able to do the change and test it on Wednesday. In the mean time I will let it run with the changes you suggested for the scheduler as see how it goes.

I'll will get back to you.

Cheers
No problem.  I won't be available tomorrow anyway, due to the Melbourne cup public holiday, so I'll follow up on Wednesday.

Rob.
Can you set the login time-out period so that even if it puts up the prompt it will still fail after X seconds of inactivity... this would allow it to basically restart itself.
Rob,

Okay it failed again yesterday morning as per log..I have done the changes to the log as per your suggestion and we'll see how it goes .

6/11/2012 11:30:11 AM Successful connection to : ???.???.??.??
6/11/2012 11:30:11 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
6/11/2012 11:30:11 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
6/11/2012 11:30:11 AM No files found to download from the FTP server
6/11/2012 11:30:22 AM FTP session completed successfully
7/11/2012 7:42:13 AM Creating ActiveX object for connection...
7/11/2012 7:42:13 AM Setting properties of the connection
7/11/2012 7:42:13 AM Setting credentials for the connection
7/11/2012 7:42:13 AM Executing Connect method
7/11/2012 7:42:14 AM Waiting predetermined amount of time...
7/11/2012 7:42:24 AM Successful connection to : ???.???.22.??
7/11/2012 7:42:24 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
7/11/2012 7:42:24 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
7/11/2012 7:42:24 AM No files found to download from the FTP server
7/11/2012 7:42:34 AM FTP session completed successfully
7/11/2012 7:45:00 AM Creating ActiveX object for connection...
7/11/2012 7:45:00 AM Setting properties of the connection
7/11/2012 7:45:00 AM Setting credentials for the connection
7/11/2012 7:45:00 AM Executing Connect method
7/11/2012 7:45:01 AM Waiting predetermined amount of time...
7/11/2012 7:45:11 AM Successful connection to : ???.???.??.??
7/11/2012 7:45:11 AM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
7/11/2012 7:45:11 AM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
7/11/2012 7:45:12 AM No files found to download from the FTP server
7/11/2012 7:45:22 AM FTP session completed successfully
Wow, so it finished here:
6/11/2012 11:30:22 AM FTP session completed successfully

and didn't start again until here (after you restarted it)?
7/11/2012 7:42:13 AM Creating ActiveX object for connection...

Since there's no log entries at all in between that time, it's almost like it either never started, or it errored out somewhere before that.

Can we change your scheduled task action to this:
cmd /c cscript C:\ANZTransactive.vbs //Logo > C:\ANZTransactiveTaskOutput.txt

and then when it hangs next, have a look at the new log file and see if there's an error in it from the script.

Also, just to make sure that there's no process getting in the way, terminate any cmd.exe or cscript.exe processes that aren't in use.

Regards,

Rob.
Thanks. I will try that later and will keep you informed.

Cheers
Okay..Some infos for you. I've changed the batch file

The script stopped again..
That's the log

7/11/2012 3:15:11 PM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
7/11/2012 3:15:11 PM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
7/11/2012 3:15:12 PM No files found to download from the FTP server
7/11/2012 3:15:22 PM FTP session completed successfully
7/11/2012 3:30:00 PM Creating ActiveX object for connection...
7/11/2012 3:30:00 PM Setting properties of the connection
7/11/2012 3:30:00 PM Setting credentials for the connection
7/11/2012 3:30:00 PM Executing Connect method

It was prompting for password. As sson as I cancelled, the scheduler ran it again and it was successful.


7/11/2012 3:45:04 PM Creating ActiveX object for connection...
7/11/2012 3:45:04 PM Setting properties of the connection
7/11/2012 3:45:04 PM Setting credentials for the connection
7/11/2012 3:45:04 PM Executing Connect method
7/11/2012 3:45:05 PM Waiting predetermined amount of time...
7/11/2012 3:45:15 PM Successful connection to : 203.166.22.98
7/11/2012 3:45:15 PM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
7/11/2012 3:45:15 PM No files found in \\tyrenet-14\ANZPayroll$\outbound\ to upload to the FTP server
7/11/2012 3:45:16 PM No files found to download from the FTP server
7/11/2012 3:45:26 PM FTP session completed successfully



That's the contents of  ANZTransactiveTaskOutput

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.


I'm lost

Cheers
OK, so it looks like it's just bombing out on the .Connect method for some reason.

From the documentation here:
http://help.globalscape.com/help/cuteftppro8/sending_commands_to_the_te.htm

see if it helps if you add this

MySite.TECommand("DELETEFINISHED")

above this line

MySite.Disconnect

More relevant though, looks to be the settings found here:
http://help.globalscape.com/help/cuteftppro8/Setting_or_retrieving_other_settings.htm

From which I suggest you add

MySite.Option("ThrowError") = False
MySite.Option("AutoCloseMethod") = 2  'will auto reject prompt
MySite.Option("AutoCloseDelay") = 5   'wait 5 seconds before reject

above the

MySite.Connect

line, to reject the prompt (hopefully).

Let's see if that helps....if that provide any more useful results, I think we might have to submit a ticket to CuteFTP Pro support to see under what circumstances the prompt appears.

Regards,

Rob.
Actually, one other thing...while's it's hanging, is there a process running called ftpte.exe?  How many instances are there?
I have done the above changes and will test during the day. Also I can see that since 15:45 yesterday it hasn't failed at all....

Will let you know about the ftpte.exe. Never wanted the script to fail so bad....

Cheers
It certainly doesn't look like it's your fault that it fails though. It appears that for some reason (without seeing what the actual prompt looks like), the Login and Password isn't sticking during the .Connect method or something....

Let's see what we get this time...

Rob.
Okay..I've got some infos for you..

The job stopped at 13:30...check the log for he error message.

8/11/2012 1:15:22 PM FTP session completed successfully
8/11/2012 1:30:00 PM Creating ActiveX object for connection...
8/11/2012 1:30:00 PM Setting properties of the connection
8/11/2012 1:30:00 PM Setting credentials for the connection
8/11/2012 1:30:00 PM Executing Connect method
8/11/2012 1:41:02 PM Waiting predetermined amount of time...
8/11/2012 1:41:12 PM Failed to connect to : 203.166.22.98 SFTP operation timed out.; Can't connect to 203.166.22.98:22. SFTP21 error = #0. 0


I've also attched a screenshot of the prompt for password.
There was one instance of ftpte.exe running

Hope that helps
Cheers
sd.JPG
Forgot this one

8/11/2012 1:45:00 PM Creating ActiveX object for connection...
8/11/2012 1:45:00 PM Setting properties of the connection
8/11/2012 1:45:00 PM Setting credentials for the connection
8/11/2012 1:45:00 PM Executing Connect method
8/11/2012 1:45:02 PM Waiting predetermined amount of time...
8/11/2012 1:45:12 PM Successful connection to : 203.166.22.98
8/11/2012 1:45:12 PM No files found in \\tyrenet-14\ANZAP$\outbound\ to upload to the FTP server
8/11/2012 1:45:14 PM 1 file(s) from \\tyrenet-14\ANZPayroll$\outbound\ uploaded to the FTP server
8/11/2012 1:45:14 PM No files found to download from the FTP server
8/11/2012 1:45:28 PM Archiving for \\tyrenet-14\ANZPayroll$\outbound\ completed
8/11/2012 1:45:28 PM FTP session completed successfully
ASKER CERTIFIED SOLUTION
Avatar of RobSampson
RobSampson
Flag of Australia image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
That's right , it was waiting for the password. But even when I type in the password it doesn't do anything. I need to 'cancel'.

 Yes, I added these 3 lines above MySite.Connect

' Connect to remote server

ObjOutput.WriteLine Date() & " " & Time() & " Executing Connect method"

MySite.Option("ThrowError") = False
MySite.Option("AutoCloseMethod") = 2  'will auto reject prompt
MySite.Option("AutoCloseDelay") = 5   'wait 5 seconds before reject
MySite.Connect

ObjOutput.WriteLine Date() & " " & Time() & " Waiting predetermined amount of time..."

Wscript.sleep 10000
I will contact CuteFTPPro and submit the relevant details as to why it intermittently ask for password.
Thanks very much for your help as it has guided me towards what could be wrong. I will let you know the outcome.

Thanks
Cheers
Thanks. No problem.  I would be interested to see what they say.

Rob.