Re: action in UK33496

2008-04-30 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Shmuel Metz (Seymour J.)
 Sent: Tuesday, April 29, 2008 1:28 PM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: action in UK33496

snip

 However, I had a friend at another shop do this.
 He got a royal dressing down by the lead sysprog because he (the
 sysprog) had decided that the S0C3 abend was his alone and 
 had placed a
 SLIP in COMMNDnn to take SVC dumps on every S0C3 to debug __his__
 programs.
 
 And didn't document it because?

He was a donkey's rear-end?

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.  

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



Re: action in UK33496

2008-04-29 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on 04/21/2008
   at 11:15 AM, Paul Gilmartin [EMAIL PROTECTED] said:

Every well-designed language, application, programming system should have
a way to force an error.  IDCAMS has such; HLASM has MNOTE; zSeries has
x'00'.  

No; a program check with PIC 1 might not be an error, and I've seen code
that uses it as a normal event.

Rexx lacks such;

Are you a betting man?

I resort to dividing by zero
or accessing an uninitialized variable to force an error.

Aren't you contradicting yourself? If you've discovered two ways to force
an error then there is a way. 

BTW, why not use SIGNAL?

As a courtesy, the vendor should partition the name space and commit to
leaving some fraction available for user-defined macros and promising
that no new OP code or macro will intrude on the space ceded to users.

I'd like that.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

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



Re: action in UK33496

2008-04-29 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on
04/21/2008
   at 11:30 AM, McKown, John [EMAIL PROTECTED] said:

I would, sort of, like HLASM to implement namespaces. My idea would be
something along the lines of it working like it does today, with one
addition. Where you can currently place either a macro name (opcode
field), or as part of the parameter (member name) of the COPY, be able to
specify a DD name which is used instead of SYSLIB to resolve the macro or
copy statement. Eg

   COPYCALIB:MSG

or
   CALIB:MSG 'THIS IS A MESSAGE FROM A CA PRODUCT',other parms

I'd like name spaces, but I wouldn't want them syntactically tied to
ddnames. I'd prefer some sort of qualified names, with pseudo-ops to
establish default qualifications. IBMAP had a nice facility, except that
it didn't extend to macro or op code names.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

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



Re: action in UK33496

2008-04-29 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on
04/21/2008
   at 07:56 AM, McKown, John [EMAIL PROTECTED] said:

IIRC, IBM has stated that an opcode of x'00' will __never__ be valid and
will __always__ produce a program check interrupt code 1 (S0C1 in
MVS-speak).

S0C1 is S0C1 in MVS speak; program check interrupt code 1 is not. There's
lots of code that would break if it got an ABEND when it was expecting a
program check.

However, I had a friend at another shop do this.
He got a royal dressing down by the lead sysprog because he (the
sysprog) had decided that the S0C3 abend was his alone and had placed a
SLIP in COMMNDnn to take SVC dumps on every S0C3 to debug __his__
programs.

And didn't document it because?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

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



Re: action in UK33496

2008-04-22 Thread Paul Gilmartin
On Mon, 21 Apr 2008 11:30:57 -0500, McKown, John wrote:

A well designed language would not just have comments, but would enforce
comments. Of course, the most excellent language would understand the
comments themselves and that would actually be the code! Nerd-vana.

DEK has a similar idea:

URL: 
http://infohost.nmt.edu/~al/Literate-programming/draft/knuth-web.html

 As a courtesy, the vendor should partition the name space and commit
 to leaving some fraction available for user-defined macros

I do not really care for component prefixes. What about my macros? What
if some vendor duplicates my name?

That's why IBM maintains a registry.

I would, sort of, like HLASM to implement namespaces. My idea would be
something along the lines of it working like it does today, with one
addition. Where you can currently place either a macro name (opcode
field), or as part of the parameter (member name) of the COPY, be able
to specify a DD name which is used instead of SYSLIB to resolve the
macro or copy statement. Eg

I like it; is it on John Ehrman's wishlist?

-- gil

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



Re: action in UK33496

2008-04-22 Thread Robert A. Rosenberg
At 11:15 -0500 on 04/21/2008, Paul Gilmartin wrote about Re: action 
in UK33496:



As a courtesy, the vendor should partition the name space and commit
to leaving some fraction available for user-defined macros and promising
that no new OP code or macro will intrude on the space ceded to users.


IBM has violated this Allocated for Customer Use rule at times. One 
case is that SVC numbers 200-255 are designate for Customer (ie: 
Non-IBM-MVS supplied) use and ABEND Code SXYY is designed as ABEND 
number X (X=0-E) from SVC YY. The problem is that IBM has violated 
this For Customer Use set aside by grabbing some SXYY codes (Aside 
from the valid SFYY that says SVC YY is undefined) for its own use so 
that you must KNOW of this invalid grabbing and either not define a 
User-SVC-YY that intersects such an ABEND Code or at a minimum not 
use the X codes of these IBM Squatting ABEND Codes so that a Vendor 
Supplied (or User Written) User SVCs do not issue an ABEND code that 
can be mistaken for the IBM issued one.


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



Re: action in UK33496

2008-04-21 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Patrick O'Keefe
 Sent: Sunday, April 20, 2008 10:06 PM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: action in UK33496
 
 
 On Sun, 20 Apr 2008 18:11:45 -0700, Skip Robinson 
 [EMAIL PROTECTED]
 wrote:
 
 ...
 There was a note of caution that I found almost funny:  the 
 new OP code
 would not cause a problem for any program *unless* that program were
 depending on the OP code *not* to be valid. Where's my S0C1? 
 I need my
 S0C1! After all these years in the business, I would not bet 
 the farm on
 there being no such program.
 ...
 
 I remember seeing such a program sometime within the last 15 years.
 I don't remember what character string used to create the S0C1, but
 I remember thinking that some day it would be a valid opcode 
 and there 
 was going to be some very unanticipated behavior in that program.
 
 Sheesh!  Everybody knows you're supposed to EX and EX in such 
 circumstances, not execute some clever word.  You need a more 
 intuitive, self-explanatory abend like S0C3 to aid your debugging. :-)
 
 Pat O'Keefe  

IIRC, IBM has stated that an opcode of x'00' will __never__ be valid and
will __always__ produce a program check interrupt code 1 (S0C1 in
MVS-speak).

I always use the S0C3 method as it is guaranteed by the Principles of
Operation to do this. However, I had a friend at another shop do this.
He got a royal dressing down by the lead sysprog because he (the
sysprog) had decided that the S0C3 abend was his alone and had placed a
SLIP in COMMNDnn to take SVC dumps on every S0C3 to debug __his__
programs.

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it. 

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



Re: action in UK33496

2008-04-21 Thread Edward Jaffe

Patrick O'Keefe wrote:
Sheesh!  Everybody knows you're supposed to EX and EX in such 
circumstances, not execute some clever word.  You need a more 
intuitive, self-explanatory abend like S0C3 to aid your debugging. :-)
  


I've remember some old code that used:

EX 0,*

to force a logic error abend. Such specification no longer compile in 
the immediate relative world. These days we use:


J *+2

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

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



Re: action in UK33496

2008-04-21 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Edward Jaffe
 Sent: Monday, April 21, 2008 9:46 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: action in UK33496
 
 
 Patrick O'Keefe wrote:
  Sheesh!  Everybody knows you're supposed to EX and EX in such 
  circumstances, not execute some clever word.  You need a more 
  intuitive, self-explanatory abend like S0C3 to aid your 
 debugging. :-)

 
 I've remember some old code that used:
 
 EX 0,*
 
 to force a logic error abend. Such specification no longer 
 compile in 
 the immediate relative world. These days we use:
 
 J *+2
 
 -- 
 Edward E Jaffe

Yea, I just changed a module to be baseless. I had to include an EX
0,* in the constants area. Since I didn't want the S0C3 abend to
always be from that address, I had to put an EX in the code section
which referenced the EX in the constants section. That works OK. I
could have jumped to the constants section, then looked at the BEAR
register to tell where I came from, but I thought my way was a bit
easier to debug.

Why use J *+2 ? It assembles to A7F4 0001, which would jump to the
0001 portion of the instruction. Why not just hard code a H'0'? Do you
have some fancy debugger which detects this particular sequence by
saying something like: If the abend is a S0C1, and the opcode is x'00'
followed by a x'01' and the BEA register points 2 bytes before the abend
address, then report a deliberate abend.?

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it. 

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



Re: action in UK33496

2008-04-21 Thread Ivan Warren

McKown, John wrote:

IIRC, IBM has stated that an opcode of x'00' will __never__ be valid and
will __always__ produce a program check interrupt code 1 (S0C1 in
MVS-speak).

  

A Few years back I would have disagreed with you..

The ESA/390 POO states (6.5.2.24, programing note 2 of SA22-7201-04) :

//The operation code 00, with a two-byte instruction format, currently 
is not assigned. It is improbable that this operation code will ever be 
assigned.//


(so it was not __never__ and __always__ !)

But they changed the wording now (and for a pedant like me, the meaning) :

The z/Architecture POO States (Page 6-27, left col, Programming note 2 
of Operation Exception Program Interrupt of SA22-7832-06) :


//Operation code 00 hex will never be assigned to an instruction 
implemented in the CPU.//


So after 40+ years - they finally made up their mind !

--Ivan

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



Re: action in UK33496

2008-04-21 Thread Edward Jaffe

McKown, John wrote:

Why use J *+2 ? It assembles to A7F4 0001, which would jump to the
0001 portion of the instruction. Why not just hard code a H'0'? Do you
have some fancy debugger which detects this particular sequence by
saying something like: If the abend is a S0C1, and the opcode is x'00'
followed by a x'01' and the BEA register points 2 bytes before the abend
address, then report a deliberate abend.?
  


Jumps can be conditional. DC H'0', EX of EX, and all similar techniques 
are messy because you must always branch *around* the code to force 
the abend. For example:


   CLI   0(R1),C'A'  Value too low?
   JNL   LABEL1  Branch if not
   DCH'0'Force logic error abend
LABEL1 DC 0H
   CLI   0(R1),C'9'  Value too high?
   JNH   LABEL2  Branch if not
   DCH'0'Force logic error abend
LABEL2 DC 0H

vs the very simple ...

   CLI   0(R1),C'A'  Value too low?
   JL*+2 Force logic error abend
   CLI   0(R1),C'9'  Value too high?
   JH*+2 Force logic error abend

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

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



Re: action in UK33496

2008-04-21 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Edward Jaffe
 Sent: Monday, April 21, 2008 10:15 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: action in UK33496
 
 
 McKown, John wrote:
  Why use J *+2 ? It assembles to A7F4 0001, which would jump to the
  0001 portion of the instruction. Why not just hard code a 
 H'0'? Do you
  have some fancy debugger which detects this particular sequence by
  saying something like: If the abend is a S0C1, and the 
 opcode is x'00'
  followed by a x'01' and the BEA register points 2 bytes 
 before the abend
  address, then report a deliberate abend.?

 
 Jumps can be conditional. DC H'0', EX of EX, and all similar 
 techniques 
 are messy because you must always branch *around* the code to force 
 the abend. For example:
 
 CLI   0(R1),C'A'  Value too low?
 JNL   LABEL1  Branch if not
 DCH'0'Force logic error abend
 LABEL1 DC 0H
 CLI   0(R1),C'9'  Value too high?
 JNH   LABEL2  Branch if not
 DCH'0'Force logic error abend
 LABEL2 DC 0H
 
 vs the very simple ...
 
 CLI   0(R1),C'A'  Value too low?
 JL*+2 Force logic error abend
 CLI   0(R1),C'9'  Value too high?
 JH*+2 Force logic error abend
 
 -- 
 Edward E Jaffe

Ah. Now that is __CLEVER__! I may adopt it myself. In fact, time to
rewrite the code that I was rewriting!

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it. 

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



Re: action in UK33496

2008-04-21 Thread Rick Fochtman

---snip


I always use the S0C3 method as it is guaranteed by the Principles of
Operation to do this. However, I had a friend at another shop do this.
He got a royal dressing down by the lead sysprog because he (the
sysprog) had decided that the S0C3 abend was his alone and had placed a
SLIP in COMMNDnn to take SVC dumps on every S0C3 to debug __his__
programs.
 


---unsnip--
Any respect I might have had for that lead guy just took a serious 
nosedive.


I also use a S0C3 abend as a trigger for my debuggers, coupled with a 
SPIE/ESPIE exit that uses a funky parm list. What I'd REALLY like to see 
is a user-controllable intercept for a Monitor Call instruction, like 
GTF uses (or at least used to use.)


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



Re: action in UK33496

2008-04-21 Thread Paul Gilmartin
On Sun, 20 Apr 2008 18:11:45 -0700, Skip Robinson wrote:

I remember back when a very fundamental utility changed to SDB by default.
I believe it was IEBGENER itself. If we had HOLDDATA back then, I'm not
sure how big a deal we made of it. In any case, one major application had
an 'outage' because a particular job step had been counting on the historic
default where output blocksize was equal to input blocksize. Their master
file was required to be a certain blocksize. For years the offending
utility step copied the file without specifying blocksize. Suddenly with
SDB the output changed, and subsequent steps failed.

Silly application designer.  A well designed application should not
be sensitive to blocksize, simply because it should be designed to
accommodate future changes in device geometries.

IEBGENER changed to SDB by default and subsequently (or immediately)
grew a PARM to override the behavior.  I believe later the design
changed to make the historic behavior the default.

I'm torn on this one.  Much as I admire SDB, I respect the intent
of a copy program to replicate all attributes of the input data.
OTOH, it ought to support optimal copying to a different device
type.

The final solution should be FBA, where block size becomes irrelevant.
Or something like PDSE's protean treatment of BLKSIZE: on input it
can be anything the programmer codes in the DCB.

I once had to explain to the author of a very silly CLIST why it suddenly
failed to enter an expected (!) ERROR routine because underscore was no
longer invalid in labels. I didn't feel very guilty about that one. What a
dope.

Every well-designed language, application, programming system should
have a way to force an error.  IDCAMS has such; HLASM has MNOTE;
zSeries has x'00'.  Rexx lacks such; I resort to dividing by zero
or accessing an uninitialized variable to force an error.

Also, every well-designed language should have:

o Comments

o A no-op.

I remember reading about a new OP code being introduced on a processor.
There was a note of caution that I found almost funny:  the new OP code
would not cause a problem for any program *unless* that program were
depending on the OP code *not* to be valid. Where's my S0C1? I need my
S0C1! After all these years in the business, I would not bet the farm on
there being no such program.

This more likely happens with new OP codes overloading user-defined
macro names.

As a courtesy, the vendor should partition the name space and commit
to leaving some fraction available for user-defined macros and promising
that no new OP code or macro will intrude on the space ceded to users.

The component prefix registry could be used for this, and also to
mitigate contention between ISVs.  The statement should be that
no new OP code or macro name will ever overlap a registered
component prefix.

-- gil

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



Re: action in UK33496

2008-04-21 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Paul Gilmartin
 Sent: Monday, April 21, 2008 11:15 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: action in UK33496

[snip]

 
 Every well-designed language, application, programming system should
 have a way to force an error.  IDCAMS has such; HLASM has MNOTE;
 zSeries has x'00'.  Rexx lacks such; I resort to dividing by zero
 or accessing an uninitialized variable to force an error.
 
 Also, every well-designed language should have:
 
 o Comments

A well designed language would not just have comments, but would enforce
comments. Of course, the most excellent language would understand the
comments themselves and that would actually be the code! Nerd-vana.

 
 o A no-op.
 

[snip]

 This more likely happens with new OP codes overloading user-defined
 macro names.
 
 As a courtesy, the vendor should partition the name space and commit
 to leaving some fraction available for user-defined macros 
 and promising
 that no new OP code or macro will intrude on the space ceded to users.
 
 The component prefix registry could be used for this, and also to
 mitigate contention between ISVs.  The statement should be that
 no new OP code or macro name will ever overlap a registered
 component prefix.
 
 -- gil

I do not really care for component prefixes. What about my macros? What
if some vendor duplicates my name?

I would, sort of, like HLASM to implement namespaces. My idea would be
something along the lines of it working like it does today, with one
addition. Where you can currently place either a macro name (opcode
field), or as part of the parameter (member name) of the COPY, be able
to specify a DD name which is used instead of SYSLIB to resolve the
macro or copy statement. Eg

COPYCALIB:MSG

or
CALIB:MSG 'THIS IS A MESSAGE FROM A CA PRODUCT',other parms

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it. 

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



Re: action in UK33496

2008-04-20 Thread Big Iron
Since the blocksize that would have been used before this PTF was not
the System Defined Blocksize, then some installations may have already
adjusted their procedures to be compatible with the previous incorrect
behaviour. They may now need to take some action to deal with the
change in behaviour introduced by this PTF.

In other cases, similar (or even more drastic) changes are classified as
documentation change which can cause grief when people assume that
applying those PTFs will not require changes to existing production
applications.

Also, the information contained on the HOLD may not always be sufficient
to understand all the implications of applying the maintenance and it may
sometimes be necessary to examine the APAR/PTF text.

Bill

On Sat, 19 Apr 2008 21:12:13 +0200, R.S. [EMAIL PROTECTED] wrote:

HOLD(UK33496) SYS FMID(HCI6500) REASON(ACTION) DATE(08037)
COMMENT
  (If the SYSPRINT file is being written to a data set, please
   note that a System Defined Blocksize will be allocated if no
   BLKSIZE is defined or a BLKSIZE of 0 is defined on the DD card.

My humble questions:
1. Is it really ACTION to perform ?
2. Isn't the behaviour obvious and expected ? If yes, then why to
mention it under any HOLD type ?
3. Is it funny ?

I also found ACTION which was ...documentation change (in other PTF).

--
Radoslaw Skorupka
Lodz, Poland


--
BRE Bank SA
ul. Senatorska 18
00-950 Warszawa
www.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.2008 r. kapita³ zak³adowy BRE Banku SA  wynosi
118.642.672 z³ote i zosta³ w ca³o¶ci wp³acony.


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



Re: action in UK33496

2008-04-20 Thread Kenneth E Tomiak
Programs can write to SYSPRINT as long as the blksize is compatible with 
LRECL so if an installation previoulsy hardcoded a valid blksize instead of 
using 
a system determined blksize then no action is required. 

This is one of those annoying actions we spend too much time researching 
only to learn we can ignore it.

It is a shame when one IBMer could not put sufficient information in the HOLD 
data causing thousands of us to go hunt down the APAR.


On Sun, 20 Apr 2008 05:00:13 -0500, Big Iron [EMAIL PROTECTED] 
wrote:

Since the blocksize that would have been used before this PTF was not
the System Defined Blocksize, then some installations may have already
adjusted their procedures to be compatible with the previous incorrect
behaviour. They may now need to take some action to deal with the
change in behaviour introduced by this PTF.

In other cases, similar (or even more drastic) changes are classified as
documentation change which can cause grief when people assume that
applying those PTFs will not require changes to existing production
applications.

Also, the information contained on the HOLD may not always be sufficient
to understand all the implications of applying the maintenance and it may
sometimes be necessary to examine the APAR/PTF text.

Bill

On Sat, 19 Apr 2008 21:12:13 +0200, R.S. 
[EMAIL PROTECTED] wrote:

HOLD(UK33496) SYS FMID(HCI6500) REASON(ACTION) DATE(08037)
COMMENT
  (If the SYSPRINT file is being written to a data set, please
   note that a System Defined Blocksize will be allocated if no
   BLKSIZE is defined or a BLKSIZE of 0 is defined on the DD card.

My humble questions:
1. Is it really ACTION to perform ?
2. Isn't the behaviour obvious and expected ? If yes, then why to
mention it under any HOLD type ?
3. Is it funny ?

I also found ACTION which was ...documentation change (in other PTF).

--
Radoslaw Skorupka
Lodz, Poland


--

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



Re: action in UK33496

2008-04-20 Thread Paul Gilmartin
On Sun, 20 Apr 2008 09:51:55 -0500, Kenneth E Tomiak wrote:

Programs can write to SYSPRINT as long as the blksize is compatible with
LRECL so if an installation previoulsy hardcoded a valid blksize instead of 
using
a system determined blksize then no action is required.

This is one of those annoying actions we spend too much time researching
only to learn we can ignore it.

It is a shame when one IBMer could not put sufficient information in the HOLD
data causing thousands of us to go hunt down the APAR.

Several years ago, I was hit by something similar.  In Rexx,
I had done:

RC = BPXWDYN( 'allocate dd(SYSPRINT) recfm(V,B) lrecl(137) path(...)...' )

... omitting BLKSIZE.  I always assume the OS knows best.  In fact,
it was not the OS, but a subsequent EXECIO that set a usable BLKSIZE.
But a customer rightly reported that EXECIO was thwarting the proper
operation of SDB (as in PK59467/UK33496), so IBM removed the setting
of BLKSIZE from EXECIO.

So, what did SDB select for a subsystem data set with recfm(V,B)
lrecl(137)?  80!  IBM recommended that I specify BLKSIZE at
allocation; an ironic consequence of SDB.

SDB has been fixed by APAR (although) IBM support cautioned me that
the value of 80 was documented, and if another customer complained
they'd be required to break it again.

It's regrettable that a rudimentary SDB was not present in OS/360
from the beginning.  It's a good enhancement, and customers should
adopt the habit of relying on it, or reporting its unreliability.
The OS knows best.

-- gil

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



Re: action in UK33496

2008-04-20 Thread Skip Robinson
I remember back when a very fundamental utility changed to SDB by default.
I believe it was IEBGENER itself. If we had HOLDDATA back then, I'm not
sure how big a deal we made of it. In any case, one major application had
an 'outage' because a particular job step had been counting on the historic
default where output blocksize was equal to input blocksize. Their master
file was required to be a certain blocksize. For years the offending
utility step copied the file without specifying blocksize. Suddenly with
SDB the output changed, and subsequent steps failed.

I once had to explain to the author of a very silly CLIST why it suddenly
failed to enter an expected (!) ERROR routine because underscore was no
longer invalid in labels. I didn't feel very guilty about that one. What a
dope.

I remember reading about a new OP code being introduced on a processor.
There was a note of caution that I found almost funny:  the new OP code
would not cause a problem for any program *unless* that program were
depending on the OP code *not* to be valid. Where's my S0C1? I need my
S0C1! After all these years in the business, I would not bet the farm on
there being no such program.

The HOLDDATA cited by Radoslaw falls short of sounding the proper alarm,
but it's not misguided. Muted and vague, but not wrong. The most innocent
of changes we implement can wreak havoc on applications we would not
otherwise have met in a dark alley.

.
.
JO.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
[EMAIL PROTECTED]


   
 R.S.
 [EMAIL PROTECTED] 
 LTIBANK.COM.PLTo 
 Sent by: IBM  IBM-MAIN@BAMA.UA.EDU
 Mainframe  cc 
 Discussion List   
 [EMAIL PROTECTED] Subject 
 .EDU action in UK33496 
   
   
 04/19/2008 12:12  
 PM
   
   
 Please respond to 
   IBM Mainframe   
  Discussion List  
 [EMAIL PROTECTED] 
   .EDU   
   
   




HOLD(UK33496) SYS FMID(HCI6500) REASON(ACTION) DATE(08037)
COMMENT
  (If the SYSPRINT file is being written to a data set, please
   note that a System Defined Blocksize will be allocated if no
   BLKSIZE is defined or a BLKSIZE of 0 is defined on the DD card.

My humble questions:
1. Is it really ACTION to perform ?
2. Isn't the behaviour obvious and expected ? If yes, then why to
mention it under any HOLD type ?
3. Is it funny ?

I also found ACTION which was ...documentation change (in other PTF).

--
Radoslaw Skorupka

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



Re: action in UK33496

2008-04-20 Thread Patrick O'Keefe
On Sun, 20 Apr 2008 18:11:45 -0700, Skip Robinson [EMAIL PROTECTED]
wrote:

...
There was a note of caution that I found almost funny:  the new OP code
would not cause a problem for any program *unless* that program were
depending on the OP code *not* to be valid. Where's my S0C1? I need my
S0C1! After all these years in the business, I would not bet the farm on
there being no such program.
...

I remember seeing such a program sometime within the last 15 years.
I don't remember what character string used to create the S0C1, but
I remember thinking that some day it would be a valid opcode and there 
was going to be some very unanticipated behavior in that program.

Sheesh!  Everybody knows you're supposed to EX and EX in such 
circumstances, not execute some clever word.  You need a more 
intuitive, self-explanatory abend like S0C3 to aid your debugging. :-)

Pat O'Keefe  

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



Re: action in UK33496

2008-04-20 Thread Skip Robinson
Dang, Patrick, how did I miss the connection? Once upon a time, JES2
undertook to manage a newfangled print gismo the same way they always had:
start, stop, ship data, handle glitches, the whole enchilada. This newly
bred puppy, the 3800, proved to be famously ill mannered. It not only laid
waste to the surrounding landscape, it got its master in serious trouble
with the whole neighborhood. At a time when 'FSS' was still just a
euphemism for something vulgar, JES2 was desperate to impose some order on
the 3800 chaos.

For one particularly troublesome set of circumstances, a short term
maneuver was proposed: 'throw up our programmatic hands and start over'.
The problem was how to 'start over' in the middle of some very complex
code? Someone noticed that there was already a robust error handling
routine that got control in case of JES2 main task abend. This routine
cleaned up the 3800 tangle and returned to a known and workable restart
point. Trouble was, the error condition that required 'recovery' was often
no more than a printer return code that JES2 didn't know what to do with.
So the ingenious solution was to branch deliberately to a specific literal
string containing a conspicuous 'error message'. The resulting S0C1 would
be recognized as an intentional punt (US football term), normal recovery
would be invoked, and life would go on.

Unfortunately, somewhere between conception, testing, and actual
release--come on, did nobody see this before PTF GA?--the intended literal
got (re)rendered as an EBCDIC string whose hex beginning fatally resembled
a decimal OP code. So instead of S0C1, JES2 took a S0C7, which the recovery
routine was not expecting. JES2 died on the spot, and sysprogs all over the
world scratched their heads in disbelief.

Now that really was funny.

.
.
JO.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
[EMAIL PROTECTED]


   
 Patrick O'Keefe   
 [EMAIL PROTECTED] 
 AMU.NET   To 
 Sent by: IBM  IBM-MAIN@BAMA.UA.EDU
 Mainframe  cc 
 Discussion List   
 [EMAIL PROTECTED] Subject 
 .EDU Re: action in UK33496 
   
   
 04/20/2008 08:06  
 PM
   
   
 Please respond to 
   IBM Mainframe   
  Discussion List  
 [EMAIL PROTECTED] 
   .EDU   
   
   




On Sun, 20 Apr 2008 18:11:45 -0700, Skip Robinson
[EMAIL PROTECTED]
wrote:

...
There was a note of caution that I found almost funny:  the new OP code
would not cause a problem for any program *unless* that program were
depending on the OP code *not* to be valid. Where's my S0C1? I need my
S0C1! After all these years in the business, I would not bet the farm on
there being no such program.
...

I remember seeing such a program sometime within the last 15 years.
I don't remember what character string used to create the S0C1, but
I remember thinking that some day it would be a valid opcode and there
was going to be some very unanticipated behavior in that program.

Sheesh!  Everybody knows you're supposed to EX and EX in such
circumstances, not execute some clever word.  You need a more
intuitive, self-explanatory abend like S0C3 to aid your debugging. :-)

Pat O'Keefe

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



Re: action in UK33496

2008-04-20 Thread Chase, John
 -Original Message-
 From: IBM Mainframe Discussion List On Behalf Of Skip Robinson
 
 Dang, Patrick, how did I miss the connection? Once upon a 
 time, JES2 undertook to manage a newfangled print gismo the 
 same way they always had:
 start, stop, ship data, handle glitches, the whole enchilada. 
 This newly bred puppy, the 3800, proved to be famously ill 
 mannered. It not only laid waste to the surrounding 
 landscape, it got its master in serious trouble with the 
 whole neighborhood. At a time when 'FSS' was still just a 
 euphemism for something vulgar, JES2 was desperate to impose 
 some order on the 3800 chaos.
 
 For one particularly troublesome set of circumstances, a 
 short term maneuver was proposed: 'throw up our programmatic 
 hands and start over'.
 The problem was how to 'start over' in the middle of some 
 very complex code? Someone noticed that there was already a 
 robust error handling routine that got control in case of 
 JES2 main task abend. This routine cleaned up the 3800 tangle 
 and returned to a known and workable restart point. Trouble 
 was, the error condition that required 'recovery' was often 
 no more than a printer return code that JES2 didn't know what 
 to do with.
 So the ingenious solution was to branch deliberately to a 
 specific literal string containing a conspicuous 'error 
 message'. The resulting S0C1 would be recognized as an 
 intentional punt (US football term), normal recovery would be 
 invoked, and life would go on.
 
 Unfortunately, somewhere between conception, testing, and 
 actual release--come on, did nobody see this before PTF 
 GA?--the intended literal got (re)rendered as an EBCDIC 
 string whose hex beginning fatally resembled a decimal OP 
 code. So instead of S0C1, JES2 took a S0C7, which the 
 recovery routine was not expecting. JES2 died on the spot, 
 and sysprogs all over the world scratched their heads in disbelief.
 
 Now that really was funny.

Who'da thunk to _start_ a string with a null character?  :-)

-jc-

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