Zip/Unzip with Cache and OpenVMS

281 views
Skip to first unread message

Mack

unread,
Jun 16, 2015, 12:56:18 PM6/16/15
to intersystems...@googlegroups.com
We are having trouble in utilizing the $ZF(-1) function to call out to OpenVMS in Cache. The command line we are trying to run is as follows. Upon executing the command in an active session, it works fine. However, if we were to store this in a job to avoid it having to manually be executed, the result is not achieved.

X=$ZF(-1,"pipe set def "_fileDirectoryProcess_" ; unzip -o "_fileDirectoryProcess_fileName)

In doing some research, I found a reference to unzipping natively with GZIP here. However, I am not sure of how I would go about unzipping a file utilizing this method. Essentially, we want to unzip the file and store the contents where the zip resides and then remove the zip file.

Any examples of how to obtain a solution would be greatly appreciated.

Mack

unread,
Jun 16, 2015, 3:04:39 PM6/16/15
to intersystems...@googlegroups.com
I forgot to mention we are running on Cache 2010.2 and OpenVMS

I failed to mention the following details:
  • Cache v2010.2
  • OpenVMS v8.4
  • The 'unzip' logical refers to $SYS$SYSROOT:[SYSEXE]UNZIP.EXE
  • The 'unzip.exe' file above has RWED access to system, owner, group and world

Mack

unread,
Jun 16, 2015, 4:19:30 PM6/16/15
to intersystems...@googlegroups.com
I was able to resolve this by setting the logical within the command being executed. It is clear to me the process that is jobbed is provided with different user permissions than that of the user associated with the parent process. However, the Process Details within Cache do indicate the user as the parent process's user (tested by executing a long hang to identify the associated user).

Is anyone aware of a way to identify the user associated with the background (non-interactive) process?

Jim

unread,
Jun 17, 2015, 1:01:34 PM6/17/15
to intersystems...@googlegroups.com


On Tuesday, June 16, 2015 at 4:19:30 PM UTC-4, Mack wrote:
[...]

Is anyone aware of a way to identify the user associated with the background (non-interactive) process?

This for the process to identify its own username on VMS - specify PID as param #2 if another targeting a process other than itself.

W $ZF("GETJPI","","USERNAME")

Mack

unread,
Jul 31, 2015, 2:48:07 PM7/31/15
to Caché, Ensemble, DeepSee, mcki...@saic.com
While it took a while to get back, I want to say I greatly appreciate the response above. We were able to get the system admin to add some of the OS functions we were using in jobs, but not all of them. This will allow us to illustrate more detail.

For those who find this document and aren't as savvy with OpenVMS, I was able to use Jim's info above and find a Special Considers for OpenVMS section within the 2015.1 documentation. I could not find the 2010.2 documentation (usually it's a simple modification of the folder name in the URL, but that did not work).
Reply all
Reply to author
Forward
0 new messages