Discussion:
Search catalog for datasets by name
Rupert
2005-01-03 00:33:03 UTC
Permalink
I'm trying to search the catalog, something like LISTC LVL(HLQ)
and I'm stuck. Can anyone make a suggestion, please?

For later versions of MVS the manuals suggest that I can use LOCATE
and CAMLST NAME for this. But with MVS 3.8 it works for
fully-qualified DSNs, not for partially-qualified. I'm testing this
under TSO.

I also had a suggestion to use LOCATE with CAMLST
BLOCK,TTR,VOL,LOCAREA but I get RC=4 (can't open catalog) from LOCATE,
whatever TTR and VOL I specify.

I'm trying to look at how other programs do this, but it's a slow
process without source code. If anyone has seen this sort of code
working, I'd welcome any hints. Many thanks in advance.

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Greg Price
2005-01-03 04:23:58 UTC
Permalink
Do you have any CVOLs (DSN=SYSCTLG) on your system?

If not, TTR and VOL operands on CAMLST cannot be expected
to work. If you are writing new code for general use,
I recommend that you do not depend on SYSCTLG internals,
even though they are the "best" (in terms of speed, space,
reliability, fixability, etc.) catalogs available in
MVS 3.8 for non-VSAM entries.

Are you trying to do a "SUPER-LOCATE"? This generally
involves issuing SVC 26 (CAMLST) which supplies a Catalog
Parameter List (CTGPL). The format of the CTGPL is shown
in Volume 1 of the Debugging Handbook in the entry for
SVC 26 in the SVC Summary.

"z/OS MVS Diagnosis: Reference" also documents this but may
have extentions not present in 3.8. In particular, the
x'04' bit in CTGOPTNS cannot be used to request the newer
format workarea, and so the workarea size specification is
limited to a number that fits in a halfward. This is why
numerous programs used to get a GETMAIN abend when processing
a level with "lots" of data set names cataloged.

There are probably numerous examples of super-locates and
generic locates on the CBT "tape". LISTSPC is one I remember
which did not seem to require that the supplied dsname prefix
specify an integral number of qualifiers.

eg. LISTS LEVEL(SYS1.L) would find SYS1.LINKLIB and SYS1.LPALIB.

You can also look at the SKJ$LC* members of CBT file 134 for
a "modern" (1998) example, which could probably be back-leveled
to 3.8 without too much trouble. CBT file 135 contains both the
old and newer load module which provides the $LISTC and $SPACE
commands. The old ones (which I have running on my 3.8 system)
could probably be disassembled if necessary - sorry but I don't
think I kept the original source.

Hth. Cheers, GP.






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-04 03:48:38 UTC
Permalink
Thanks to all who replied.
Post by Greg Price
Do you have any CVOLs (DSN=SYSCTLG) on your system?
I can't find any. They would be catalog'd, wouldn't they!
Post by Greg Price
If not, TTR and VOL operands on CAMLST cannot be expected
to work. If you are writing new code for general use,
I recommend that you do not depend on SYSCTLG internals,
Quite. I'll start by calling IDCAMS and maybe later I'll change things
if it's a performance problem.
Post by Greg Price
Are you trying to do a "SUPER-LOCATE"?
I'm not sure what super locate servic does. I remember a colleague
using when it was new. It was much faster than ISPF 3.4 for large lists.

I'm working on a few utilities that should work under TSO or in batch.
Now I've started I'll probably make it respond to stuff like
SYS1.*ASM* - or maybe follow the ISMF format using ** as well? I'm
undecided.

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
pfg504
2005-01-03 21:18:35 UTC
Permalink
Rupert;

The LOCATE and CAMLST commands process against the VTOC of a volume,
not the catalog. The easiest way to implement your request is to
call IDCAMS from your program, the UTILITIES manuals describe how to
do this. Then after returning from IDCAMS, open the SYSPRINT DD as
input to your program. If you would like, I think I have a sample of
this somewhere that I can upload the system.

This process is the way many vendor programs perform the same task.

Paul
Post by Rupert
I'm trying to search the catalog, something like LISTC LVL(HLQ)
and I'm stuck. Can anyone make a suggestion, please?
For later versions of MVS the manuals suggest that I can use LOCATE
and CAMLST NAME for this. But with MVS 3.8 it works for
fully-qualified DSNs, not for partially-qualified. I'm testing this
under TSO.
I also had a suggestion to use LOCATE with CAMLST
BLOCK,TTR,VOL,LOCAREA but I get RC=4 (can't open catalog) from
LOCATE,
Post by Rupert
whatever TTR and VOL I specify.
I'm trying to look at how other programs do this, but it's a slow
process without source code. If anyone has seen this sort of code
working, I'd welcome any hints. Many thanks in advance.
Roo
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
pfg504
2005-01-03 21:28:54 UTC
Permalink
I just had another idea, you can add a first step to the job that
processes the IDCAMS request directing the output to a temp dsn,
passing then information to a second step that reads the result.

This would avoid the call to IDCAMS.


Paul
Post by pfg504
Rupert;
The LOCATE and CAMLST commands process against the VTOC of a
volume,
Post by pfg504
not the catalog. The easiest way to implement your request is to
call IDCAMS from your program, the UTILITIES manuals describe how to
do this. Then after returning from IDCAMS, open the SYSPRINT DD as
input to your program. If you would like, I think I have a sample of
this somewhere that I can upload the system.
This process is the way many vendor programs perform the same task.
Paul
Post by Rupert
I'm trying to search the catalog, something like LISTC LVL(HLQ)
and I'm stuck. Can anyone make a suggestion, please?
For later versions of MVS the manuals suggest that I can use
LOCATE
Post by pfg504
Post by Rupert
and CAMLST NAME for this. But with MVS 3.8 it works for
fully-qualified DSNs, not for partially-qualified. I'm testing this
under TSO.
I also had a suggestion to use LOCATE with CAMLST
BLOCK,TTR,VOL,LOCAREA but I get RC=4 (can't open catalog) from
LOCATE,
Post by Rupert
whatever TTR and VOL I specify.
I'm trying to look at how other programs do this, but it's a slow
process without source code. If anyone has seen this sort of code
working, I'd welcome any hints. Many thanks in advance.
Roo
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
somitcw
2005-01-04 00:59:45 UTC
Permalink
--- In turnkey-mvs-***@public.gmane.org,
"pfg504" <***@y...> wrote:
- - - snipped - - -
Post by pfg504
The LOCATE and CAMLST commands process against
the VTOC of a volume, not the catalog.
- - - snipped - - -

OBTAIN+CAMLST are for VTOC records.
LOCATE+CAMLST are for catalog records.

For viewing CVOL catalogs, you may care
to check out:

FROM CBT TAPE 325 FEB? 91, FILE 134
REVCAT - TSO COMMAND FOR EXAMINING AN OS CATALOG
(SYSCTLG) ON A 3270 DISPLAY STATION SCREEN
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
WRITTEN BY: GREG PRICE, PRYCROFT SIX PTY LTD
DATE WRITTEN: DECEMBER 6 1988.
DATE UPDATED: DECEMBER 6 1988.






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-04 02:50:02 UTC
Permalink
--- In turnkey-mvs-***@public.gmane.org, "somitcw" <***@c...> wrote:

I've got a lot of gaps in my knowledge about catalogs, including CVOL.
I'm filling them in as I go. I can't find any SYSCATLG.* datasets and
SYS1.VMASTCAT is VSAM, so now I know why LOCATE on CAMLST BLOCK
doesn't find anything:-)

So, thanks for the info and the suggestion. Since I'm working with
VSAM catalogs, I'll be linking to IDCAMS for now.

Roo
Post by somitcw
For viewing CVOL catalogs, you may care
FROM CBT TAPE 325 FEB? 91, FILE 134
REVCAT - TSO COMMAND FOR EXAMINING AN OS CATALOG
(SYSCTLG) ON A 3270 DISPLAY STATION SCREEN
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
WRITTEN BY: GREG PRICE, PRYCROFT SIX PTY LTD
DATE WRITTEN: DECEMBER 6 1988.
DATE UPDATED: DECEMBER 6 1988.
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-04 02:29:37 UTC
Permalink
Post by pfg504
The LOCATE and CAMLST commands process against the VTOC of a volume,
not the catalog. The easiest way to implement your request is to
I see what you're saying, but I've tried issuing LOCATE on a
CAMLST NAME,DSN,,LOCAREA (no volume specified) and for a
fully-qualified DSN it returns the volume/s on which it is catalog'd.
Maybe I'm missing something, but I can't see how else it would be found.

Anyway, I haven't found any other easy way for partially qualified
DSNs and I don't know enough, about the VSAM share options and stuff
for a catalog, to do it the hard way.

So I'll relax and call IDCAMS if it's commonplace. The overhead of
writing to a dataset shouldn't be too bad.

Roo







Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Gerhard Postpischil
2005-01-04 03:27:10 UTC
Permalink
----- Original Message -----
Post by Rupert
So I'll relax and call IDCAMS if it's commonplace. The overhead of
writing to a dataset shouldn't be too bad.
If you can find readable IDCAMS documentation, check the SYSIN/SYSPRINT exit
capability. I've written code for a vendor that builds control cards,
invokes IDCAMS with a parameter list giving the exit information, passes the
control cards to IDCAMS in the exit, and discards or processes the IDCAMS
print output.
I'll upload a sample exit (for data set deletion) if requested.

Gerhard Postpischil
Bradford, VT





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-05 05:54:25 UTC
Permalink
Post by Gerhard Postpischil
If you can find readable IDCAMS documentation, check the
SYSIN/SYSPRINT exit
Post by Gerhard Postpischil
capability.
I wasn't sure what you mean by 'exit'. I've never seen a way of having
IDCAMS call my routine for each output record, like a SORT E35 exit.

What I've seen is sending the command as a parameter and receiving
output into an area of storage. Fine if the output isn't too big:-)

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Gerhard Postpischil
2005-01-06 03:01:42 UTC
Permalink
----- Original Message -----
Post by Rupert
I wasn't sure what you mean by 'exit'. I've never seen a way of having
IDCAMS call my routine for each output record, like a SORT E35 exit.
What I've seen is sending the command as a parameter and receiving
output into an area of storage. Fine if the output isn't too big:-)
The exit works one line at a time (in or out). There is another exit (or
just different DD names) for other files. This particular one was to DELETE
data sets, but can be modified. Invoke IDCAMS with AMSPARM. PRTV is my macro
for printing V-format (RDW+text) data, and VCON one for defining the area.


EJECT ,
***************************************************************
* IDCAMS ASYNCHRONOUS EXIT ROUTINE
***************************************************************
SPACE 1
PUSH USING
DROP ,
XIDCAMS STM R14,R12,12(R13)
LR R12,R15
USING XIDCAMS,R12
LA R9,XIDSAVE SET MY SAVE AREA
ST R13,4(,R9) MAKE BACK LINK
ST R9,8(,R13) MAKE DOWN LINK
LR R13,R9 MAKE ACTIVE SAVE AREA
L R11,0(,R13) GET PASSED SAVE AREA ADDRESS GP99063
USING SAVE,R11 AND DECLARE IT GP99063
SR R15,R15 GP99063
LM R3,R5,0(R1) LOAD PARM LIST ADDRESSES
SLR R14,R14
IC R14,0(,R4) LOAD FUNCTION
B *+4(R14)
B XEXIT OPEN CODE IN R14 = X'00'
B XEXIT CLOSE CODE IN R14 = X'04'
B XGET CODE IN R14 = X'08'
B XPUT CODE IN R14 = X'0C'
SPACE 1
XGET TM EXFLAGS,EXFGET X'01' = PRIOR GET ISSUED ?
BNZ XGET04 YES, SET RET CODE = 04
LA R1,DELETCMD GET ADDRESS OF DELETE REQUEST
LA R2,L'DELETCMD AND LENGTH
STM R1,R2,0(R5) PLACE INTO IDCAMS LIST
OI EXFLAGS,EXFGET X'01' = A GET HAS BEEN ISSUED
B XEXIT
SPACE 1
XGET04 LA R15,4 SET REG 15 = X'00000004'
B XEXIT
SPACE 1
XPUT TM EXFLAGS,EXFSUPP+EXFSKIP ANY FORM OF SUPPRESSION?
BNZ XEXIT YES; DON'T BOTHER WITH REST
LM R4,R5,0(R5)
LA R4,1(,R4) SKIP CARRIAGE CONTROL CHARACTER GP95268
BCTR R5,0 FIX LENGTH GP95268
ICM R5,8,=C' ' BLANK FILL GP95268
LA R14,AMSTEXT
LA R15,L'AMSTEXT
MVCL R14,R4
TM EXFLAGS,EXFMALL PRINT ALL MESSAGES?
BNZ XPUTMALL YES; PUT THEM ALL OUT
CLC =C'IDCAMS ',AMSTEXT IDCAMS TITLE ?
BE XEXIT YES; SKIP
CLC AMSTEXT+1(L'AMSTEXT-1),AMSTEXT ALL BLANK OR SOMETHING?
BE XEXIT YES; SKIP
CLC DELETCMD(8),AMSTEXT OUR REQUEST?
BE XEXIT YES; SKIP
CLC =C'IDC0002I',AMSTEXT AMS PGM END
BE XEXIT YES; SKIP
*PRINT CLC =C'IDC3012I',AMSTEXT DATASET NOT FOUND?
*ALL BE XPUTSKIP YES; THAT'S JUST FINE AND DANDY
*RESULT CLC =C'IDC0550I',AMSTEXT DATASET DELETED?
*MSGS BE XPUTSKIP YES; THAT'S JUST FINE AND DANDY
PRTV AMSPRINT PRINT MESSAGE GP99063
SR R15,R15 GP99063
B XEXIT
XPUTSKIP OI EXFLAGS,EXFSKIP SKIP THIS AND REMAINING MESSAGES
SPACE 2
***************************************************************
* IDCAMS ASYNC EXIT ROUTINE - EXIT, CONSTANTS & WORKAREAS
***************************************************************
SPACE 1
XEXIT L R13,4(,R13) GET CALLER'S SAVE AREA
L R14,12(,R13)
RETURN (0,12) RESTORE AND RETURN TO IDCAMS
POP USING
SPACE 1
XIDSAVE DC 18F'0' ASYNC ROUTINES REG SAVEAREA
SPACE 1
AMSPRINT VCON ' ',END=AMSPRINX
AMSTEXT DC CL132' '
VCON *END
SPACE 1
AMSPARM DC A(HALF00,HALF00,HALF00,X'80000000'+ADDRLIST)
SPACE 1
ADDRLIST DC F'2'
DC A(DDNAME01)
DC A(XIDCAMS)
DELADDR DC A(DELETCMD)
DC A(DDNAME02)
DC A(XIDCAMS)
DC A(0)
SPACE 1
HALF00 DC H'0'
DDNAME01 DC CL10'DDSYSIN '
DDNAME02 DC CL10'DDSYSPRINT'
SPACE 1
EXFLAGS DC X'08'
EXFGET EQU X'01' PRIOR GET WAS ISSUED
EXFNOM EQU X'04' SUPPRESS ERROR WTOS
EXFRET EQU X'08' NO ABEND; RETURN WITH COND.CODE
EXFMALL EQU X'10' ALWAYS PRINT MESSAGES
EXFSUPP EQU X'20' ALWAYS SUPPRESS MESSAGES
EXFSKIP EQU X'40' SKIP SUBSEQUENT MESSAGES
EXFGLOB EQU EXFMALL+EXFSUPP+EXFRET GLOBAL FLAGS


Gerhard Postpischil
Bradford, VT





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Volker Bandke
2005-01-04 08:26:37 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by pfg504
The LOCATE and CAMLST commands process against the VTOC of a volume,
not the catalog.


Strange - and I always thought CAM was for Catalog Access Method :) Another point to ponder - If it shouldn't work, why does it work for me?


Finally - analyzing the LISTCAT output is not necessarily a good idea - what if IBM in its infinite wisdom and benevolence changes the layout?
Post by pfg504
This process is the way many vendor programs perform the same task.
Says who? I believe they use CSI nowadays, and before that the undocumented (by IBM) interface to SVC 26




With kind Regards |\ _,,,---,,_
ZZZzz /,`.-'`' -. ;-;;,
Volker Bandke |,4- ) )-,_. ,\ ( `'-'
(BSP GmbH) '---''(_/--' `-'\_)

I do not fear computers. I fear the lack of them. -- Isaac Asimov

(Another Wisdom from my fortune cookie jar)


- -----Original Message-----
From: pfg504 [mailto:pfg504-/***@public.gmane.org]
Sent: Monday, January 03, 2005 10:19 PM
To: turnkey-mvs-***@public.gmane.org
Subject: [turnkey-mvs] Re: Search catalog for datasets by name




Rupert;

The LOCATE and CAMLST commands process against the VTOC of a volume,
not the catalog. The easiest way to implement your request is to
call IDCAMS from your program, the UTILITIES manuals describe how to
do this. Then after returning from IDCAMS, open the SYSPRINT DD as
input to your program. If you would like, I think I have a sample of
this somewhere that I can upload the system.

This process is the way many vendor programs perform the same task.

Paul
Post by pfg504
I'm trying to search the catalog, something like LISTC LVL(HLQ)
and I'm stuck. Can anyone make a suggestion, please?
For later versions of MVS the manuals suggest that I can use LOCATE
and CAMLST NAME for this. But with MVS 3.8 it works for
fully-qualified DSNs, not for partially-qualified. I'm testing this
under TSO.
I also had a suggestion to use LOCATE with CAMLST
BLOCK,TTR,VOL,LOCAREA but I get RC=4 (can't open catalog) from
LOCATE,
Post by pfg504
whatever TTR and VOL I specify.
I'm trying to look at how other programs do this, but it's a slow
process without source code. If anyone has seen this sort of code
working, I'd welcome any hints. Many thanks in advance.
Roo
Yahoo! Groups Links









-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3

iQA/AwUBQdpTOx5trGyhAF0wEQLGkwCeNVCbjY3ZAwyIAaZxn+tcxLMTpVwAn0+N
vHZYJCkWVNdCx/SCCodPpTsW
=HKvN
-----END PGP SIGNATURE-----





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-05 06:14:23 UTC
Permalink
Post by Volker Bandke
Finally - analyzing the LISTCAT output is not necessarily a good
idea - what if IBM in its infinite wisdom and benevolence changes the
layout?

Very good point. I've found that I'm reasonably good at predicting
areas of change and I'd probably make some things configurable, such
as perhaps strings to look for and ranges of columns. Or treating
multiple blanks as one.

But you are right and I'd want to look at a better interface if I had
customers depending on it.

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Mike Schwab
2005-01-05 07:26:44 UTC
Permalink
I have written program that analyzed IDCAMS LISTCATs and RMF Reports.
The columns do change from version to version. The real headache comes
in when the changes are phased in over 11 LPARs and you have to change
them in lockstep with the OS changes.
Post by Volker Bandke
Post by Volker Bandke
Finally - analyzing the LISTCAT output is not necessarily a good
idea - what if IBM in its infinite wisdom and benevolence changes the
layout?
Very good point. I've found that I'm reasonably good at predicting
areas of change and I'd probably make some things configurable, such
as perhaps strings to look for and ranges of columns. Or treating
multiple blanks as one.
But you are right and I'd want to look at a better interface if I had
customers depending on it.
Roo
=====
Mike A Schwab, Litchfield IL USA
Home 1.217.324.7911 Work 1.217.785.8815
http://www.grisoft.com/us/us_index.php (free basic anti-virus)
http://www.zonealarm.com/ (free basic firewall to block access from other computers)
http://www.lavasoftusa.com/software/adaware/ (removes spyware and undesired cookies from your computer)
mailto:net-abuse-***@public.gmane.org (when money is to be mailed)
mailto:uce-***@public.gmane.org (bait monitored by FBI)

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com



Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Enrico Sorichetti
2005-01-03 23:14:35 UTC
Permalink
--- In turnkey-mvs-***@public.gmane.org, "Enrico Sorichetti" <e.
***@t...> wrote:
-----
The module name is "IGGCSI" and is callable from any language;
.....
enrico sorichetti
I made a typo ...
the module name is "IGGCSI00"

e s






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Enrico Sorichetti
2005-01-03 22:02:45 UTC
Permalink
Post by Rupert
I'm trying to search the catalog, something like LISTC LVL(HLQ)
and I'm stuck. Can anyone make a suggestion, please?
.....
Post by Rupert
Roo
Hi !

for lots of sample code take a look at "www.cbttape.org"
You can then browse the "cbtf1" and "covf1" files which are a huge
report of the content of the cbt main tape and of the cbt overflow.

It might take a little bit but You will find lots of useful code.

If You are under windows, winzip ad xmit manager v3 will speed up the
browsing of the xmitted pds

For the catalog search, if I am not completely wrong, an utility
called "DSAT" might have most of the code that You need .

If You plan to work on a more modern OS,
I would suggest not to bother using a direct interface to the catalog
but to use the CSI ( catalog search interface ) module.
The module name is "IGGCSI" and is callable from any language;
"SYS1.SAMPLIB" ( of a more recent OS ) will contain all the details
and samples of use.
The use of this interface, will shield You from changes to the catalog
interface.

I wrote quite a sophisticated application ( for DR catalog cloning )
in REXX using it .
I might try to get hold of it and post it to the file area.

regards

enrico sorichetti










Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-05 06:02:47 UTC
Permalink
Post by Enrico Sorichetti
but to use the CSI ( catalog search interface ) module.
The module name is "IGGCSI" and is callable from any language;
"SYS1.SAMPLIB" ( of a more recent OS ) will contain all the details
and samples of use.
Nice idea, but MVS 3.8J doesn't seem to have that module (either
spelling!). One option in future would be to write the module (or at
least a subset of it) that supports my code.

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Greg Price
2005-01-04 03:46:00 UTC
Permalink
How about uploading your improved disassembler? :)
I'll upload a sample exit (for data set deletion) if requested.
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Gerhard Postpischil
2005-01-05 04:08:12 UTC
Permalink
----- Original Message -----
Post by Greg Price
How about uploading your improved disassembler? :)
Done. I asked for a message to the list, but haven't gotten one yet. It's a
PKZIP of a text file with installation instructions and a .het image. If
anybody ever figures out the original author(s) and CBT file, I'll be glad
to add them to the documentation.

Gerhard Postpischil
Bradford, VT





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Volker Bandke
2005-01-06 14:23:46 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I am trying to build a SYSLOG archiving system, using BSPPILOT/IEECVXIT, external writer IASXWR00 and GDGs. Everything works nicely, except the IASXWR00 part. I get an IO error reading SYSLOG (after W command) What are the file attributes for SYSLOG after the W command, i.e. how do I code LRECL, BLKSIZE, and RECFM, and possibly other parameters I might need? Second, more important question: Where is the above documented?







With kind Regards |\ _,,,---,,_
ZZZzz /,`.-'`' -. ;-;;,
Volker Bandke |,4- ) )-,_. ,\ ( `'-'
(BSP GmbH) '---''(_/--' `-'\_)

Fine day to throw a party. Throw him as far as you can.

(Another Wisdom from my fortune cookie jar)
-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3

iQA/AwUBQd1J8R5trGyhAF0wEQKNBACdFIB0azpMEa7RH23N+l32S//uMKIAoLOA
nnOS60tNzfE7M8uiHFQdtlxI
=I12x
-----END PGP SIGNATURE-----





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Greg Price
2005-01-06 14:49:41 UTC
Permalink
Volker,

I thought the only the only DCB one had to specify
with an external writer was the output one. This
is usually FBM with LRECL=133, as indicated in the
XWTR JCL.

Whenever I find a SYSOUT data set with mystery DCB
attributes, I SAVE the file to a data set from QUEUE.
QUEUE does a good job of setting the data set attributes
to those used at SYSOUT write time.

So after W, there is a SYSLOG spooled data set which is
then selected by an external writer task, which then
gets an I/O error reading the spooled data set, right?

Any clue from the error message? Does it look like a
DCB attribute mismatch thing, or something else?

IASXWR00 is supposed to be able to suck in SYSOUT of
any DCB and write it out to a file.

For MVS 3.8 we did have an XWTR proc called LOGWTR
which did process the SYSLOG successfully, so it
"should" work. (Big help, I know.)

If you like I can try to set up an XWTR to read class
L (where I write SYSLOG) and see what happens.
Would that be of any assitance?

Cheers,
Greg
Post by Volker Bandke
I am trying to build a SYSLOG archiving system, using BSPPILOT/IEECVXIT, external
writer IASXWR00 and GDGs. Everything works nicely, except the IASXWR00 part. I
get an IO error reading SYSLOG (after W command) What are the file attributes
for SYSLOG after the W command, i.e. how do I code LRECL, BLKSIZE, and RECFM, and
possibly other parameters I might need? Second, more important question: Where
is the above documented?
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Volker Bandke
2005-01-06 15:53:51 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Greg,

I did just that, created an LWTR procedure with PAM='PL', and then the result in the output fiile was "IEF314I SYSIO" which indicates IO error, or some problem with the input file (SYSLOG). Trying to save SYSLOG from QUEUE is a very good idea, which I will try right away.
Post by Greg Price
If you like I can try to set up an XWTR to read class
L (where I write SYSLOG) and see what happens.
Would that be of any assitance?
Sure. Your help is always appreciated






With kind Regards |\ _,,,---,,_
ZZZzz /,`.-'`' -. ;-;;,
Volker Bandke |,4- ) )-,_. ,\ ( `'-'
(BSP GmbH) '---''(_/--' `-'\_)

Hartley's Second Law: Never sleep with anyone crazier than yourself.

(Another Wisdom from my fortune cookie jar)

-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3

iQA/AwUBQd1fDh5trGyhAF0wEQI4FACfaX8fyJ9lHxvxg0hVxfMlA8nbCwsAn0MI
tfOTq6tvtq3PgEeYLeq9rhk/
=NzdP
-----END PGP SIGNATURE-----





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Greg Price
2005-01-07 03:27:46 UTC
Permalink
Saving SYSLOG with QUEUE I get a data set with
RECFM=FB,LRECL=130,BLKSIZE=4030.

Setting up an LWTR based on XWTR:
//LWTR PROC
//IEFPROC EXEC PGM=IASXWR00,PARM='PL',REGION=4096K
//IEFRDER DD DSN=GREG.LWTR,DISP=(MOD,CATLG),UNIT=3350,VOL=SER=STG005,
// SPACE=(CYL,(3,3)),
// DCB=(BLKSIZE=9310,LRECL=133,BUFL=9310,BUFNO=2,RECFM=FBM)

I do get some SYSLOG:
GREG.LWTR on STG005 -------------------------------
Command ===>
1 10 20 30 40 50
M---+----+----+----+----+----+----+----+----+----+--
.
.IEF314I SYSIO
.
i
.0000 14.10.16 V SYSLOG,HARDCPY
.0000 14.10.16 IEE349I HARDCOPY CONSOLE
. 255 CONSOLE/ALT COND AUTH ID ROUTCD
. 255 SYSLOG H CMDS ALL
.0000 14.10.22 $DA,ALL
.0000 14.10.22 $HASP000 NO ACTIVE JOBS
.0000 14.10.26 $DN
.0000 14.10.26 JOB 155 $HASP000 GREGG PRT LOCAL

so it all seems to be working.

As has been suggested, a more optimal output set of DCB
attributes should be selected to save space. The suggestion
of RECFM=VBA seems good to me.

I think the XWTR REGION of 20K is a bit small, especially if
a nice output blocksize is specified.

As you can see above, I got an IEF314I, but I believe it
was caused by an older SYSLOG queued to be printed but which
had no data.

So, it should all be a goer!

Cheers,
Greg P.






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Enrico Sorichetti
2005-01-06 15:46:42 UTC
Permalink
Post by Volker Bandke
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am trying to build a SYSLOG archiving system, using BSPPILOT/
IEECVXIT, external writer IASXWR00 and GDGs. Everything works
nicely, except the IASXWR00 part. I get an IO error reading SYSLOG
(after W command) What are the file attributes for SYSLOG after the W
command, i.e. how do I code LRECL, BLKSIZE, and RECFM, and possibly
other parameters I might need? Second, more important question:
Where is the above documented?
Hallo Volker!

I was curious and issued the W command,
the system replies that a sysout has been queued, but ...
nothing in my windows spool repository... and nothing in the spool...
My guess.. ( I do not have the manuals handy )
having device 030E defined as the hardcopy log might prevent keeping
a spooled syslog ...

regards

enrico sorichetti









Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Volker Bandke
2005-01-07 06:04:02 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have Hardcopy on 30e as well, but that does not preclude syslog. Actually, when I issue W, then I do have SYSLOG data in the spool. Just haven't found the correct attributes for the IASXWR00 program yet







With kind Regards |\ _,,,---,,_
ZZZzz /,`.-'`' -. ;-;;,
Volker Bandke |,4- ) )-,_. ,\ ( `'-'
(BSP GmbH) '---''(_/--' `-'\_)

Don't take life too seriously, you won't get out alive.

(Another Wisdom from my fortune cookie jar)


- -----Original Message-----
From: Enrico Sorichetti [mailto:e.sorichetti-nc/***@public.gmane.org]
Sent: Thursday, January 06, 2005 4:47 PM
To: turnkey-mvs-***@public.gmane.org
Subject: [turnkey-mvs] Re: SYSLOG file attributes ?
Post by Volker Bandke
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am trying to build a SYSLOG archiving system, using BSPPILOT/
IEECVXIT, external writer IASXWR00 and GDGs. Everything works
nicely, except the IASXWR00 part. I get an IO error reading SYSLOG
(after W command) What are the file attributes for SYSLOG after the W
command, i.e. how do I code LRECL, BLKSIZE, and RECFM, and possibly
other parameters I might need? Second, more important question:
Where is the above documented?
Hallo Volker!

I was curious and issued the W command,
the system replies that a sysout has been queued, but ...
nothing in my windows spool repository... and nothing in the spool...
My guess.. ( I do not have the manuals handy )
having device 030E defined as the hardcopy log might prevent keeping
a spooled syslog ...

regards

enrico sorichetti









Yahoo! Groups Links









-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3

iQA/AwUBQd4mUR5trGyhAF0wEQLfggCfQnn4Va2UA6rQma1gulVn6LF2TLIAnjdX
I/J/AF6nxnYFUm+OW3iP9upy
=DBMH
-----END PGP SIGNATURE-----





Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Mike Schwab
2005-01-07 07:05:17 UTC
Permalink
I downloaded the wrong screensaver a couple of nights ago. It included
about a dozen ad servers. I firewalled and uninstalled and will
shortly erase the hard drive again.

I have turnkey hercules installed but not customized on XP, did install
various linux packages a couple of years ago, but still a novice.
Recommendations for a few linux installs (please include links to sites
with ISO install images).

Will be loading to a HP ze4906us, 1.4GHz, 40GB hd, 384Kbs DSL line, had
it since Dec 23, 2004. XP partition has 9GB free of 16GB, leaving 24GB
for linux. Would like a few version to play with, like Redhat,
Debnian, Slackware. Will need a way for the linux installed to share
partitions or boot from drives within the extended partion.



=====
Mike A Schwab, Litchfield IL USA
Home 1.217.324.7911 Work 1.217.785.8815
http://www.grisoft.com/us/us_index.php (free basic anti-virus)
http://www.zonealarm.com/ (free basic firewall to block access from other computers)
http://www.lavasoftusa.com/software/adaware/ (removes spyware and undesired cookies from your computer)
mailto:net-abuse-***@public.gmane.org (when money is to be mailed)
mailto:uce-***@public.gmane.org (bait monitored by FBI)

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com



Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Pascal J.Bourguignon
2005-01-07 12:22:13 UTC
Permalink
Post by Mike Schwab
I downloaded the wrong screensaver a couple of nights ago. It included
about a dozen ad servers. I firewalled and uninstalled and will
shortly erase the hard drive again.
I have turnkey hercules installed but not customized on XP, did install
various linux packages a couple of years ago, but still a novice.
Recommendations for a few linux installs (please include links to sites
with ISO install images).
Will be loading to a HP ze4906us, 1.4GHz, 40GB hd, 384Kbs DSL line, had
it since Dec 23, 2004. XP partition has 9GB free of 16GB, leaving 24GB
for linux. Would like a few version to play with, like Redhat,
Debnian, Slackware. Will need a way for the linux installed to share
partitions or boot from drives within the extended partion.
I would advise Xen, the virtualizer.
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html
Then you can configure various virtual systems above it. Since
MS-Windows is not open source, it won't work on it, but I'd consider
this a Good Thing... An alternative is to have a root linux in which
you may run other linuxes with user-mode-linux.
--
__Pascal Bourguignon__ http://www.informatimago.com/
The mighty hunter
Returns with gifts of plump birds,
Your foot just squashed one.



Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
somitcw
2005-01-07 00:57:35 UTC
Permalink
The only strange thing I noticed is I normally
see a buffer length coded. It should match the
block size. The LRECL keeps going up with new
versions of MVS. I gave up keeping track and now
set it to variable LRECL=160

There is some documentation in:
MVS/ESA SP V5 JES2 Initialization and Tuning Guide Appendix C
but I never read it.

Poor Tur(n)key sample member is:
SYS1.PROCLIB(XWTR)
//XWTRPROC PROC
//IEFPROC EXEC PGM=IASXWR00,PARM='PA',REGION=20K
//IEFRDER DD UNIT=2400,VOL=(,,,35),DSNAME=SYSOUT,DISP=(NEW,KEEP),
// DCB=(BLKSIZE=133,LRECL=133,BUFL=133,BUFNO=2,RECFM=FM)

On OS/390, I use:
SYS1.PROCLIB(LWTR)
//IEFPROC EXEC PGM=IASXWR00,PARM=PL
//* DOC: This procedure executes the external writer with an output
//* CLASS equal to 'L'. The P means Print ( not punch ) format.
//IEFRDER DD DSN=BKUP.SYSLOG(+1),DISP=(MOD,CATLG),
// STORCLAS=xxxxxxxx,DATACLAS=xxxxxxxx,
// SPACE=(TRK,(750,750),RLSE),
// DCB=$,LRECL=160,RECFM=VBA,BLKSIZE=0

SYS1.xxxxLIB(STRTLWTR)
//STRTLWTR JOB (xxxxxxxx,xxxx),OPERATOR,CLASS=x,
// MSGCLASS=x,
// NOTIFY=SOMITCW
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
//*
//* Program name: SYS1.xxxxLIB(STRTLWTR)
//* This is started with SYS1.PARMLIB(COMMND00) on every IPL
//*
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
//*
//* CHANGE LOG:
//* 2000-05-24 JCL added to xxxxxxxx LPAR
//*
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
//*
//STRTLWTR EXEC PGM=COMMAND,PARM='START LWTR.LWTR'
//DELAY120 EXEC PGM=DELAY,PARM=120
//STOPLWTR EXEC PGM=COMMAND,PARM='STOP LWTR'
Post by Volker Bandke
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am trying to build a SYSLOG archiving system, using
BSPPILOT/IEECVXIT, external writer IASXWR00 and GDGs. Everything
works nicely, except the IASXWR00 part. I get an IO error reading
SYSLOG (after W command) What are the file attributes for SYSLOG
after the W command, i.e. how do I code LRECL, BLKSIZE, and RECFM,
and possibly other parameters I might need? Second, more important
question: Where is the above documented?
Post by Volker Bandke
With kind Regards |\ _,,,---,,_
ZZZzz /,`.-'`' -. ;-;;,
Volker Bandke |,4- ) )-,_. ,\ ( `'-'
(BSP GmbH) '---''(_/--' `-'\_)
Fine day to throw a party. Throw him as far as you can.
(Another Wisdom from my fortune cookie jar)
-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3
iQA/AwUBQd1J8R5trGyhAF0wEQKNBACdFIB0azpMEa7RH23N+l32S//uMKIAoLOA
nnOS60tNzfE7M8uiHFQdtlxI
=I12x
-----END PGP SIGNATURE-----
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
somitcw
2005-01-04 03:45:19 UTC
Permalink
Post by somitcw
For viewing CVOL catalogs, you may care
FROM CBT TAPE 325 FEB? 91, FILE 134
REVCAT - TSO COMMAND FOR EXAMINING AN OS CATALOG
(SYSCTLG) ON A 3270 DISPLAY STATION SCREEN
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
WRITTEN BY: GREG PRICE, PRYCROFT SIX PTY LTD
DATE WRITTEN: DECEMBER 6 1988.
DATE UPDATED: DECEMBER 6 1988.
I've got a lot of gaps in my knowledge about
catalogs, including CVOL. I'm filling them
in as I go. I can't find any SYSCATLG.*
datasets and SYS1.VMASTCAT is VSAM, so now
I know why LOCATE on CAMLST BLOCK doesn't
find anything:-)
So, thanks for the info and the suggestion.
Since I'm working with VSAM catalogs, I'll be
linking to IDCAMS for now.
Roo
LOCATE/CAMLST also work well for VSAM
and ICF catalogs to look up data set info.
Calling IDCAMS within a program overriding
SYSIN and SYSPRINT with routines and specify:
LISTCAT LEVEL(x) NAME
might be simpler for your use.
RPF 3.4 probably does that. Check the source.

Here is a production program that is part
of one of the tape volume management systems
that I wrote. It should work for CVOL and
VSAM in MVS 3.8j and currently works for ICF
in OS/390. Yes, I allow sloppy code in
production. For better formatting, start a
reply to this message.

//SOMITCWT JOB (xxxxxxxx,xxxx,1439,9999),TAPEOFF-SOMITCW,
// CLASS=x,MSGCLASS=x,
// NOTIFY=SOMITCW,PERFORM=x,COND=(0,NE)
//HLASMCL EXEC HLASMCL
//SYSLIB DD UNIT=SYSDA ,VOL=SER=??????
// DD DSN=SYS1.MODGEN,DISP=SHR ,UNIT=SYSDA,VOL=SER=??????
PASS TITLE 'TAPEOFF - Program to list offsite tapes.'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* This program:
*
* 1. Reads control cards from SYSIN, containing a data set
* name in columns 1 thru 44. The data set name may have
* a relative or an absolute generation number. It does
* not have to be a generation data set.
* Example:
* BKUP.VSTOR02(-3) or BKUP.VPUB002.G____V00
*
* 2. The volume information for the data set is then obtained
* from the catalog and the number of volumes containing
* the data set are checked. If the data set resides on
* more than 20 volumes, a warning message is issued and
* this program abends.
*
* 3. Reports
*
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Sample JCL:
*
* //JOB JOB JOB,JOB JOB,MSGCLASS=A,
* //TAPEOFF EXEC PGM=TAPEOFF
* FIRST.DATA.SET.TO.LIST(-2) (See note)
* FIRST.DATA.SET.TO.LIST(-1) (See note)
* FIRST.DATA.SET.TO.LIST(-0) (See note)
* SECOND.DATA.SET.TO.LIST(-2) (See note)
* SECOND.DATA.SET.TO.LIST(-1) (See note)
* SECOND.DATA.SET.TO.LIST(-0) (See note)
* //SYSPRINT DD SYSOUT=*
*
* Note: There can be multiple control statements.
* = = = = = = = = = = = = = = = = = = = = =
*
* Programmer name: I ain't saying.
*
*
* Date written: 1998-9-21
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
EJECT
PRINT GEN
TAPEOFF CSECT ,
USING *,R15 Set temporary base register
SAVE (14,12),,'TAPEOFF.&SYSDATE..&SYSTIME' Save reg.s
LA R12,SAVEAREA Load the address of the new save
area
ST R12,8(,R13) Connect old and new save areas
ST R13,4(,R12) Connect old and new save areas
LR R13,R12 Connect old and new save areas
DROP R15 Drop the temporary base register
LR R12,R15 Load the program's base register
USING TAPEOFF,R12 Give the assembler the new base
OPEN (SYSIN,,SYSPRINT,OUTPUT) OPEN the files
LA R7,999 Indicate page full ( to get
header )
L R1,16 Load address of CVT
USING CVT,R1 Tell assembler where CVT address is
MVC SSSSSSSS,CVTSNAME Move system name to print header
DROP R1
SPACE 3
GETLOOP DS 0H
GET SYSIN,RECORD Read a card image into area RECORD
LOCATE LOCLIST Read a catalog entry
LTR R15,R15 See if zero return code
BNE LOCATERR If not zero, write error msg
MVC DSNLINE+1(44),RECORD Move data set name for print
LA R7,2(,R7) Double space line-per-page counter
C R7,FIFTY6 See if page is already full
BH NEWPAGE Over 56 lines, go start new page
GETLOOP2 DS 0H
PUT SYSPRINT,DSNLINE Print the data set name
LH R5,LOCAREA Load volume count for data set
C R5,=F'20' More than 20 volser's?
BNH COPYVOLS No - continue processing data set
B VOL20ERR If high, write error message, abend
COPYVOLS DS 0H
LA R6,LOCAREA+6 Load current colser pointer
LA R8,VOLLINE+L'VOLLINE-8 Find end of vol ser print area
COPYVOL2 DS 0H
MVI VOLLINE,C' ' Space out vol ser print line
MVC VOLLINE+1(79),VOLLINE Space out vol ser print line
LA R4,VOLLINE+1 Load address of vol ser print area
COPYLOOP DS 0H
CR R4,R8 Will vol ser fit on print line?
BH NEWLINE No - Go print line, and start one
MVC 0(6,R4),0(R6) Copy vol ser to print line
LA R4,8(,R4) Bump up current table entry pointer
LA R6,12(,R6) Bump up current volser pointer
S R5,=F'1' Sub 1 from table entry avail ctr
BP COPYLOOP If not last volser - go to loadloop
LA R7,1(,R7) Single space line-per-page counter
PUT SYSPRINT,VOLLINE Print volumes for data set
B GETLOOP Go get next data set
SPACE 3
EOF DS 0H
CLOSE (SYSIN,,SYSPRINT) CLOSE the files
L R13,4(,R13) Restore the caller's save area
addr.
LR R15,R11 Set return code
RETURN (14,12),,RC=0 Return to caller
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Sub-routines
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE 1
NEWPAGE DS 0H
TIME DEC Get current time and date
ST R0,TIME Save the time in HHMMSSTH format
UNPK WORK(7),TIME Unpack the time as HHMMSST
MVC HH,WORK Move the hour
MVC MM,WORK+2 Move the minute
MVC SS,WORK+4 Move the second
ST R1,DATE Save the date in 0CYYDDDF format
AP DATE,P1900000 Add 1900.000 to the century
indicator
OI DATE+3,X'0F' Correct the sign for printing
UNPK WORK(7),DATE Unpack the date as CCYYDDD
MVC YYYY,WORK Move the year
MVC DDD,WORK+4 Move the day number of the year
AP PAGENUM,ONE Find new page number
UNPK PPP,PAGENUM Put page number in page heading
OI PPP+2,X'F0' Fix the page number sign
PUT SYSPRINT,PAGETOP Advance to a new page
PUT SYSPRINT,HEADER Write the page heading
SLR R7,R7 Clear the line number counter
B GETLOOP2 Return to print Data Set Name
NEWLINE DS 0H
LA R7,1(,R7) Single space line-per-page counter
PUT SYSPRINT,VOLLINE Load volume count for data set
B COPYVOL2 Return to print next vol ser line
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Error Routines
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
LOCATERR DS 0H
MVC DSNLINE+1(44),RECORD Move data set name for print
PUT SYSPRINT,DSNLINE Print the data set name
WTO 'LOCATE Failed, TAPEOFF program
Abending...',ROUTCDE=11
ABEND 123,DUMP
*
VOL20ERR DS 0H
WTO 'Maximum of 20 tapes for a data set..',ROUTCDE=11
WTO 'TAPEOFF program abending..',ROUTCDE=11
ABEND 321,DUMP
*
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Workarea and constants
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE 2
WORK DS D Double word work area
SAVEAREA DC 18F'0' Register save area
SPACE 1
ONE DC P'1' To increment page number
PAGENUM DC PL2'0' Current page number
FIFTY6 DC A(56) Number of lines per page
TIME DS F Hold area for HHMMSSTH time
P1900000 DC PL4'1900000' Constant to convert date to Y2K
DATE DS F Hold area for CCYYDDDF date
SPACE 1
LOCLIST CAMLST NAME,RECORD,,LOCAREA Locate data set parameter list
SPACE 1
LOCAREA DS 0D
DS 265C Area to receive catalog information
SPACE 1
RECORD DS CL80 Input data set name card image
*
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Report Data Area
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *

PAGETOP DC CL80'1 '
HEADER DC CL45' hostsite Off Site Tapes by Data Set Name '
DC CL35'hh:mm:ss ccyy-ddd Page nnn '
SSSSSSSS EQU HEADER+2,8 Label for Host name in the header
HH EQU HEADER+45,2 Label for the hour in the header
MM EQU HEADER+48,2 Label for the minute in the header
SS EQU HEADER+51,2 Label for the second in the header
YYYY EQU HEADER+55,4 Label for the year in the header
DDD EQU HEADER+60,3 Label for day-of-year in the header
PPP EQU HEADER+71,3 Label for the page number in header

DSNLINE DC CL80'0 ' Data set name to print
VOLLINE DC CL80' ' Vol sers to print

EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Data Control Blocks
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE 3
SYSIN DCB
DDNAME=SYSIN, *

MACRF=GM, *

RECFM=FB, *

LRECL=80, *

DSORG=PS, *
EODAD=EOF
SPACE 3
SYSPRINT DCB
DDNAME=SYSPRINT, *

MACRF=PM, *

RECFM=FBA, *

LRECL=80, *
DSORG=PS
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Literal Pool
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE 3
LTORG ,
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* DSECTs
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE 3
CVT DSECT=YES Dsect for Communication Vector
Table
EJECT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
*
* Register Equates
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
SPACE
R0 EQU 0 Register equate for register 0
R1 EQU 1 Register equate for register 1
R2 EQU 2 Register equate for register 2
R3 EQU 3 Register equate for register 3
R4 EQU 4 Register equate for register 4
R5 EQU 5 Register equate for register 5
R6 EQU 6 Register equate for register 6
R7 EQU 7 Register equate for register 7
R8 EQU 8 Register equate for register 8
R9 EQU 9 Register equate for register 9
R10 EQU 10 Register equate for register 10
R11 EQU 11 Register equate for register 11
R12 EQU 12 Register equate for register 12
R13 EQU 13 Register equate for register 13
R14 EQU 14 Register equate for register 14
R15 EQU 15 Register equate for register 15
END , The end of the program
//L.SYSLMOD DD DSN=SYSx.LOADxxxx,DISP=SHR,SPACE= , , , , , ,
//* * * * * UNIT=SYSDA,VOL=SER=------
NAME TAPEOFF






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rupert
2005-01-05 06:21:08 UTC
Permalink
Post by somitcw
LOCATE/CAMLST also work well for VSAM
and ICF catalogs to look up data set info.
Thanks. Yes, it seems to work fine for any fully-qualified DSN.

Thanks for the example code.

Roo






Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Continue reading on narkive:
Loading...