Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

REXX Reading VSAM KSDS

530 views
Skip to first unread message

Umamaheshwar Iyer

unread,
Jan 19, 2010, 6:19:15 AM1/19/10
to
Friends, Friends

I am trying to read a VSAM KSDS file thru REXX. Here is what I have

"ALLOC ds('"tempfile"') dd(tempdd) new SPACE(5,5) DSORG(ps)",
"RECFM(f,b) LRECL(80)"
if rc/=0 then do
say 'allocate tempfile failed. rc ' rc
exit
end
trace('?a')
x=outtrap('rec.')
"REPRO INFILE(VSAMKSDS) OUTFILE(TEMPDD) FROMKEY(000000) COUNT(50)"
x=outtrap('off')
say rec.0
say rec.1

This is what I get ...

56 *-* "REPRO INFILE(VSAMKSDS) OUTFILE(TEMPDD) FROMKEY('000000')
COUNT(50)"

>>> "REPRO INFILE(VSAMKSDS) OUTFILE(TEMPDD) FROMKEY('000000')
COUNT(50)"

+++ RC(12) +++

Any Idea where I might be going off the track?

A working code from any of our member will be appreciated.

Regards

Umamaheshwar

============================================================================================================================


Disclaimer:

This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra.

============================================================================================================================

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Miklos Szigetvari

unread,
Jan 19, 2010, 6:29:26 AM1/19/10
to
Check maybe the SYSPRINT VSAMKSDS allocation ?

Umamaheshwar Iyer wrote:

--
Miklos Szigetvari

Development Team
ISIS Information Systems Gmbh
tel: (+43) 2236 27551 570
Fax: (+43) 2236 21081

E-mail: miklos.s...@isis-papyrus.com

Info: in...@isis-papyrus.com
Hotline: +43-2236-27551-111

Visit our Website: http://www.isis-papyrus.com
---------------------------------------------------------------
This e-mail is only intended for the recipient and not legally
binding. Unauthorised use, publication, reproduction or
disclosure of the content of this e-mail is not permitted.
This email has been checked for known viruses, but ISIS accepts
no responsibility for malicious or inappropriate content.
---------------------------------------------------------------

Lizette Koehler

unread,
Jan 19, 2010, 7:17:18 AM1/19/10
to
Rather than using OUTTRAP allow the output to go to your terminal with trace
?i. This way you can see what is or is not working.

With vsam all messages that go to SYSPRINT could help in identifying your
issue. It maybe that you did not do an ALLOC DD(VSAMKSDS) or freed
SYSPRINT.

The messages would help here. Especially if they have an IDC message.

I would first run the repro in Batch. Then take the JCL that works and put
it in a REXX. Then when that is working use OUTTRAP to capture and parse
the information.

Have a look at file 268 on the CBTTAPE. It is a rexx that reads VSAM
datasets.

Lizette

Rich Smrcina

unread,
Jan 19, 2010, 8:47:54 AM1/19/10
to
On 01/19/2010 06:16 AM, Lizette Koehler wrote:
> Have a look at file 268 on the CBTTAPE. It is a rexx that reads VSAM
> datasets.
>
> Lizette
>
>
>
>
If that's the RXVSAM package/function, I've made good use of it. Good
stuff, I highly recommend it.

--
Rich Smrcina
Phone: 414-491-6001
http://www.linkedin.com/in/richsmrcina

Catch the WAVV! http://www.wavv.org
WAVV 2010 - Apr 9-13, 2010 Covington, KY

Wayne Bickerdike

unread,
Jan 19, 2010, 1:44:09 PM1/19/10
to
I can't see that you have allocated the input KSDS.

Add

ALLOC F(VSAMKSDS) DA('MY.VSAM.FILE') SHR REUSE

--
Wayne V. Bickerdike

Eric Bielefeld

unread,
Jan 19, 2010, 6:05:58 PM1/19/10
to
We had a problem with a system with not enough page space defined. I remember discussions a long time ago on IBM-Main saying that if you have local page datasets of differing sizes, that you will never use all of the space on the larger page datasets if you add a larger page dataset. Is that still true? We have 3 locals and the PLPA and Common all allocated on the same 3390 Mod 3 pack. We just added a 4th page dataset that is a whole 3390
volume. Obviously, slightly larger than all the other locals.

We actually had to IPL the system, as one of the locals went over 80% full, and the system wouldn't allow address space create. Since we IPL'd with the same 3 page datasets, one of the locals is already at 59% full. We page added the 4th dataset after the system was up, and it is still at 0%.

--
Eric Bielefeld
Systems Programmer
IBM MVS Technical Services
Dubuque, Iowa
563-845-4363

Staller, Allan

unread,
Jan 20, 2010, 9:15:46 AM1/20/10
to
<snip>

We had a problem with a system with not enough page space defined. I remember discussions a long time ago on IBM-Main saying that if you have local page datasets of differing sizes, that you will never use all of the space on the larger page datasets if you add a larger page dataset. Is that still true? We have 3 locals and the PLPA and Common all allocated on the same 3390 Mod 3 pack. We just added a 4th page dataset that is a whole 3390
volume. Obviously, slightly larger than all the other locals.

We actually had to IPL the system, as one of the locals went over 80% full, and the system wouldn't allow address space create. Since we IPL'd with the same 3 page datasets, one of the locals is already at 59% full. We page added the 4th dataset after the system was up, and it is still at 0%.

</snip>

Generally, ASM will utilize the page datasets equally, so if they differ in size, the smaller one's will have a higher percent utilization. It sounds like you only had one local at the time. When it reached the 80% threshold, address space creation was stopped. The smallest local PAGEDS is the "control".

The fact that the 4th dataset is at 0% indicated the pages on aux storage are from long term tasks (e.g. dfHSM).
Where the task is up for days/months at a time. Usually, this has been the SMF30 records being retained for eventual write to SMF. It also indicates that there is not much pressure on real storage.

All of that being said, my recommendation would be to have at least 2 locals of "nearly equal size". The first local would be specified in IEASYSxx and the second would be included via a PAGEADD in COMMNDxx. This will occur early enough in the IPL that both locals will be used equally.

The local PAGEds's should be sized so that the max slot utilization does not exceed 30% on any individual dataset. This defeat the "block paging" algorithm and reduces the efficiency of ASM.

HTH,

Eric Bielefeld

unread,
Jan 20, 2010, 10:56:46 AM1/20/10
to
Thanks Allan. That pretty much confirms what I thought, that the paging was distributed equally among all of the page datasets. We had 3 local page datasets. One of them is significantly smaller than the other 2, which is the one that went over 80%. This is a tech support sandbox system with no real work on it. Thanks for the info.

Eric

--
Eric Bielefeld
Systems Programmer
IBM MVS Technical Services
Dubuque, Iowa
563-845-4363

Pommier, Rex R.

unread,
Jan 20, 2010, 12:00:48 PM1/20/10
to
Eric,

Since it is a sandbox, why not do a pagedelete against the small one and
see what happens to the other 3 datasets? You should see some activity
going onto the new large one.

Rex

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-...@bama.ua.edu] On

Paul Gilmartin

unread,
Jan 20, 2010, 12:12:28 PM1/20/10
to
On Wed, 20 Jan 2010 15:56:15 +0000, Eric Bielefeld wrote:

>Thanks Allan. That pretty much confirms what I thought, that the paging was distributed equally among all of the page datasets. We had 3 local page datasets. One of them is significantly smaller than the other 2, which is the one that went over 80%. This is a tech support sandbox system with no real work on it. Thanks for the info.
>

Wouldn't it make more sense if "distributed equally" were defined as a
percentage of available space rather than number of pages? (Yes, I
know that for disparate data set sizes this would distribute the I/Os
less uniformly, but it would delay the ultimate disaster.)

-- gil

Pommier, Rex R.

unread,
Jan 20, 2010, 12:24:50 PM1/20/10
to
It definitely would from a utilization standpoint, but my guess is that
there would be higher overhead in the paging algorithms to keep track of
this. And we all want paging to happen as quickly as possible so my
guess is that IBM decided to go with simplicity and speed.

Granted in Eric's case where there are 4-5 page datasets on a single
volume, I'm not sure speed is a valid issue...

Rex

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-...@bama.ua.edu] On
Behalf Of Paul Gilmartin
Sent: Wednesday, January 20, 2010 11:08 AM
To: IBM-...@bama.ua.edu
Subject: Re: Page Dataset Question

Staller, Allan

unread,
Jan 20, 2010, 1:07:46 PM1/20/10
to
This is a performance issue. In order for ASM not to care, the pages are
distributed (roughly equally) across all available page datsets. If the
algorithm were to take into account the available space:
1) the additional overhead of keep track (probably miniscue per IO, but
imagine a paging rate of 100's or even thousands per second. (this
actually happened in "the good old days").
2) The concentration of pages in the larger page dataset would create a
"hot spot" in the aux stor subsystem and provide uneven performance,
depending on where your stolen pages were.


<snip>


Wouldn't it make more sense if "distributed equally" were defined as a
percentage of available space rather than number of pages?

</snip>

All this does is allow for human error if the page ds's are not sized
equally!

Cobe Xu

unread,
Jan 21, 2010, 11:17:33 AM1/21/10
to
IIRC, Isn't it suggested to allocate one Local on a full volume?

--
Cobe Xu

Best Regards
-----------------------------------------------------------
zOS Performance & Capacity Analyst
E2E Performance Analyst
Email: cob...@gmail.com
-----------------------------------------------------------

Mark Zelden

unread,
Jan 21, 2010, 12:32:08 PM1/21/10
to
Since the ASM change to support large page data sets (z/OS 1.10, rolled
back to 1.8 & 1.9 via APAR OA20749), we've been using full volume 3390-9
for locals and in some of our very large LPARs full volume 3390-27 volumes.

Since we couldn't support WLM PAVs in some environments (shared DASD
between sysplexes), we've never had more than one local per volume.
And as someone already mentioned, HIPERPAV doesn't address this (unless
that code was fixed in 1.11 - I don't recall).

I think was we migrated DASD the ROT was to put it on 3390-27 as long
as there were at least 4 of them (to be the equivalent of the former space
allocated on 3390-3).

Mark
--
Mark Zelden
Sr. Software and Systems Architect - z/OS Team Lead
Zurich North America / Farmers Insurance Group - ZFUS G-ITO
mailto:mark....@zurichna.com
z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/
Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html

On Thu, 21 Jan 2010 09:07:16 -0800, Ron Hawkins
<ron.haw...@SBCGLOBAL.NET> wrote:

>Cobe,
>
>I've never seen that suggested or recommended. As Mr Merrill says "Just
>because you can, doesn't mean you should."
>
>Ron


>
>> -----Original Message-----
>> From: IBM Mainframe Discussion List [mailto:IBM-...@bama.ua.edu] On
>Behalf Of
>> Cobe Xu
>> Sent: Thursday, January 21, 2010 8:17 AM
>> To: IBM-...@bama.ua.edu

0 new messages