copying a file from openVMS to windows - cache is running in the vms server

71 views
Skip to first unread message

izz...@gmail.com

unread,
Mar 5, 2009, 9:41:29 AM3/5/09
to intersystems.public.cache
hi all,

i am part of a team working on a system that needs to integrate
windows and open vms
my problem is that in this office cache is running on vms and my other
program is in windows
any tips to modify the cache cos program to transfer the files created
in vms to a windows folder?
(sample code would be supper duper)

i was checking the %File class but it doesn't see the windows side of
the network

any help will be greatly appreciated

frank (izzy)

Pete

unread,
Mar 6, 2009, 11:11:28 AM3/6/09
to intersystems.public.cache
How often would you need to do this? I assume initiating a scheduled
FTP from the Windows machine wouldn't work...

Fernando Telesca

unread,
Mar 6, 2009, 11:39:27 AM3/6/09
to intersystems...@googlegroups.com
You can use %Net.FtpSession class.
 
Fernando
2009/3/6 Pete <peter.ch...@gmail.com>

Mikey

unread,
Mar 6, 2009, 11:40:15 AM3/6/09
to intersystems.public.cache
It is possible to create vma com file that ftps the files from vms to
a windows server and use $ZF to execute that ftp com file to send the
file from vms to windows

Mike minor

Donnie

unread,
Mar 6, 2009, 7:54:14 AM3/6/09
to intersystems.public.cache
Frank,

Have you looked into having Cache ftp the file for you? Below is some
code snippets from a class I wrote to
handle sending file via ftp:


Set ftp=##class(%Net.FtpSession).%New()
Set stat=ftp.Connect(..server,..username,..passwd)


If ..trsfrtype="B" {
Set stat=ftp.Binary()
Set Msg=" >Transfer method set to Binary"
} Else {
Set stat=ftp.Ascii()
Set Msg=" >Transfer method set to Ascii"
}

if you need to change directories on the receiving system:

Set stat=ftp.SetDirectory(..serverdir)

When sending the file:

If ..filetype="B" {
Set sf=##class(%FileBinaryStream).%New()
} Else {
Set sf=##class(%FileCharacterStream).%New()
}
Set sf.Filename=FILE
Set SendFile=..sendasname

set stat=ftp.Store(SendFile,sf)

If you need to rename the file on the receiving server:

Set stat=ftp.Rename(SendFile,NewName)

End your ftp session"

ftp.Logout()


hth,
Donnie

izz...@gmail.com

unread,
Mar 9, 2009, 1:56:10 PM3/9/09
to intersystems.public.cache
hey, thanks much for all the tips guys!
here's the deal: the client doesn't want to open up ftp access (yeah,
i know!!! my thoughts exactly!) - but i can access that network driver
- that's where they want me to save my reports and documentation for
my project (!?)
so, if anyone has any idea on how to go from openVMS to WindowsNT w/o
ftp let me know! ;)
again, thanks a bunch!

frank

Jim

unread,
Mar 10, 2009, 8:09:47 AM3/10/09
to intersystems.public.cache
On Mar 9, 1:56 pm, "izzy...@gmail.com" <izzy...@gmail.com> wrote:
> hey, thanks much for all the tips guys!
> here's the deal: the client doesn't want to open up ftp access (yeah,
> i know!!! my thoughts exactly!) - but i can access that network driver
> - that's where they want me to save my reports and documentation for
> my project (!?)
> so, if anyone has any idea on how to go from openVMS to WindowsNT w/o
> ftp let me know! ;)
> again, thanks a bunch!
>

You could likely use SAMBA (or more recently CIFS, but since you're
using DSM we know that you must be at VMS 7.3-2 or prior) as it will
permit a VMS system access to the Windows file system. See http://www.samba.org
. V2.2.8 seems to be the version that you might use -
http://www.pi-net.dyndns.org/anonymous/jyc/ provides the kit and
offers installation guidance. I have not previously used this though
many others do.

Mikey

unread,
Mar 11, 2009, 9:21:11 AM3/11/09
to intersystems.public.cache
Another way might be to install a terminal emulator package such as
reflecions on a pc that has a connection to the network. Use the TE's
scripting capability to log onto the VMS server and transfer the files
back to the PC and then copy the files from the pc to wherever they
are needed on the network. Not very elegant, but it will work....
Reply all
Reply to author
Forward
0 new messages