Suggestion for improvement

Discussion of the Co:Z Toolkit Dataset Pipes utilities
Post Reply
mvsroot
Posts: 39
Joined: Thu Aug 12, 2004 8:18 am

Suggestion for improvement

Post by mvsroot »

Thanks for your great tool.
Could you add a feature in fromdsn that lists all members (with/without statistics) if I don't specify a member during PDS/PDSE processing?
Thanks
Dirk
dovetail
Site Admin
Posts: 2022
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail »

Thanks for your suggestion. This would be a useful feature. We'll try to add it to the next release.

FWIW, you can use fromdsn to read raw directory blocks using: -o "RECFM=U,BLKSIZE=256". But its a bit of work to format these.
dovetail
Site Admin
Posts: 2022
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail »

Dirk,

One of the less publicized features of Dataset Pipes / Co:Z is the remote client "cozclient" shell command.

In remote-client initiazed mode, it works like the ssh command, but allows control over translation of stdin/stdout/stderr. In Co:Z Launcher started mode, it allows the target server to execute arbitrary z/OS shell commands and redirect stdin/stdout/stderr with control of translation.

So, for example, you can do this in ssh client-initiated mode:

cozclient -ssh myid@myzos.myco.com anycommand args...

"anycommand args..." can be any shell script, binary, or even REXX script that can be run as a z/OS Unix command.

Does this help you with this requirement?
Do you also see a need for us to provide a z/OS Unix shell command that does PDS directory listings with different options. If you think that this should be a priority / have wide appeal, what options and features should it have?

Thanks,
Kirk
john.mckown
Posts: 48
Joined: Tue Jun 12, 2007 2:46 pm

Post by john.mckown »

In UNIX REXX, a person could do something like the following:

/* REXX */
parse arg INDSN
DUMMY=OUTTRAP("DATA.","*")
ADDRESS TSO "LISTDS "INDSN" MEMBERS"
MEMBER.0=0
DO I=1 TO DATA.0 WHILE (DATA.I <> "--MEMBERS--");END
K=0
DO J=I+1 TO DATA.0
K=K+1
MEMBER.K=DATA.J
END
MEMBER.0=K
... other processing of the MEMBER. list
RETURN

To get a listing to STDOUT, simply replace the line:
MEMBER.K=DATA.J
and remove all the MEMBER. stuff
with
say DATA.J
Post Reply