Re: Future of COBOL based on RDz policies was Re: RDz or RDzEnterprise developers

2013-07-09 Thread David Crayford

On 10/07/2013 1:04 PM, Farley, Peter x23353 wrote:

Based on the announced capability to use new (to COBOL) TUNE and ARCH compiler 
options, I suspect the answer to that question is that it is the same shared 
backend.


I heard a rumour that COBOL was going to use the same back-end that the 
Java JIT uses. It was also suggested PL/1 and C/C++ would also be using 
the same universal back-end in the future.



Having seen the output of that backend during a recent research project in 
MetalC, I am quite impressed by its capabilities to *really* optimize the 
instruction stream, unlike the sadly lacking current COBOL backend.

I think we're going to like it.  A *lot*.

At least, I have some real hope that we will, though this *is* IBM we are 
talking about.  Do they really want to significantly optimize the existing 
COBOL executable base as it is recompiled for maintenance and enhancements, 
reducing MSU usage all over the place?  They have, time and again, shown 
themselves quite capable of deliberately reducing the effectiveness of new 
technology to preserve their revenue stream for a few more quarters.

We will see.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, July 09, 2013 9:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Future of COBOL based on RDz policies was Re: RDz or RDzEnterprise 
developers




It has taken us a while, but we now have a modern backend (code generator
and optimizer) for COBOL that can exploit the latest hardware, and will
support DFP, AMODE 64 and many of the other z/OS system features that we
have not be able to exploit in the past.

Is that new backend bespoke for COBOL or is it shared with PL/1, C/C++,
Java?


Cheers,
TomR  >> COBOL is the Language of the Future! <<

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Advice about extending the PCREGREP

2013-07-09 Thread David Crayford
Check out the fldata() function 
http://publib.boulder.ibm.com/infocenter/zvm/v6r1/topic/com.ibm.zos.r9.cbcpx01/fldbeh.htm#fldbeh.
It gives you everything you need to know without having to parse file 
name strings. If I were you I would stick to fixed dd names for batch jobs.


On 10/07/2013 11:27 AM, Ze'ev Atlas wrote:

Based on responses that I've got from previous two discussions, I've decided to 
extend the existing PCREGREP [which is decidely written in C] and teach it to 
deal with PDS and PDSE libraries.  I need any bit of advice because I am not 
too proficient in C.

What I intend to do is recognize that the file name is of the format 
SOME.FILE.NAME(PATTERN) and designate that file as a PDS (this version of the 
pcregrep utility would live only in the z/OS port. so I am not concerned about 
other platforms having that as a valid file name.  BTW, pattern wildcard in 
that context is *, ?, whatever is accepted by fnmatch and valid member name 
letters only, not a regular expression.)

Any other file name would be considered  a flat file of sort.

I already know (conceptually) how to travel on a directory and get member names 
one after the other, and I know (conceptually) how to match the member names to 
the pattern and ignore aliases (or not.)

If I get a file name something like MLQ.LLQ(*) in the PARM= field, I should not 
have any issue processing that.

I asked, but I am asking again, with regard to the fact that we are talking 
about C, how would I pass quoted file names (i.e. with HLQ) in the PARM= field 
of the JCL and how would C be able to decipher that.

If the pds name is provided as a DDNAME it would be like this this dd:ddname.

ZA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


DB2 image backup and DFSMSdss dataset backup

2013-07-09 Thread Victor Zhang
Hello experts,

Occasionally in my shop, DSS dataset backup will run concurrently with DB2 
image backup, the targe devices are Oracle virtual tape storage, however, it is 
noticed that DSS backup will be slowed down by DB2 backup. For example, if DSS 
backup run indepently, it may run about 10 minutes, however if run concurrently 
with DB2 image backup, it may take about one hour to finish.

Is there a method to allow DSS backup run more smoothly even if it is running 
concurrently with DB2 image copy?

 

Regards

Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Future of COBOL based on RDz policies was Re: RDz or RDzEnterprise developers

2013-07-09 Thread Farley, Peter x23353
Based on the announced capability to use new (to COBOL) TUNE and ARCH compiler 
options, I suspect the answer to that question is that it is the same shared 
backend.

Having seen the output of that backend during a recent research project in 
MetalC, I am quite impressed by its capabilities to *really* optimize the 
instruction stream, unlike the sadly lacking current COBOL backend.

I think we're going to like it.  A *lot*.

At least, I have some real hope that we will, though this *is* IBM we are 
talking about.  Do they really want to significantly optimize the existing 
COBOL executable base as it is recompiled for maintenance and enhancements, 
reducing MSU usage all over the place?  They have, time and again, shown 
themselves quite capable of deliberately reducing the effectiveness of new 
technology to preserve their revenue stream for a few more quarters.

We will see.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, July 09, 2013 9:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Future of COBOL based on RDz policies was Re: RDz or RDzEnterprise 
developers



> It has taken us a while, but we now have a modern backend (code generator
> and optimizer) for COBOL that can exploit the latest hardware, and will
> support DFP, AMODE 64 and many of the other z/OS system features that we
> have not be able to exploit in the past.

Is that new backend bespoke for COBOL or is it shared with PL/1, C/C++,  
Java?

>
> Cheers,
> TomR  >> COBOL is the Language of the Future! <<
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Advice about extending the PCREGREP

2013-07-09 Thread Sam Siegel
#include 
#include 
#include 
#include 
int main( int argc, char **argv )
{
  printf ( "%s\n", argv[1] );
  return 0;
}

//SAMPLEJ  JOB MUP,'JOB: SAMPLE',
// CLASS=A,
// MSGCLASS=X,
// NOTIFY=&SYSUID
//*
//*
//JS010EXEC PGM=SAMPLE,PARM='/A.B.C'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS020EXEC PGM=SAMPLE,PARM='/DD:DD1'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS030EXEC PGM=SAMPLE,PARM='/A.B.C(X)'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS040EXEC PGM=SAMPLE,PARM='/DD:DD2(X)'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//

Output from above
A.B.C

DD:DD1

A.B.C(X)

DD:DD2(X)



On Tue, Jul 9, 2013 at 8:27 PM, Ze'ev Atlas  wrote:

> Based on responses that I've got from previous two discussions, I've
> decided to extend the existing PCREGREP [which is decidely written in C]
> and teach it to deal with PDS and PDSE libraries.  I need any bit of advice
> because I am not too proficient in C.
>
> What I intend to do is recognize that the file name is of the format
> SOME.FILE.NAME(PATTERN) and designate that file as a PDS (this version of
> the pcregrep utility would live only in the z/OS port. so I am not
> concerned about other platforms having that as a valid file name.  BTW,
> pattern wildcard in that context is *, ?, whatever is accepted by fnmatch
> and valid member name letters only, not a regular expression.)
>
> Any other file name would be considered  a flat file of sort.
>
> I already know (conceptually) how to travel on a directory and get member
> names one after the other, and I know (conceptually) how to match the
> member names to the pattern and ignore aliases (or not.)
>
> If I get a file name something like MLQ.LLQ(*) in the PARM= field, I
> should not have any issue processing that.
>
> I asked, but I am asking again, with regard to the fact that we are
> talking about C, how would I pass quoted file names (i.e. with HLQ) in the
> PARM= field of the JCL and how would C be able to decipher that.
>
> If the pds name is provided as a DDNAME it would be like this this
> dd:ddname.
>
> ZA
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Advice about extending the PCREGREP

2013-07-09 Thread Ze'ev Atlas
Based on responses that I've got from previous two discussions, I've decided to 
extend the existing PCREGREP [which is decidely written in C] and teach it to 
deal with PDS and PDSE libraries.  I need any bit of advice because I am not 
too proficient in C.

What I intend to do is recognize that the file name is of the format 
SOME.FILE.NAME(PATTERN) and designate that file as a PDS (this version of the 
pcregrep utility would live only in the z/OS port. so I am not concerned about 
other platforms having that as a valid file name.  BTW, pattern wildcard in 
that context is *, ?, whatever is accepted by fnmatch and valid member name 
letters only, not a regular expression.)

Any other file name would be considered  a flat file of sort.

I already know (conceptually) how to travel on a directory and get member names 
one after the other, and I know (conceptually) how to match the member names to 
the pattern and ignore aliases (or not.)

If I get a file name something like MLQ.LLQ(*) in the PARM= field, I should not 
have any issue processing that.

I asked, but I am asking again, with regard to the fact that we are talking 
about C, how would I pass quoted file names (i.e. with HLQ) in the PARM= field 
of the JCL and how would C be able to decipher that.

If the pds name is provided as a DDNAME it would be like this this dd:ddname.

ZA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Future of COBOL based on RDz policies was Re: RDz or RDzEnterprise developers

2013-07-09 Thread David Crayford

On 9/07/2013 2:00 AM, Tom Ross wrote:


Clark,  if you  Google "Java is dead" for some fun.  Ruby killed Java,
Groovy killed Ruby, etc, etc. Yeah, I have heard "x is dead" before, eh?


Java is certainly not dead but it is a legacy language. There are a lot 
of large enterprises like linkedin, sony, Xerox, twitter etc that
are transitioning from Java to languages to Scala which are more 
succinct and have powerful features like
functional programming, immutability etc. Languages never die, they just 
become legacy and don't get used for green fields

projects.


It has taken us a while, but we now have a modern backend (code generator
and optimizer) for COBOL that can exploit the latest hardware, and will
support DFP, AMODE 64 and many of the other z/OS system features that we
have not be able to exploit in the past.


Is that new backend bespoke for COBOL or is it shared with PL/1, C/C++,  
Java?




Cheers,
TomR  >> COBOL is the Language of the Future! <<

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread retired mainframer
-08 is two years behind the -09 version

:>: -Original Message-
:>: From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
:>: Behalf Of John McKown
:>: Sent: Tuesday, July 09, 2013 1:45 PM
:>: To: IBM-MAIN@LISTSERV.UA.EDU
:>: Subject: Re: Benchmark of Relative instructions vers Base+displacement
:>: ones
:>:
:>: Download from here
:>:
:>: http://www-05.ibm.com/e-
:>: business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SA22-
:>: 7832-08
:>:
:>:
:>: On Tue, Jul 9, 2013 at 3:17 PM, Richard Verville
:>: wrote:
:>:
:>: > Now I feel really stupid, I went back to the POP manual I have and
:>: It's
:>: > dated October 2001. I just tried the LGFI instruction and it compiles
.
:>: Now
:>: > I need to get my hands on the latest POP manual...The control register
:>: R0
:>: > has the extraction bit (if ISVK is allowed for example) , so we could
:>: test
:>: > the bit before getting a privilege operation exception. Richard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Buffering: stdout vs. stderr?

2013-07-09 Thread Paul Gilmartin
My test program, isbuffer.c:

/* Doc: demonstrate buffering of stdout and stderr */
#include 

int main( void ) {
int I;

for ( I = 0; I<5; I++ ) {
fprintf( stdout, "Record %2d to stdout\n", I );
fprintf( stderr, "Record %2d to stderr\n", I ); }

return( 0 ); }

... when compiled and executed with the C/C++ compiler on z/OS 1.13 prints:

SPPG@MVS3:136$ cd ../OS390
SPPG@MVS3:138$ gmake isbuffer && ./isbuffer
gmake: `isbuffer' is up to date.
Record  0 to stdout
Record  0 to stderr
Record  1 to stdout
Record  1 to stderr
Record  2 to stdout
Record  2 to stderr
Record  3 to stdout
Record  3 to stderr
Record  4 to stdout
Record  4 to stderr

... the writes to stdout and stderr come out interleaved, in the order
in which they were executed.  However, when I compile in Enhanced
ASCII mode and link with xplink, I get:

SPPG@MVS3:145$ cd ../ASCII
SPPG@MVS3:146$ gmake isbuffer && ./setascii ./isbuffer
unset LC_CTYPE; \
c99 -I.. -D_ALL_SOURCE   -Wa,"ASA,RENT" -Wl,xplink,EDIT=NO -Wc,dll,ascii   -o 
isbuffer isbuffer.o /usr/lib/Xaw.x /usr/lib/SM.x /usr/lib/ICE.x /usr/lib/X11.x 
-lcurses
Record  0 to stderr
Record  1 to stderr
Record  2 to stderr
Record  3 to stderr
Record  4 to stderr
Record  0 to stdout
Record  1 to stdout
Record  2 to stdout
Record  3 to stdout
Record  4 to stdout

... all the writes to stderr come out first, and stdout appears to be
using a lazy buffer.  Is this documented?  Is there a standard
involved?  Or just a good argument for issuing prompts to stderr
rather than to stdout in an interactive program?  (Or for using
fflush().)

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread David Crayford

On 10/07/2013 1:51 AM, Kirk Wolf wrote:

This technique also works in C or Java.

Unfortunately, the overhead of allocate/open/close/free for each member
does not yield good performance if that matters for your application.

It is a pity, IMO, that the C library does not include BPAM extensions to
fopen()


IIRC, you already had a very neat idea of how to implement BPAM using 
freopen() 
https://groups.google.com/d/msg/bit.listserv.ibm-main/QvIsxXkemPc/3PeObd_3mhUJ.




Kirk Wolf
Dovetailed Technologies
http://dovetail.com


On Tue, Jul 9, 2013 at 12:16 PM, Rick Arellanes  wrote:


The answer is yes, you can use COBOL to read a PDS directory and process
each member separately. Define 2 files: 1 (PDS-DIR) to read the PDS
directory and one (PDS-FILE) to read each member. The one to read the
directory (PDS-DIR) is RECORDING MODE U with a record of PIC X(256). The
other (PDS-FILE) is to read the member (e.g., RECORDING MODE F with a
record of PIC X(80)). Define a LINKAGE SECTION item to map the PDS
directory layout (you can find this in the DFSMS books).

Now, use the COBOL built-in dynamic allocation support to open the PDS
directory (do not define a DD statement in the JCL for these files since
COBOL's dynamic allocation support will be bypassed if a DD already exists):
MOVE z"PDSDIR" TO ENV-NAME
MOVE z"DSN(HLQ.PDSTEST).SHR" TO ENV-VALUE
MOVE 1 TO ENV-OVERWRITE
CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
OPEN INPUT PDS-DIR
Loop to read the PDS directory to get each member name and process the
memberl stop when you reach the end

To process each member:
MOVE z"PDSFILE" TO ENV-NAME
Use INSPECT and STRING to build the PDS data set name with member name in
ENV-VALUE in the form of DSN(HLQ.PDSTEST(MEMBER)),SHR" with a null
termination
MOVE 1 TO ENV-OVERWRITE
CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
OPEN INPUT PDS-FILE
Read each record until EOF
CLOSE PDS-FILE
and repeat the processing with the next member

CLOSE PDS-DIR

When you change the ENV-VALUE for each DD name, COBOL will do the dynamic
deallocation and dynamic allocation again using the new values.

The ENV-xxx values are defined as:
01 ENV-VARS.
05 ENV-NAME  PIC X(9).
05 ENV-VALUE PIC X(100).
05 ENV-OVERWRITEPIC S9(8) COMP.

Rick Arellanes (IBM COBOL Development)

On Sat, 6 Jul 2013 22:31:22 -0500, Ze'ev Atlas  wrote:


Hi All
I would assume that this question was asked many times before, but I

could not have yet find the answer.

I need to write a native z/OS COBOL program and it cannot be done in any

of the other popular languages or environments for the reasons enumerated
below.  The program should be a driver that gets a PDS or PDSE library
name, reads the directory of that library and then opens each member in
turn in a loop and reads it and apply some process that uses calls to some
LE package.  Could that be done and is there any freely available sample
code?


Reasons why I cannot use other solutions
I know that there are other GREAT solutions, by far better then my

solution.  I agree in advance with anybody who has a better solution, but I
am not interested:

I do not know PL/I well enough and am not interested in improving my

knowledge.

Rexx would not cut it in this case because Rexx interface with persistent

LE environment is complicated

I know how to do it in Assembler but I am refraining from coding in

Assembler any more

It cannot be using USS as the whole purpose of the project is doing

something from within native z/OS.

I am not interested in the existing IBM (or vendor) utilities since I

need  to apply my process to each member and each line in that member.
  Also, vendor utilities may not be available to everybody.


The only solution other then COBOL driver that I could consider is if it

could be done from within the SORT utility (as the driver) because of its
ubiquity, but I could not figure out whether and how it could be done.

Thanks
ZA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread John McKown
I like the new use of environment variables to do dynamic allocation of
data sets. I'm still not much of a fan of COBOL. But I'm a sysprog, not an
app programmer.
On Jul 9, 2013 4:47 PM, "Tom Ross"  wrote:

> >Paul Gilmartin wrote:
> >
> >>(but does COBOL support DYNALLOC?)=20
> >
> >Yes, behind the scenes. Search the IBM-MAIN Archives for details.=20
> >
> >Of course some RTFM is needed to get it working.
> >
> >Oh, look also for magic word: BPXWDYN.
>
> I would recommend using the built-in support for dynamic file allocation
> in COBOL, and avoid calling BPX* services directly.  We did a lot of work
> to make it easier to do dynamic allocation with COBOL than with the BPX*
> runtime services.  It is all documented in the COBOL Programing Guide,
> look for 'Dynamically creating QSAM files' and then 'environment variable'.
> (You can also do it with VSAM and Line Sequential Files, but I assumed
> QSAM for working with PDS and PDSE, that's what we use)
>
> Cheers,
> TomR  >> COBOL is the Language of the Future! <<
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Ze'ev Atlas
>Unfortunately, the overhead of allocate/open/close/free for each member
>does not yield good performance if that matters for your application.

In a previous project I had an image of a library on a Linux (my testbed) 
directory.  I read that directory and processed each file separately.  I used 
Rexx on Linux and it worked something like 15 minutes on 3 files.  But our 
target machine was IBM AIX machine (the fastedt machine possible according to 
the client,) so when I moved the process there it would take about 4 hours (I 
kid you not - and I had to process 4 libraries like that.)
The solution was to move the thing back to the mainframe (which was considered 
to be a production machine as well.)  It was still painfull because of the 
allocate/open/close/free mentioned above, but it took only an hour

ZA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread Walt Farrell
On Tue, 9 Jul 2013 16:11:51 -0500, John McKown  
wrote:

>Well, I tried JR's link and it got me the -09 version of the manual. LGFI
>is on the top of page 7-219. I don't know how I could have goofed up my
>link.
>

Your link was to -08, so either you used a site that has a downlevel version, 
or somehow you picked the wrong one to link to :)

Finding -09 (when it came out) was harder than I expected it to be, and harder 
than I think it should be.

-- 
Walt

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: RMM common practices

2013-07-09 Thread Skip Robinson
OTOH you could wait until the master file fills up completely. A cheap--if 
not easy--way to find out if your pager still works. I know because this 
has happened to us a couple of times recently. How smart are we? 

As for synching RMM to ICF catalog(s). some installations like ours 
actually don't want that because long before RMM came on the scene, our 
old tms managed tape data sets regardless of catalog. It's a business 
practice I would not vociferously defend, but neither would I want to 
defend the castle against an army of revolting peasants. That's just how 
they roll. 

.
.
JO.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
jo.skip.robin...@sce.com



From:   Mike Wood 
To: IBM-MAIN@LISTSERV.UA.EDU, 
Date:   07/09/2013 02:18 PM
Subject:Re: RMM common practices
Sent by:IBM Mainframe Discussion List 



Michael, Hopefully I can help you with this.
1.  This difference in catalog status is only a problem if you are 
retaining them by catalog in rmm. In all other cases, when the data 
expires and volume is returned to scratch the difference should be 
resolved.  (depends on UNCATALOG parmlib option)
To make rmm match the catalog you need to run CATSYNCH - this can be 
either done manually with EDGHSKP, or, use EDGUTIL to reset the CATSYNCH 
state to NO so rmm EDGHSKP automatically includes CATSYNCH next time it is 
run (The latter requires parmlib option CATSYSID(*) to be in use.

2. EDGHSKP requires rmm to be active. The only reasons to quiesce or stop 
rmm are: i) EDGBKUP with BACKUP(REORG), and ii) EDGBKUP RESTORE to the 
active CDS.

3. My thoughts about CDS percentage used are documented here 
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2c8a0/17.7?SHELF=all13be9&DT=20110609111302

The answer to your question is 'it depends'!  If you follow the 
recommendations I made in the rmm I&C Guide, including sufficient 
secondary space etc.. neither reorg nor percentage full are an issue until 
you run out of space in VSAM limits or available DASD space.
Consider this - how much space in MB is 10% of your CDS? . How many 
data sets/volumes might fit in that space? ... are you growing in number 
of volumes/data sets  Reaching an limits?

Mike Woodrmm expert



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Tom Ross
>Paul Gilmartin wrote:
>
>>(but does COBOL support DYNALLOC?)=20
>
>Yes, behind the scenes. Search the IBM-MAIN Archives for details.=20
>
>Of course some RTFM is needed to get it working.
>
>Oh, look also for magic word: BPXWDYN.

I would recommend using the built-in support for dynamic file allocation
in COBOL, and avoid calling BPX* services directly.  We did a lot of work
to make it easier to do dynamic allocation with COBOL than with the BPX*
runtime services.  It is all documented in the COBOL Programing Guide,
look for 'Dynamically creating QSAM files' and then 'environment variable'.
(You can also do it with VSAM and Line Sequential Files, but I assumed
QSAM for working with PDS and PDSE, that's what we use)

Cheers,
TomR  >> COBOL is the Language of the Future! <<

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread Richard Verville
J R 's link works just fine... and indeed has the LGFI and others in it. Thanks 
very much for this...Richard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: What programmer's fear (not IBM specific)

2013-07-09 Thread Pommier, Rex R.
And here I thought you were referring to a z/OS release about 20 years into the 
future, you know, the next one after z/OS 2.09.  :-)

Rex

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Friday, July 05, 2013 5:52 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: What programmer's fear (not IBM specific)

My bad. Errant zero.

On 05/07/2013, at 6:39 PM, Mike Schwab  wrote:

> z/OS 2.10?  In 2023?  I haven't even seen the announcement for z/OS 2.02.
>
> On Fri, Jul 5, 2013 at 2:06 AM, David Crayford  wrote:
>> On 5/07/2013 2:56 PM, Martin Packer wrote:
>>>
>>> If that's true in Another World I wonder what it'd take to make it true in
>>> THIS one.
>>
>>
>> For a start somebody to port OOREXX to z/OS.
>> That's not going to happen until somebody first ports a recent version of
>> GNU autotools.
>> That's not going to happen until at least z/OS 2.10 when the new GNU
>> extended streams API is available.
>> We may be waiting a while...
>>
>> The EBCDIC stuff in OOREXX is mostly complete. I did that years ago. I
>> bailed when it became clear that fixing the build system
>> was an intractable problem.
>>
>>
>>> Cheers, Martin
>>>
>>> Martin Packer,
>
> --
> Mike A Schwab, Springfield IL USA
> Where do Forest Rangers go to get away from it all?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

The information contained in this e-mail may contain confidential and/or 
privileged information and is intended for the sole use of the intended 
recipient. If you are not the intended recipient, you are hereby notified that 
any unauthorized use, disclosure, distribution or copying of this communication 
is strictly prohibited and that you will be held responsible for any such 
unauthorized activity, including liability for any resulting damages. As 
appropriate, such incident(s) may also be reported to law enforcement. If you 
received this e-mail in error, please reply to sender and destroy or delete the 
message and any attachments. Thank you.



NOTICE:  This e-mail message, including any attachments and appended messages, 
is for the sole use of the intended recipients and may contain confidential and 
legally privileged information.
If you are not the intended recipient, any review, dissemination, distribution, 
copying, storage or other use of all or any portion of this message is strictly 
prohibited.
If you received this message in error, please immediately notify the sender by 
reply e-mail and delete this message in its entirety.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Mike Wood
Victor,  Radoslaw already mentioned some of the data that rmm records, and I 
know CA-1 does similar.
However, rmm actually now has much more and very interesting data about what is 
written by the app and what has happened to it in the hardware.  For the 
details you need to be using tapes that report to the host system the correct 
information.. So that includes IBM drives since 3590, and other 
manufacturer drives that correctly emulate 3590.

See this section in the rmm MURM 
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2r3a0/1.3.11?SHELF=all13be9&DT=20110602105512
 This was new capability introduced via an APAR to rmm at the time of TS1140 
support - so should be available on all supported releases.

Mike Wood  rmm expert

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Mike Wood
Russell, 95% full 4TB tape cartridge would have around 200GB space available 
 Thats a lot of space
I know hsm had a lot of thoughts on that kind of subject.

Mike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: RMM common practices

2013-07-09 Thread Mike Wood
Michael, Hopefully I can help you with this.
1.  This difference in catalog status is only a problem if you are retaining 
them by catalog in rmm. In all other cases, when the data expires and volume is 
returned to scratch the difference should be resolved.  (depends on UNCATALOG 
parmlib option)
To make rmm match the catalog you need to run CATSYNCH - this can be either 
done manually with EDGHSKP, or, use EDGUTIL to reset the CATSYNCH state to NO 
so rmm EDGHSKP automatically includes CATSYNCH next time it is run (The latter 
requires parmlib option CATSYSID(*) to be in use.

2. EDGHSKP requires rmm to be active. The only reasons to quiesce or stop rmm 
are: i) EDGBKUP with BACKUP(REORG), and ii) EDGBKUP RESTORE to the active CDS.

3. My thoughts about CDS percentage used are documented here 
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2c8a0/17.7?SHELF=all13be9&DT=20110609111302
The answer to your question is 'it depends'!  If you follow the recommendations 
I made in the rmm I&C Guide, including sufficient secondary space etc.. neither 
reorg nor percentage full are an issue until you run out of space in VSAM 
limits or available DASD space.
Consider this - how much space in MB is 10% of your CDS? . How many data 
sets/volumes might fit in that space? ... are you growing in number of 
volumes/data sets  Reaching an limits?

Mike Woodrmm expert

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread John McKown
Well, I tried JR's link and it got me the -09 version of the manual. LGFI
is on the top of page 7-219. I don't know how I could have goofed up my
link.

On Tue, Jul 9, 2013 at 3:53 PM, J R  wrote:

> Try this link:
>
>  http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf
>
> ==
>
> > Date: Tue, 9 Jul 2013 16:51:13 -0400
> > From: r.vervi...@videotron.ca
> > Subject: Re: Benchmark of Relative instructions vers Base+displacement
> ones
> > To: IBM-MAIN@LISTSERV.UA.EDU
> >
> > that link has the same manual I have already and the LGFI instruction is
> not in it, unless I'm doing something wrong. Richard
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on how to debug S0C7 (data exception) abend

2013-07-09 Thread efinnell15
Probably good ones to keep in the regression files?



In a message dated 07/09/13 06:33:05 Central Daylight Time, 
norma.e.mowry@mail.mil writes:
We were able to find the 2 records causing the S0C7 abends in the 
COBOL/Syncsort application.  Thanks for the help.   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread John McKown
Download from here

http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SA22-7832-08


On Tue, Jul 9, 2013 at 3:17 PM, Richard Verville wrote:

> Now I feel really stupid, I went back to the POP manual I have and It's
> dated October 2001. I just tried the LGFI instruction and it compiles . Now
> I need to get my hands on the latest POP manual...The control register R0
> has the extraction bit (if ISVK is allowed for example) , so we could test
> the bit before getting a privilege operation exception. Richard
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread J R
Try this link:  

 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf 

==
 
> Date: Tue, 9 Jul 2013 16:51:13 -0400
> From: r.vervi...@videotron.ca
> Subject: Re: Benchmark of Relative instructions vers Base+displacement ones
> To: IBM-MAIN@LISTSERV.UA.EDU
> 
> that link has the same manual I have already and the LGFI instruction is not 
> in it, unless I'm doing something wrong. Richard
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread Richard Verville
that link has the same manual I have already and the LGFI instruction is not in 
it, unless I'm doing something wrong. Richard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread John McKown
Sure. You can just do a CALL on them, making sure to pass the parameters
correctly.

On Tue, Jul 9, 2013 at 3:39 PM, Paul Gilmartin  wrote:

> On Tue, 9 Jul 2013 12:51:49 -0500, Kirk Wolf wrote:
>
> >This technique also works in C or Java.
> >
> >Unfortunately, the overhead of allocate/open/close/free for each member
> >does not yield good performance if that matters for your application.
> >
> >It is a pity, IMO, that the C library does not include BPAM extensions to
> >fopen()
> >
> Rexx, likewise.  It would be so easy in syntax:
>
> fopen( "//DD:SYSLIB(MEMBER)", ... );
>
> I believe SAS/C does something like this.
>
> It's a pity that QPAM isn't invented, sparing implementors
> a level up the discomfort of block-mode access.
>
> Or, use UNIX files instead of legacy.  No allocation needed, and
> the open/close overhead is vastly less.  Are all the BPX1* routines
> available in COBOL?
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Paul Gilmartin
On Tue, 9 Jul 2013 12:51:49 -0500, Kirk Wolf wrote:

>This technique also works in C or Java.
>
>Unfortunately, the overhead of allocate/open/close/free for each member
>does not yield good performance if that matters for your application.
>
>It is a pity, IMO, that the C library does not include BPAM extensions to
>fopen()
> 
Rexx, likewise.  It would be so easy in syntax:

fopen( "//DD:SYSLIB(MEMBER)", ... );

I believe SAS/C does something like this.

It's a pity that QPAM isn't invented, sparing implementors
a level up the discomfort of block-mode access.

Or, use UNIX files instead of legacy.  No allocation needed, and
the open/close overhead is vastly less.  Are all the BPX1* routines
available in COBOL?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread Richard Verville
Now I feel really stupid, I went back to the POP manual I have and It's dated 
October 2001. I just tried the LGFI instruction and it compiles . Now I need to 
get my hands on the latest POP manual...The control register R0 has the 
extraction bit (if ISVK is allowed for example) , so we could test the bit 
before getting a privilege operation exception. Richard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread John McKown
Why not use IILF? It inserts a full word immediate value into the lower
fullword of the specified register. There are a bunch of the IIxx
instructions to load to full word or half words into any of the 2 full word
or 4 halfwords within a given register with an immediate value. Gotta have
the proper hardware, of course

There is also an LGFI .It loads a fullword immediate value into the Grande
register. The sign bit is propogated into the high word of the Grande
register. This assumes you're on the proper hardware level.

I can, maybe, see why ISVK would be protected. If anybody could use, the
malevolent programmer could use it to scan memory for memory areas that
could be corrupted without detection. This would be especially nasty for
that code which still insists on getting common memory (CSA, ECSA in z/OS,
I don't know z/VSE) in a user's protect key "because it's easier". Maybe
z/VSE people are not so stupid.

I looked at what is in control register 0 and didn't personally find
anything of interest.

On Tue, Jul 9, 2013 at 2:30 PM, Richard Verville wrote:

> Has anyone done benchmarks on different scenarios with instructions with
> immediate & relative instructions versus the old instructions. I have to
> rewrite some code for CICS on zOS & VSE and I wonder if it's worth it. Also
> I can't find a Load Fullword Immediate instruction (like LHI) where the
> intent is to load a value greater than 64K into a register and finally, why
> can't we inspect control register 0 in problem state (without the
> extraction bit on), instructions like ISVK should be "free", don't you
> think ? Richard
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Benchmark of Relative instructions vers Base+displacement ones

2013-07-09 Thread Richard Verville
Has anyone done benchmarks on different scenarios with instructions with 
immediate & relative instructions versus the old instructions. I have to 
rewrite some code for CICS on zOS & VSE and I wonder if it's worth it. Also I 
can't find a Load Fullword Immediate instruction (like LHI) where the intent is 
to load a value greater than 64K into a register and finally, why can't we 
inspect control register 0 in problem state (without the extraction bit on), 
instructions like ISVK should be "free", don't you think ? Richard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Kirk Wolf
This technique also works in C or Java.

Unfortunately, the overhead of allocate/open/close/free for each member
does not yield good performance if that matters for your application.

It is a pity, IMO, that the C library does not include BPAM extensions to
fopen()

Kirk Wolf
Dovetailed Technologies
http://dovetail.com


On Tue, Jul 9, 2013 at 12:16 PM, Rick Arellanes  wrote:

> The answer is yes, you can use COBOL to read a PDS directory and process
> each member separately. Define 2 files: 1 (PDS-DIR) to read the PDS
> directory and one (PDS-FILE) to read each member. The one to read the
> directory (PDS-DIR) is RECORDING MODE U with a record of PIC X(256). The
> other (PDS-FILE) is to read the member (e.g., RECORDING MODE F with a
> record of PIC X(80)). Define a LINKAGE SECTION item to map the PDS
> directory layout (you can find this in the DFSMS books).
>
> Now, use the COBOL built-in dynamic allocation support to open the PDS
> directory (do not define a DD statement in the JCL for these files since
> COBOL's dynamic allocation support will be bypassed if a DD already exists):
> MOVE z"PDSDIR" TO ENV-NAME
> MOVE z"DSN(HLQ.PDSTEST).SHR" TO ENV-VALUE
> MOVE 1 TO ENV-OVERWRITE
> CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
> OPEN INPUT PDS-DIR
> Loop to read the PDS directory to get each member name and process the
> memberl stop when you reach the end
>
> To process each member:
> MOVE z"PDSFILE" TO ENV-NAME
> Use INSPECT and STRING to build the PDS data set name with member name in
> ENV-VALUE in the form of DSN(HLQ.PDSTEST(MEMBER)),SHR" with a null
> termination
> MOVE 1 TO ENV-OVERWRITE
> CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
> OPEN INPUT PDS-FILE
> Read each record until EOF
> CLOSE PDS-FILE
> and repeat the processing with the next member
>
> CLOSE PDS-DIR
>
> When you change the ENV-VALUE for each DD name, COBOL will do the dynamic
> deallocation and dynamic allocation again using the new values.
>
> The ENV-xxx values are defined as:
> 01 ENV-VARS.
>05 ENV-NAME  PIC X(9).
>05 ENV-VALUE PIC X(100).
>05 ENV-OVERWRITEPIC S9(8) COMP.
>
> Rick Arellanes (IBM COBOL Development)
>
> On Sat, 6 Jul 2013 22:31:22 -0500, Ze'ev Atlas  wrote:
>
> >Hi All
> >I would assume that this question was asked many times before, but I
> could not have yet find the answer.
> >
> >I need to write a native z/OS COBOL program and it cannot be done in any
> of the other popular languages or environments for the reasons enumerated
> below.  The program should be a driver that gets a PDS or PDSE library
> name, reads the directory of that library and then opens each member in
> turn in a loop and reads it and apply some process that uses calls to some
> LE package.  Could that be done and is there any freely available sample
> code?
> >
> >
> >Reasons why I cannot use other solutions
> >I know that there are other GREAT solutions, by far better then my
> solution.  I agree in advance with anybody who has a better solution, but I
> am not interested:
> >I do not know PL/I well enough and am not interested in improving my
> knowledge.
> >Rexx would not cut it in this case because Rexx interface with persistent
> LE environment is complicated
> >I know how to do it in Assembler but I am refraining from coding in
> Assembler any more
> >It cannot be using USS as the whole purpose of the project is doing
> something from within native z/OS.
> >I am not interested in the existing IBM (or vendor) utilities since I
> need  to apply my process to each member and each line in that member.
>  Also, vendor utilities may not be available to everybody.
> >
> >
> >The only solution other then COBOL driver that I could consider is if it
> could be done from within the SORT utility (as the driver) because of its
> ubiquity, but I could not figure out whether and how it could be done.
> >
> >Thanks
> >ZA
> >
> >--
> >For IBM-MAIN subscribe / signoff / archive access instructions,
> >send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Paul Gilmartin
On Tue, 9 Jul 2013 12:16:36 -0500, Rick Arellanes wrote:

>The answer is yes, you can use COBOL to read a PDS directory and process each 
>member separately. Define 2 files: 1 (PDS-DIR) to read the PDS directory and 
>one (PDS-FILE) to read each member. The one to read the directory (PDS-DIR) is 
>RECORDING MODE U with a record of PIC X(256). 
>
I would have used F, but it doesn't matter.

>The other (PDS-FILE) is to read the member (e.g., RECORDING MODE F with a 
>record of PIC X(80)). Define a LINKAGE SECTION item to map the PDS directory 
>layout (you can find this in the DFSMS books).
>
Emphasize the "e.g".  It should be the RECFM and LRECL of the data set.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Reading PDS/PDSE members from within COBOL in a loop

2013-07-09 Thread Rick Arellanes
The answer is yes, you can use COBOL to read a PDS directory and process each 
member separately. Define 2 files: 1 (PDS-DIR) to read the PDS directory and 
one (PDS-FILE) to read each member. The one to read the directory (PDS-DIR) is 
RECORDING MODE U with a record of PIC X(256). The other (PDS-FILE) is to read 
the member (e.g., RECORDING MODE F with a record of PIC X(80)). Define a 
LINKAGE SECTION item to map the PDS directory layout (you can find this in the 
DFSMS books).

Now, use the COBOL built-in dynamic allocation support to open the PDS 
directory (do not define a DD statement in the JCL for these files since 
COBOL's dynamic allocation support will be bypassed if a DD already exists):
MOVE z"PDSDIR" TO ENV-NAME
MOVE z"DSN(HLQ.PDSTEST).SHR" TO ENV-VALUE
MOVE 1 TO ENV-OVERWRITE
CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
OPEN INPUT PDS-DIR
Loop to read the PDS directory to get each member name and process the memberl 
stop when you reach the end

To process each member:
MOVE z"PDSFILE" TO ENV-NAME
Use INSPECT and STRING to build the PDS data set name with member name in 
ENV-VALUE in the form of DSN(HLQ.PDSTEST(MEMBER)),SHR" with a null termination
MOVE 1 TO ENV-OVERWRITE
CALL "setenv" USING ENV-NAME, ENV-VALUE, ENV-OVERWRITE
OPEN INPUT PDS-FILE
Read each record until EOF
CLOSE PDS-FILE
and repeat the processing with the next member

CLOSE PDS-DIR

When you change the ENV-VALUE for each DD name, COBOL will do the dynamic 
deallocation and dynamic allocation again using the new values.

The ENV-xxx values are defined as:
01 ENV-VARS.   
   05 ENV-NAME  PIC X(9).  
   05 ENV-VALUE PIC X(100).
   05 ENV-OVERWRITEPIC S9(8) COMP.

Rick Arellanes (IBM COBOL Development)

On Sat, 6 Jul 2013 22:31:22 -0500, Ze'ev Atlas  wrote:

>Hi All
>I would assume that this question was asked many times before, but I could not 
>have yet find the answer.
>
>I need to write a native z/OS COBOL program and it cannot be done in any of 
>the other popular languages or environments for the reasons enumerated below.  
>The program should be a driver that gets a PDS or PDSE library name, reads the 
>directory of that library and then opens each member in turn in a loop and 
>reads it and apply some process that uses calls to some LE package.  Could 
>that be done and is there any freely available sample code?
>
>
>Reasons why I cannot use other solutions
>I know that there are other GREAT solutions, by far better then my solution.  
>I agree in advance with anybody who has a better solution, but I am not 
>interested:
>I do not know PL/I well enough and am not interested in improving my knowledge.
>Rexx would not cut it in this case because Rexx interface with persistent LE 
>environment is complicated
>I know how to do it in Assembler but I am refraining from coding in Assembler 
>any more
>It cannot be using USS as the whole purpose of the project is doing something 
>from within native z/OS.
>I am not interested in the existing IBM (or vendor) utilities since I need  to 
>apply my process to each member and each line in that member.  Also, vendor 
>utilities may not be available to everybody.
>
>
>The only solution other then COBOL driver that I could consider is if it could 
>be done from within the SORT utility (as the driver) because of its ubiquity, 
>but I could not figure out whether and how it could be done.
>
>Thanks
>ZA
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Darth Keller
I've done some more testing and it doesn't look like I'm seeing messages 
from all my batch jobs either.  It looks more like dynamic allocations & 
some temporary datasets - which might also be dynamically allocated.


ddk



From:   Darth Keller/WBY/ASSURANT/US
To: IBM Mainframe Discussion List 
Date:   07/09/2013 08:53 AM
Subject:Re: Question on WRITE statements in ACS and Automation


Well, this gets more interesting as it appears that there must be some 
automation in place as I'm only seeing the IGD010*I  (* = 07, 08, 09, & 
10) on 2 of my 4 production LPAR's.

Are you sure your messages are not being suppressed?

I still think the SHARE requirement would be valid as I want to see ALL 
the messages in the log - batch, TSO, etc.
ddk









Darth Keller wrote:

>I do see some of my SMS Write output in my syslog:

>IGD01007I

What magic trick did you do? Mine (from DATACLAS) in my batch job does NOT 
appears in the SYSLOG!

Groete / Greetings
Elardus Engelbrecht



This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: regex that never matches?

2013-07-09 Thread Boris Lenz
You're right about the guess why "(" is necessary. Simply because the "?"
needs a precedence. It's a syntax thing.

"!" does not stand for "not". The combination "?!" stands for a "negative
look-ahead". See e.g. perldoc.perl.org/perlre.html for details.

Regards,
Boris


On Tue, July 9, 2013 16:56, Paul Gilmartin wrote:
> On Tue, 9 Jul 2013 11:34:55 +0200, Boris Lenz wrote:
>
>>does
>>
>>/(?!)/
>>
>>work for you?
>>
> Thanks!  I never woulda thoughta that.  Seems to work for sed and
> grep; nearly an exhaustive sample.  Now I need to try to understand it:
>
> It matches any string which is not ("!") matched by 0 or 1 ("?") copies
> of the null string (which appears between "(" and "?").  The "(" and ")"
> indicate grouping.  I have no idea why that's necessary.  Perhaps
> operator precedence?  Would any of /(?!)/, /(?)!/, or even /()?!/ work
> alike?  Why not?
>
> And, of course, there are many flavors of regex, all with different rules.
>
> Thanks again,
> gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: regex that never matches?

2013-07-09 Thread Mike Schwab
On Tue, Jul 9, 2013 at 9:56 AM, Paul Gilmartin  wrote:
> On Tue, 9 Jul 2013 11:34:55 +0200, Boris Lenz wrote:
>
>>does
>>
>>/(?!)/
>>
>>work for you?
>>
> Thanks!  I never woulda thoughta that.  Seems to work for sed and
> grep; nearly an exhaustive sample.  Now I need to try to understand it:
>
> It matches any string which is not ("!") matched by 0 or 1 ("?") copies
> of the null string (which appears between "(" and "?").  The "(" and ")"
> indicate grouping.  I have no idea why that's necessary.  Perhaps
> operator precedence?  Would any of /(?!)/, /(?)!/, or even /()?!/ work
> alike?  Why not?
>
> And, of course, there are many flavors of regex, all with different rules.
>
> Thanks again,
> gil

Adjacent special characters (excludes all other characters) that would
be extremely rare in actual input?
-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Mike Schwab
On Tue, Jul 9, 2013 at 8:12 AM, Elardus Engelbrecht
 wrote:
> Victor Zhang wrote:
>
>>I am using physical tape drive with high capacity which connect via FICON 
>>director with CPU,there is no virtual tape storage used, data is directly 
>>backed to physical tape drive,my question is how can I determine how much 
>>space used for a given physical cartridge? Does TMS software record this?
>
> Unwind it and use a virtual measurement tape to check...  ;-D  
> ;-D


http://www.dvdrewinder.com/
-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: regex that never matches?

2013-07-09 Thread Paul Gilmartin
On Tue, 9 Jul 2013 11:34:55 +0200, Boris Lenz wrote:

>does
>
>/(?!)/
>
>work for you?
>
Thanks!  I never woulda thoughta that.  Seems to work for sed and
grep; nearly an exhaustive sample.  Now I need to try to understand it:

It matches any string which is not ("!") matched by 0 or 1 ("?") copies
of the null string (which appears between "(" and "?").  The "(" and ")"
indicate grouping.  I have no idea why that's necessary.  Perhaps
operator precedence?  Would any of /(?!)/, /(?)!/, or even /()?!/ work
alike?  Why not?

And, of course, there are many flavors of regex, all with different rules.

Thanks again,
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread R.S.

W dniu 2013-07-09 14:55, Victor Zhang pisze:

Hello all,
I am using physical tape drive with high capacity which connect via FICON 
director with CPU,there is no virtual tape storage used, data is directly 
backed to physical tape drive,my question is how can I determine how much space 
used for a given physical cartridge? Does TMS software record this?



The topic is not easy because of compression.
Your TMS (RMM, CA-1, other) should show you both the length (in MB) of 
the datasets on the tape as well as total length(in MB) of all data 
recorded (all datasets). Due to compression it is ambigous what the last 
number mean: is is number of megabytes sent from the host (uncompressed) 
or number of megabytes written to the physical tape (compressed)?


And, of course, we cannot predict what the compression ratio will occur 
(exactly). Effect - you can assume compression 3:1, record 150% of 
physical capacity and have 50% of tape free. Or it can be 30% due to 
character of data recorded (worse compression). Or have better 
compression and 80% free. Last, but not least the data which are be 
appended can have other compression.


For RMM you have the following:
volume usage [kB] - total bytes written to the tape, uncompressed. Can 
be more than native capacity.

percent full - how much of physical tape track(s) are in use.
for any dataset: number of blocks x blocksize

For single file tape number_of_blocks x blocksize = volume_usage


--
Radoslaw Skorupka
Lodz, Poland






--
Treść tej wiadomości może zawierać informacje prawnie chronione Banku 
przeznaczone wyłącznie do użytku służbowego adresata. Odbiorcą może być jedynie 
jej adresat z wyłączeniem dostępu osób trzecich. Jeżeli nie jesteś adresatem 
niniejszej wiadomości lub pracownikiem upoważnionym do jej przekazania 
adresatowi, informujemy, że jej rozpowszechnianie, kopiowanie, rozprowadzanie 
lub inne działanie o podobnym charakterze jest prawnie zabronione i może być 
karalne. Jeżeli otrzymałeś tę wiadomość omyłkowo, prosimy niezwłocznie 
zawiadomić nadawcę wysyłając odpowiedź oraz trwale usunąć tę wiadomość 
włączając w to wszelkie jej kopie wydrukowane lub zapisane na dysku.

This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. 


BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax 
+48 (22) 829 00 33, www.brebank.pl, e-mail: i...@brebank.pl
Sąd Rejonowy dla m. st. Warszawy XII Wydział Gospodarczy Krajowego Rejestru Sądowego, nr rejestru przedsiębiorców KRS 025237, NIP: 526-021-50-88. 
Według stanu na dzień 01.01.2013 r. kapitał zakładowy BRE Banku SA (w całości wpłacony) wynosi 168.555.904 złotych.



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Lizette Koehler
Victor,

Then use the IBM Tape Tools.  They will provide the reports you want.  It uses 
both SMF and CA1 data and will tell you what is on the tape.

Lizette

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Victor Zhang
Sent: Tuesday, July 09, 2013 7:12 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Method to measure usage of a physical tape

I use both IBM 3590 and ORACLE T10K tape drive.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Victor Zhang
For a given cartridge, I want to know how much space is used, how much left(or 
how much data can I stack, or calculate compression ration if the data is 
compressable and tape drive has compresstion turned on).

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Russell Witt
Victor,

Within CA 1 there are a number of fields you can use. If it is a physical tape 
however, the best field to use is the Percent Utilization field. This is 
extremelly accurate for 3590-emulated devies (3590's, 3592, TS11x0's). This 
tell the exact percentage of the tape that has been used. So, once a tapes gets 
beyond 90 or 95% full you might want to stop adding additional data to it.

Russell Witt
CA 1 Principal Architect

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Victor Zhang
I use both IBM 3590 and ORACLE T10K tape drive.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Vernooij, CP - SPLXM
CA-1 also records the IDRC compression ratio. This makes it possible to
calculate the real amount of data written to a cartridge.

Kees.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Carl Swanson
Sent: Tuesday, July 09, 2013 15:46
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Method to measure usage of a physical tape


Using the TMC gives you the a calculated value as to the amount
of data stored. Since this does not take into account compression it
does not show the amount of physical tape cartridge consumed. Maybe this
is in the IBM tools, but I am not familiar with them

Carl Swanson
Mobile:215.688.1459
Email: carl.swans...@verizon.net

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Lizette Koehler
Sent: Tuesday, July 09, 2013 9:04 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Method to measure usage of a physical tape

CA1 records block size and how many blocks.  Then you can calculate the
size of the file.

What type of tape are you using, and are you trying to use tape
efficiently, i.e. no  wasted space on tape?

If so, the IBM Tapetools will be very helpful.

ftp://ftp.storsys.ibm.com/tapetool/updates.txt

http://public.dhe.ibm.com/storage/tapetool/overview.pdf

http://public.dhe.ibm.com/storage/tapetool/

Lizette

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Victor Zhang
Sent: Tuesday, July 09, 2013 5:56 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Method to measure usage of a physical tape

Hello all,
I am using physical tape drive with high capacity which connect via
FICON director with CPU,there is no virtual tape storage used, data is
directly backed to physical tape drive,my question is how can I
determine how much space used for a given physical cartridge? Does TMS
software record this?

Regards
Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

For information, services and offers, please visit our web site: 
http://www.klm.com. This e-mail and any attachment may contain confidential and 
privileged material intended for the addressee only. If you are not the 
addressee, you are notified that no part of the e-mail or any attachment may be 
disclosed, copied or distributed, and that any other action related to this 
e-mail or attachment is strictly prohibited, and may be unlawful. If you have 
received this e-mail by error, please notify the sender immediately by return 
e-mail, and delete this message. 

Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its 
employees shall not be liable for the incorrect or incomplete transmission of 
this e-mail or any attachments, nor responsible for any delay in receipt. 
Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch 
Airlines) is registered in Amstelveen, The Netherlands, with registered number 
33014286



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Lizette Koehler
John McKown,

In any of my Share requirements, I always ask for a parm addition.  Let the
current behavior be as it is, and for those that want the new function,
supply a new parm.

I understand completely about not wanting more "entries" in syslog or other
places.

Lizette


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of John McKown
Sent: Tuesday, July 09, 2013 6:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Question on WRITE statements in ACS and Automation

If people want these WRITE messages going to SYSLOG and put in a SHARE
request for that functionality, __PLEASE__ ask that it be optional. I get
enough crap messages on my z/OS SYSLOG as it is. To the point that I write
them to a data set which I then send to my Linux desktop simply so that I
can process them and strip out the messages which are useless just so that I
can browse something reasonable.

On Tue, Jul 9, 2013 at 8:25 AM, Elardus Engelbrecht <
elardus.engelbre...@sita.co.za> wrote:

> Lizette Koehler wrote:
>
> >When you create ACS code you can put WRITE statements into the 
> >process
> for clarification. Is it possible to capture those WRITEs in an 
> automation product, OPS/MVS, AFOPER, Tivoli, and action the message?
>
> AFAIK, those WRITES are NOT written to SYSLOG. I have now tested it. 
> :-(
>
> (Of course, I could be wrong as usual. ;-D )
>
> I remember those ancient days when we were trying to learn users to 
> use SMS properly. Those writes (if on SYSLOG) could really make our 
> work less painfull.
>
> >If a user is creating a dataset and using an invalid DSN, I could put 
> >a
> write statement in the code that says
> >WRITE MYACS001I Invalid DSN for the storage group requested.
> >Then if it went to SYSLOG I could capture it and send an email to the
> storage team for review.
>
> Good. Excellent way to punish them. ;-D
>
> >So, it would be nice, in my opinion, to be able to create an event
> notification that an automation tool could capture and then perform 
> some action (i.e. email the storage team)
>
> It should be more than nice. I think you should go ahead and get a 
> SHARE requirement.
>
> Groete / Greetings
> Elardus Engelbrecht
>
> Phrase of the week: "Remember now, the first 5 days after a weekend 
> are always hard!"
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



--
This is a test of the Emergency Broadcast System. If this had been an actual
emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Darth Keller
Well, this gets more interesting as it appears that there must be some 
automation in place as I'm only seeing the IGD010*I  (* = 07, 08, 09, & 
10) on 2 of my 4 production LPAR's.

Are you sure your messages are not being suppressed?

I still think the SHARE requirement would be valid as I want to see ALL 
the messages in the log - batch, TSO, etc.
ddk








Darth Keller wrote:

>I do see some of my SMS Write output in my syslog:

>IGD01007I

What magic trick did you do? Mine (from DATACLAS) in my batch job does NOT 
appears in the SYSLOG!

Groete / Greetings
Elardus Engelbrecht



This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Carl Swanson
Using the TMC gives you the a calculated value as to the amount of
data stored. Since this does not take into account compression it does not
show the amount of physical tape cartridge consumed. Maybe this is in the
IBM tools, but I am not familiar with them

Carl Swanson
Mobile:215.688.1459
Email: carl.swans...@verizon.net

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Lizette Koehler
Sent: Tuesday, July 09, 2013 9:04 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Method to measure usage of a physical tape

CA1 records block size and how many blocks.  Then you can calculate the size
of the file.

What type of tape are you using, and are you trying to use tape efficiently,
i.e. no  wasted space on tape?

If so, the IBM Tapetools will be very helpful.

ftp://ftp.storsys.ibm.com/tapetool/updates.txt

http://public.dhe.ibm.com/storage/tapetool/overview.pdf

http://public.dhe.ibm.com/storage/tapetool/

Lizette

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Victor Zhang
Sent: Tuesday, July 09, 2013 5:56 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Method to measure usage of a physical tape

Hello all,
I am using physical tape drive with high capacity which connect via FICON
director with CPU,there is no virtual tape storage used, data is directly
backed to physical tape drive,my question is how can I determine how much
space used for a given physical cartridge? Does TMS software record this?

Regards
Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Lizette Koehler
This came from a Hardware Manual for TS7700.  It documents the sizes of tapes.

To see the full insert go to, a copy and paste loses the table and it looks 
really bad.  

http://pic.dhe.ibm.com/infocenter/ts7700/cust/index.jsp?topic=%2Fcom.ibm.storage.ts7740.doc%2Fts7740_media_3592_tape_cartridges.html

or tinyurl:   http://tinyurl.com/mgbz8t8


Lizette


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Lizette Koehler
Sent: Tuesday, July 09, 2013 6:04 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Method to measure usage of a physical tape

CA1 records block size and how many blocks.  Then you can calculate the size of 
the file.

What type of tape are you using, and are you trying to use tape efficiently, 
i.e. no  wasted space on tape?

If so, the IBM Tapetools will be very helpful.

ftp://ftp.storsys.ibm.com/tapetool/updates.txt

http://public.dhe.ibm.com/storage/tapetool/overview.pdf

http://public.dhe.ibm.com/storage/tapetool/

Lizette

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Victor Zhang
Sent: Tuesday, July 09, 2013 5:56 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Method to measure usage of a physical tape

Hello all,
I am using physical tape drive with high capacity which connect via FICON 
director with CPU,there is no virtual tape storage used, data is directly 
backed to physical tape drive,my question is how can I determine how much space 
used for a given physical cartridge? Does TMS software record this?

Regards
Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Elardus Engelbrecht
Darth Keller wrote:

>I do see some of my SMS Write output in my syslog:

>IGD01007I

What magic trick did you do? Mine (from DATACLAS) in my batch job does NOT 
appears in the SYSLOG!

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread John McKown
If people want these WRITE messages going to SYSLOG and put in a SHARE
request for that functionality, __PLEASE__ ask that it be optional. I get
enough crap messages on my z/OS SYSLOG as it is. To the point that I write
them to a data set which I then send to my Linux desktop simply so that I
can process them and strip out the messages which are useless just so that
I can browse something reasonable.

On Tue, Jul 9, 2013 at 8:25 AM, Elardus Engelbrecht <
elardus.engelbre...@sita.co.za> wrote:

> Lizette Koehler wrote:
>
> >When you create ACS code you can put WRITE statements into the process
> for clarification. Is it possible to capture those WRITEs in an automation
> product, OPS/MVS, AFOPER, Tivoli, and action the message?
>
> AFAIK, those WRITES are NOT written to SYSLOG. I have now tested it. :-(
>
> (Of course, I could be wrong as usual. ;-D )
>
> I remember those ancient days when we were trying to learn users to use
> SMS properly. Those writes (if on SYSLOG) could really make our work less
> painfull.
>
> >If a user is creating a dataset and using an invalid DSN, I could put a
> write statement in the code that says
> >WRITE MYACS001I Invalid DSN for the storage group requested.
> >Then if it went to SYSLOG I could capture it and send an email to the
> storage team for review.
>
> Good. Excellent way to punish them. ;-D
>
> >So, it would be nice, in my opinion, to be able to create an event
> notification that an automation tool could capture and then perform some
> action (i.e. email the storage team)
>
> It should be more than nice. I think you should go ahead and get a SHARE
> requirement.
>
> Groete / Greetings
> Elardus Engelbrecht
>
> Phrase of the week: "Remember now, the first 5 days after a weekend are
> always hard!"
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Elardus Engelbrecht
Lizette Koehler wrote:

>When you create ACS code you can put WRITE statements into the process for 
>clarification. Is it possible to capture those WRITEs in an automation 
>product, OPS/MVS, AFOPER, Tivoli, and action the message?

AFAIK, those WRITES are NOT written to SYSLOG. I have now tested it. :-(

(Of course, I could be wrong as usual. ;-D )

I remember those ancient days when we were trying to learn users to use SMS 
properly. Those writes (if on SYSLOG) could really make our work less painfull.

>If a user is creating a dataset and using an invalid DSN, I could put a write 
>statement in the code that says 
>WRITE MYACS001I Invalid DSN for the storage group requested.
>Then if it went to SYSLOG I could capture it and send an email to the storage 
>team for review. 

Good. Excellent way to punish them. ;-D

>So, it would be nice, in my opinion, to be able to create an event 
>notification that an automation tool could capture and then perform some 
>action (i.e. email the storage team)

It should be more than nice. I think you should go ahead and get a SHARE 
requirement.

Groete / Greetings
Elardus Engelbrecht

Phrase of the week: "Remember now, the first 5 days after a weekend are always 
hard!"

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on WRITE statements in ACS and Automation

2013-07-09 Thread Darth Keller
I do see some of my SMS Write output in my syslog:

IGD01007I
IGD01008I

IGD01010I


But it appears that these are all from batch jobs.   I tested allocating a 
ds from my TSO session  & the WRITEs came back to me but are not in  the 
log.
ddk





This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Elardus Engelbrecht
Victor Zhang wrote:

>I am using physical tape drive with high capacity which connect via FICON 
>director with CPU,there is no virtual tape storage used, data is directly 
>backed to physical tape drive,my question is how can I determine how much 
>space used for a given physical cartridge? Does TMS software record this?

Unwind it and use a virtual measurement tape to check...  ;-D  ;-D

No, seriously, what type of tape do you have?  Reels, cartridge? optical? Type 
of media/vendor? Are you using encryption/compression? Do you stack data on 
your media?

AFAIK, IBM did published a list of MB per media type, but I don't have any docs 
for that, now I'm not working with it anymore.

Victor, your subject 'measure usage' is not same as 'space used' in text above. 
Which of the two do you want?

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Method to measure usage of a physical tape

2013-07-09 Thread Lizette Koehler
CA1 records block size and how many blocks.  Then you can calculate the size of 
the file.

What type of tape are you using, and are you trying to use tape efficiently, 
i.e. no  wasted space on tape?

If so, the IBM Tapetools will be very helpful.

ftp://ftp.storsys.ibm.com/tapetool/updates.txt

http://public.dhe.ibm.com/storage/tapetool/overview.pdf

http://public.dhe.ibm.com/storage/tapetool/

Lizette

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Victor Zhang
Sent: Tuesday, July 09, 2013 5:56 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Method to measure usage of a physical tape

Hello all,
I am using physical tape drive with high capacity which connect via FICON 
director with CPU,there is no virtual tape storage used, data is directly 
backed to physical tape drive,my question is how can I determine how much space 
used for a given physical cartridge? Does TMS software record this?

Regards
Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Question on WRITE statements in ACS and Automation

2013-07-09 Thread Lizette Koehler
I have a friend who is at z/OS V1.13

He asked me an  interesting question that I am thinking of opening a Share
requirement on.  Let me know what you think

When you create ACS code you can put WRITE statements into the process for
clarification.  Is it possible to capture those WRITEs in an automation
product, OPS/MVS, AFOPER, Tivoli, and action the message?

If a user is creating a dataset and using an invalid DSN, I could put a
write statement in the code that says 

WRITE MYACS001I Invalid DSN for the storage group requested.  

Then if it went to SYSLOG I could capture it and send an email to the
storage team for review. 

Or if my user was requesting way to much space for a specify storage pool, I
could do something similar.


So, it would be nice, in my opinion, to be able to create an event
notification that an automation tool could capture and then perform some
action (i.e. email the storage team)

I understand that I can redirect to a different pool and provide other
actions within ACS code.

But since a lot of logging goes directly to the DFHSM logs or SYSOUT DDs, I
have to have someone manually review to identify what is going on.


Another example, there is an ARC0019I message that indicates the CELLS are
too small for DFHSM.  It is only in the SYSOUT DDs.  I will be opening a
SHARE requirement to be able to redirect these types of messages to SYSLOG
so that an automation tool can send a notification to the storage team.



The only way I see of doing it is to filter the output of the task to find
the ACS code WRITE statements or filter the DFHSM SYSOUT DDs.


Any thoughts are welcome.  And if you have any other messages or functions
in DFHSM that might need redirection, let me know.

Thanks

Lizette

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Method to measure usage of a physical tape

2013-07-09 Thread Victor Zhang
Hello all,
I am using physical tape drive with high capacity which connect via FICON 
director with CPU,there is no virtual tape storage used, data is directly 
backed to physical tape drive,my question is how can I determine how much space 
used for a given physical cartridge? Does TMS software record this?

Regards
Victor

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Dynamic LPA Services

2013-07-09 Thread Kenneth Wilkerson
>since most of the stuff I write is RMODE64.
>Really? Perhaps you meant AMODE 64. But I'm not sure what that has to do
with PC routines.

And it has a lot to do with PC routines sine the LPA is 24/31 bit storage.
If you want to exploit RMODE64, you can't currently do that in the LPA. PC
routines can be called from any amode, any Rmode and any environment (the
new transaction environment excluded) except SACF 256 and 768. That is why
PC routines are important. 

More than 2/3rds of the server (approximately 500K of code) executes in a
common memory object. The code that does not is mostly involved in SVC
screening, runs as IRBs, run as tasks in the server  or are specialized
services that make a lot of non-PC  MVS service calls. Since most of the
server including the API are designed to run in cross memory mode, there are
no SVC calls. Since PC calls such as STORAGE, ESTAEX and CSVQUERY (which is
all the services normally used by the server) are RMODE64 capable this
presents no problem. Some of the API services branch call MVS services and
even do I/O. Since all the code is ARCHLVL=2 and is self-relocating, I copy
the guts (macro expansions) of these calls into a 31 bit work area enclosed
in a BSM back to the RMODE64 code.  My RTM exit recognizes abends in these
relocated copies and report them accordingly. The 2 big issues were RTM
exits and getting the PCAUTH to accept my 64 bit addresses. I got around
these issues through a concept I call surrogation. I create a 31 bit stub
program that contains the entry points to all the PC calls and their RTM
exit (they all share the same RTM estaex or FRR exits). This code handles
the redirection into the memory object. I could not find methods provided by
MVS to do these things (I did not spend a whole lot of time searching). So I
designed and wrote my own methods.  

I designed the server to run in RMODE64 from day 1 so when 1.13 was
released, I was able (through a few macros and the surrogate program) to get
many of the server programs above the bar in a single day. With time, I've
moved most of the server including much of the UI above the bar. I even
execute ISPF calls above the bar by replacing the CALL macro with a
self-written macro.

Again, my point is that I don't believe in designing servers to the lowest
common denominator provided you are willing to write the code to fill in the
gaps.

Kenneth
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Relson
Sent: Tuesday, July 09, 2013 6:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

>You know who owns it because its defined as a PC and therefore has an 
>entry table assigned to it.
I suspect that every diagnostician in the world disagrees with you about
using LOAD with ADDR=. It is true of course that you could navigate from the
PC number to the entry table to the target address for the PC. But then you
want to know what module is at that target address. Having a "name" that has
been provided by the module owner (presumably one that follows the module
owner's naming
conventions)
makes that easiest.  The same is true if you blow up at address "x" and want
to find out in what module "x" is. Using dynamic LPA for things in common
makes that easier. And has no significant downside.

>since most of the stuff I write is RMODE64.
Really? Perhaps you meant AMODE 64. But I'm not sure what that has to do
with PC routines.

>MVS is going to treat it as authorized simply because it's in the LPA. 
That means that it is accepted as the target of a LINK, LOAD, (etc) from an
authorized requestor. It does not mean that it will get control in an
authorized state from EXEC PGM=.  That requires AC=1.

>To say that you can't ever free a PC routine is untrue. Almost any 
>space switching PC will terminate as soon as the server that defined it 
>terminates.
I carelessly omitted, but the thread had already established, that we were 

talking about non-space-switch PC's. 

>Certainly, any PC routine that is defined as non-space switching  
>system PC routine that can be called without any provided interface 
>probably cannot be freed.
The only such "interface" that I can think of is one that increments a
counter (or sets a flag if that suffices) before issuing the PC and freeing
of the area is not allowed if the counter is non-0. Such counters/flags are
notoriously problematic due to memterm considerations. 

>However, a new copy can be loaded and
>redefined which is why I like reusable LXs. 
Everyone should like reusable LX's. But you still do have to get rid of the
old one first so there's a window when neither is available. 

>In my book, PC routines are the only way to fly. 
I don't think anyone is disagreeing with you.

I was only pointing out that LOAD with ADDR= is not the way to go.

Peter Relson
z/OS Core Technology Design

--
For IBM-MAIN subscribe / signoff / archive acc

Re: Dynamic LPA Services

2013-07-09 Thread Kenneth Wilkerson
A D6-22 is a linkage exception meaning the LX is not connected to the
address space issuing the PC. For a system LX, this means the LX has not
been connected by an ETCON, the LX has been disconnected by an ETDIS or
ETDES, or the address space that connected the LX has terminated.  For a
non-system LX, it could mean the address space issuing the PC has not issued
the ETCON to connect the non-system LX.

If you do a SLIP COMP=0D6, you can use the IPCS Status display to list all
the linkage tables in ascending LX order. Then you can visually whether the
LX is connected or not.

Kenneth
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Binyamin Dissen
Sent: Tuesday, July 09, 2013 3:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

You should be aware that ETDEF does not set a return code. It does inline
instructions to build a single entry. The ETCRE/ETCON are the ones that make
something happen.

On Mon, 8 Jul 2013 22:28:59 GMT "esst...@juno.com"  wrote:

:>As the original Poster, I thank every one for there input.
:>The various information provided has been excellent :>Thank You :>I am
still getting the 0D6-022 Abend, and I am Not Understanding why.
:>
:>So Let me level set every one.
:>I Am On a Z/oS 1.4 System
:>I do not have LX Reuse on this system, I don't think that has anything to
do with this issue.
:>
:>I use te CVT to determine LX Reuse.
:> USING CVTMAP,R15 .INFORM ASSEMBLER 
:> L R15,X'10'  .ADDRESS OF CVT   
:> TMCVTFLAG2,CVTALR.LX Reuse Available
01404522
:> BNO   NO_LX_REUSE.NO EXISTANCE
01404622
:>
:>I would like to understand the use of CR0 to determine this, if someone
would post the code.
:>.
:>I am aware of Obtaining Storage in Common and Loading a routine into key 0
SP 241 or similar, I'm trying to gain a new skill by using LPA Dynamic
Services.  
:>
:>In a separate job I Dynamically Add a module to LPA using CSVDYLPA.
:>
:>Then I Start An Address Space and use CSVQUERY to obtain the entry Point
Address of the Module I Added To LPA.
:>The Entry Point Address returned from CSVQUERY is then used in an ETDEF
SET macro that describes a Non Space Switching PC Routine.
:>
:>SET_ETD1 DS 0H
03340004
:> ETDEF TYPE=SET,ETEADR=ETD1,ROUTINE=(2),RAMODE=31,
X03350004
:>   STATE=SUPERVISOR,PC=STACKING,SSWITCH=NO,
X03360004
:>   SASN=OLD,ASCMODE=PRIMARY,
X03370004
:>   EK=8,PKM=OR,
XX03380004
:>   AKM=(8,9),EKM=(8)
03390004
:>*
0344
:> STR15,XMSRESP Save Response Code
03410004
:> BRAS  R14,CHKRESP Go Check Response Code In Reg-15 
:>
:>The Address Space has Not terminated. 
:>
:>Now I want to submit a Job which invokes this Routine via a PC
instruction.
:>the PC Number is D601.
:>Where D6 is The LX
:>01 Is the Second Entry in the Entry Table.
:>However when I issue the PC instruction I get an 0D6 Abend... 
:>
:>Thank You Again for all Your comments.
:>
:>
:>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen  http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me, you
should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems, especially
those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on how to debug S0C7 (data exception) abend

2013-07-09 Thread Elardus Engelbrecht
Mowry, Norma wrote:
>We were able to find the 2 records causing the S0C7 abends in the 
>COBOL/Syncsort application.  Thanks for the help.   
 
You're most welcome! It was a big lion pleasure to help! ;-D

War story:

One of my clients has a similar S0C7 abend with a program they're using 'for 
years'.

They were running in circles and eventually they came to me. So I requested 
source, library and current and previous datasets as input. Linecounts of input 
were about 40 millions.

I rerun that program (Main COBOL program and some called Assembler programs) on 
both datasets. S0C7 on current input. RC=00 on previous input.

With approval, I re-compiled it with display milestones on how far in the 
dataset the program is running. I quickly found the exact offending line and 
removed that with some IDCAMS REPRO, COUNT and SKIP work. Repeat, rinse, just 
to find some more such records. Eventually I gave the input dataset minus those 
lines back to the user which enabled them to meet their deadline.

Quick eye-ball scan revealed bad characters in numeric fields. One record was 
misaligned. Another was shorter than expected.

Groete / Greetings 
Elardus Engelbrecht 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Dynamic LPA Services

2013-07-09 Thread Kenneth Wilkerson
>The point is that SLIP LPAMOD=and the IPCS WHERE subcommand
>will not be able to identify your module by name.  So when someone needs to
refer to your module on a SLIP command, they will need to manually determine
the address of your module in order to use use ADDRESS=  (and the >address
could change every time your product starts, and is likely to be different
of each member of a sysplex).
>As a z/OS diagnosis expert, I view that as a serviceability issue.

Since a server address space is required to define the PCs, the server
provides an operator command such as resolve. The customer issues
RESOLVE,pgmname+disp and the system returns the address and the instruction
at that address for verification. The address can then be cut and paste into
a SLIP command. I have my own WHERE facility that is PC intelligent.

My point is that you don't have to design severs to the lowest common
denominator as long as you are willing to provide services to fill in the
gap. The diagnostic capabilities that the server I write provide are much
greater than what currently exists.

Kenneth
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Jim Mulder
Sent: Tuesday, July 09, 2013 12:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

> You know who owns it because its defined as a PC and therefore has an
entry
> table assigned to it. Looking in the entry tables for a program is 
> just
as
> common a practice as looking for "identified" programs. So finding PC 
> routines just requires different methods. Besides, if this is a 
> stacking
PC
> which is the only type I use, the linkage stack has everything needed 
> to associate the call with the PC routine including the PC number.

  The point is that SLIP LPAMOD=and the IPCS WHERE subcommand
will not be able to identify your module by name.  So when someone needs to
refer to your module on a SLIP command, they will need to manually determine
the address of your module in order to use use ADDRESS=  (and the address
could change every time your product starts, and is likely to be different
of each member of a sysplex).
As a z/OS diagnosis expert, I view that as a serviceability issue. 

> To say that you can't ever free a PC routine is untrue. Almost any 
> space switching PC will terminate as soon as the server that defined 
> it terminates. So these can be released and refreshed as needed every 
> time
the
> server recycles. Certainly, there are many PC routines that can't be
freed.
> But if a PC routine is designed to be called as part of an API or UI,
then
> API/UI recovery can easily recover the error and report it as the 
> server terminating. Certainly, any PC routine that is defined as 
> non-space switching  system PC routine that can be called without any 
> provided interface probably cannot be freed. However, a new copy can 
> be loaded
and
> redefined which is why I like reusable LXs. 

  Consider the case where the storage formerly occupied by the freed PC
routine has been reassigned by VSM, and now contains data that happens to
look like a valid instruction stream.  So now your "PC routine"
is executing unintended code, with the authority of the user and your PC
routine.  What will cause your API/UI recovery to get control, and if it
does get control, how will it "easily recover the error"? 
How will it detect and repair any damage which occurred due to the execution
of the unintended instructions? 


Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Dynamic LPA Services

2013-07-09 Thread Peter Relson
>You know who owns it because its defined as a PC and therefore has an 
>entry table assigned to it. 
I suspect that every diagnostician in the world disagrees with you about 
using
LOAD with ADDR=. It is true of course that you could navigate from the PC 
number
to the entry table to the target address for the PC. But then you want to 
know
what module is at that target address. Having a "name" that has been 
provided by
the module owner (presumably one that follows the module owner's naming 
conventions)
makes that easiest.  The same is true if you blow up at address "x" and 
want to
find out in what module "x" is. Using dynamic LPA for things in common 
makes that
easier. And has no significant downside.

>since most of the stuff I write is RMODE64.
Really? Perhaps you meant AMODE 64. But I'm not sure what that has to
do with PC routines.

>MVS is going to treat it as authorized simply because it's in the LPA. 
That means that it is accepted as the target of a LINK, LOAD, (etc) from
an authorized requestor. It does not mean that it will get control in
an authorized state from EXEC PGM=.  That requires AC=1.

>To say that you can't ever free a PC routine is untrue. Almost any space
>switching PC will terminate as soon as the server that defined it
>terminates. 
I carelessly omitted, but the thread had already established, that we were 

talking about non-space-switch PC's. 

>Certainly, any PC routine that is defined as non-space
>switching  system PC routine that can be called without any provided
>interface probably cannot be freed. 
The only such "interface" that I can think of is one that increments a 
counter (or sets a flag if that suffices) before issuing the PC and 
freeing of the area is not allowed if the counter is non-0. Such 
counters/flags are notoriously problematic due to memterm considerations. 

>However, a new copy can be loaded and
>redefined which is why I like reusable LXs. 
Everyone should like reusable LX's. But you still do have to get rid of 
the old one first so there's a window when neither is available. 

>In my book, PC routines are the only way to fly. 
I don't think anyone is disagreeing with you.

I was only pointing out that LOAD with ADDR= is not the way to go.

Peter Relson
z/OS Core Technology Design

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on how to debug S0C7 (data exception) abend

2013-07-09 Thread Mowry, Norma E CIV DISA ESB (US)
We were able to find the 2 records causing the S0C7 abends in the 
COBOL/Syncsort application.  Thanks for the help.  

Norma Mowry 
DECC-Mechanicsburg 
Operating Systems Support (ESB11) 
(717)-605-7865  DSN:430 
e-mail address: norma.e.mowry@mail.mil 

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Elardus Engelbrecht
Sent: Friday, July 05, 2013 10:18
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Question on how to debug S0C7 (data exception) abend

Lizette Koehler kindly wrote:

>1) LE Traps any abends - does some stuff, then returns control to the 
>abend process

Yes. By default as supplied by IBM. With TRAP(OFF) you get nasty side-effects 
according to LE diagnostic guide.

Check the run-time options with RPTOPTS.

Norma Mowry wrote:

>This is a batch job, executing a COBOL Program, it looks like the program is 
>doing an internal sort using syncsort.  I can see in the dump the statement 
>failing is a ZAP, but also say a S0C4 abend before the S0C7 abend.  

Ask your programmers to put in display or trace statements so you can see 
exactly where in the program and where in the data is the program now just 
before abend.

Or use LE DEBUG run-time options.

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: regex that never matches?

2013-07-09 Thread Shane Ginnane
On Tue, 9 Jul 2013 02:31:31 -0500, Paul Gilmartin wrote:

>  a regex that will never match any string whatever?

oh boy, the number of regex I've written that I couldn't get to match even what 
I could see in front of me    :0)

Shane ...

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Setting effective UID in z/OS UNIX in multi-user environments correctly

2013-07-09 Thread Boris Lenz
Hi,

how can we force the effective userid in z/OS Unix to be set to the real
end user's userid, instead of that of the STC, in multi-user address
spaces (such as IMS MPR or CICS)?

Say user FOOBAR starts an IMS transaction. The IMS MPR runs under user
IMSMPP. If the transaction uses any Unix System Services, such as mkdir
(BPX1MKD), Unix will always take IMSMPP as the effective userid. This is
evil. What's worse, you can't even change the effective userid with
seteuid, unless you grant BPX.DAEMON to IMSMPP.

Ideally, I'd like to prevent the transaction from calling any Unix
services under userid IMSMPP (using RACF, or IMS or Unix configuration).

Regards,
Boris

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: I am getting a wait state during IPL

2013-07-09 Thread SrinivasG
Hi , 

Sorry for the late reply. I was in a training session since last Wednesday.

As suggested by the forum , I have applied 
INITSQA0004M 
in the LOADxx member and was able to IPL.

I have double checked and have not missed any comma anywhere.
Currently the SQA is 
SQA=(3M,100M) 

Regards,
Srinivas G

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Friday, July 05, 2013 6:10 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I am getting a wait state during IPL

From the FM:

SQA Space Shortage During NIP: During NIP processing, it is possible that the 
system's minimum allocation for SQA and extended SQA might be depleted before 
NIP processes the SQA parameter. If this situation occurs, you can increase the 
minimum SQA and/or extended SQA allocations. See the INITSQA parameter in the 
LOADxx parmlib member (Chapter 66, “LOADxx (system configuration data sets),” 
on page 587). However, if SQA is exhausted after processing local page data 
sets has begun, the value specified for the SQA parameter may be too low. Here, 
do not increase the initial SQA allocation.
Instead, increase the SQA value in IEASYSxx.

_
Dave Jousma
Assistant Vice President, Mainframe Engineering david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f 616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Friday, July 05, 2013 8:36 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I am getting a wait state during IPL

Not missing a comma in IEASYSxx somewhere above the SQA parameters are you?

_
Dave Jousma
Assistant Vice President, Mainframe Engineering 
david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f 616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Norbert Friemel
Sent: Wednesday, July 03, 2013 6:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I am getting a wait state during IPL

On Wed, 3 Jul 2013 14:38:18 +, SrinivasG wrote:

>Hi ,
>
>I am IPLing ZOS 1.10. This is an Old LPAR. Added additional VTAM LUs today. 
>That's all.
>
>I have made CSA=(3M,366M) and SQA=(3M,100M) . I have given 20GB to this LPAR.
>
>Still the same issue.
>
>Regards,
>Srinivas G
>

Check PTFs for APAR OA33381 
http://www-01.ibm.com/support/docview.wss?uid=isg1OA33381

Norbert Friemel

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: 
INFO IBM-MAIN

This e-mail transmission contains information that is confidential and may be 
privileged.   It is intended only for the addressee(s) named above. If you 
receive this e-mail in error, please do not read, copy or disseminate it in any 
manner. If you are not the intended recipient, any disclosure, copying, 
distribution or use of the contents of this information is prohibited. Please 
reply to the message immediately by informing the sender that the message was 
misdirected. After replying, please erase it from your computer system. Your 
assistance in correcting this error is appreciated.


--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: 
INFO IBM-MAIN

This e-mail transmission contains information that is confidential and may be 
privileged.
It is intended only for the addressee(s) named above. If you receive this 
e-mail in error, please do not read, copy or disseminate it in any manner.  If 
you are not the intended recipient, any disclosure, copying, distribution or 
use of the contents of this information is prohibited. Please reply to the 
message immediately by informing the sender that the message was misdirected. 
After replying, please erase it from your computer system. Your assistance in 
correcting this error is appreciated.





--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 CAUTION - Disclaimer *
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify the sender by e-mail and delete the original message. Further, you are 
not 
to copy, disclose, or distribute this e-mail or its contents to any other 
person and 
any such actions are unlawful. Thi

Re: regex that never matches?

2013-07-09 Thread Boris Lenz
does

/(?!)/

work for you?

Regards,
Boris


On Tue, July 9, 2013 09:31, Paul Gilmartin wrote:
> Kind of a programming challenge, in view of all the PCRE
> chatter hereabouts lately:
>
> A vendor once supplied an interface where one of the required
> arguments was a regex to exclude from processing any matching
> line.  But I wanted every line in my data processed.  So, how?
> For my particular data, I could use:
>
> /Pattern that I know does not occur in my data/
>
> or:
>
> / \000 \012 /
>
> ... unlikely to occur in lines processed by sed or awk.  But is there
> a general case: a regex that will never match any string whatever?
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question on how to debug S0C7 (data exception) abend

2013-07-09 Thread Elardus Engelbrecht
Kirk Talman wrote:

>It came from a T shirt.

Reminds me of a T-shirt I got from a family member who was at Kariba for 
holidays many many many years ago.

On that stands: "My friends went to Zimbabwe. All I got was this lousy T-shirt!"

That T-shirt is now serving as a rag to remove bugs (real bugs, not program 
bugs!) from my car. ;-D

>My current knowledge of German is mostly at the T shirt level.

Google Translate, while inaccurate, can probably help you, but I know from my 
Afrikaans background that Afrikaans, German, Flemish and Netherlands have some 
grammatical issues you need to be aware. ;-D

I will creep back under my rock... don't want to wake up poor Darren 
(IBM-MAIN's daddy) ... ;-D

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Dynamic LPA Services

2013-07-09 Thread Binyamin Dissen
You should be aware that ETDEF does not set a return code. It does inline
instructions to build a single entry. The ETCRE/ETCON are the ones that make
something happen.

On Mon, 8 Jul 2013 22:28:59 GMT "esst...@juno.com"  wrote:

:>As the original Poster, I thank every one for there input.
:>The various information provided has been excellent
:>Thank You
:>I am still getting the 0D6-022 Abend, and I am Not Understanding why.
:>
:>So Let me level set every one.
:>I Am On a Z/oS 1.4 System
:>I do not have LX Reuse on this system, I don't think that has anything to do 
with this issue.
:>
:>I use te CVT to determine LX Reuse.
:> USING CVTMAP,R15 .INFORM ASSEMBLER 
:> L R15,X'10'  .ADDRESS OF CVT   
:> TMCVTFLAG2,CVTALR.LX Reuse Available   
01404522
:> BNO   NO_LX_REUSE.NO EXISTANCE 
01404622
:>
:>I would like to understand the use of CR0 to determine this, if someone would 
post the code.
:>.
:>I am aware of Obtaining Storage in Common and Loading a routine into key 0 SP 
241 or similar, I'm trying to gain a new skill by using LPA Dynamic Services.  
:>
:>In a separate job I Dynamically Add a module to LPA using CSVDYLPA.
:>
:>Then I Start An Address Space and use CSVQUERY to obtain the entry Point 
Address of the Module I Added To LPA.
:>The Entry Point Address returned from CSVQUERY is then used in an ETDEF SET 
macro that describes a Non Space Switching PC Routine.
:>
:>SET_ETD1 DS 0H  
03340004
:> ETDEF TYPE=SET,ETEADR=ETD1,ROUTINE=(2),RAMODE=31, 
X03350004
:>   STATE=SUPERVISOR,PC=STACKING,SSWITCH=NO,
X03360004
:>   SASN=OLD,ASCMODE=PRIMARY,   
X03370004
:>   EK=8,PKM=OR,   
XX03380004
:>   AKM=(8,9),EKM=(8)
03390004
:>*   
0344
:> STR15,XMSRESP Save Response Code   
03410004
:> BRAS  R14,CHKRESP Go Check Response Code In Reg-15 
:>
:>The Address Space has Not terminated. 
:>
:>Now I want to submit a Job which invokes this Routine via a PC instruction.
:>the PC Number is D601.
:>Where D6 is The LX
:>01 Is the Second Entry in the Entry Table.
:>However when I issue the PC instruction I get an 0D6 Abend... 
:>
:>Thank You Again for all Your comments.
:>
:> 
:>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


regex that never matches?

2013-07-09 Thread Paul Gilmartin
Kind of a programming challenge, in view of all the PCRE
chatter hereabouts lately:

A vendor once supplied an interface where one of the required
arguments was a regex to exclude from processing any matching
line.  But I wanted every line in my data processed.  So, how?
For my particular data, I could use:

/Pattern that I know does not occur in my data/

or:

/ \000 \012 /

... unlikely to occur in lines processed by sed or awk.  But is there
a general case: a regex that will never match any string whatever?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN