Intentional abends: System vs. User vs. #DIE (was VarIabLe DD names in VSAM)

2012-02-16 Thread Dave Cole

Thanks for the mention Rob.


WRT this religions war over whether to use system abends vs. user
abends, I'm agnostic. My own personal preference is to use a
contrived 0C1 (which is what my dead traps are that Rob mentioned),
but it ain't worth a hill of beans to argue about.

However, not that my #DIE macro has been mentioned, I would like to add this.

One minor convenience of #DIE, in addition to those mentioned by
RScott, is that it can generate a conditional branch ahead of the
X'00DEAD' code, thereby making execution of the dead trap optional. Example:
LTR  R1,R1
#DIE NP,'ILLOGICAL IF R1 IS NOT POSITIVE'

z/XDC's internal code has *thousands* of #DIE traps scattered
throughout its logic. Yet, problem reports resulting from those traps
occur only a couple of times a year.

The purpose of the #DIE traps is to arrest illogical conditions
before that can seed a failure that occurs a million instructions
later. They are used within z/XDC's logic where the perceived
likelihood of the illogical condition is low or nonexistent. i.e.
in places where it is not worth the effort to write a more polite handler.

The result of my use of #DIE traps is that when an impossible
condition does arise, my having trapped it early makes creating a fix
considerably easier. Sometimes I can produce and publish a fix within
only a day or two or sometimes even within an hour or two!




One good application for dead traps is to verify the critical details
of an interface to some outside support routine (especially
undocumented interfaces). If an API changes in an unexpected way, it
generally is good to know about that sooner than later.

One example of where I got bit by that is with IBM's TPUT service. A
couple of decades ago, they added some new return codes. I was using
a branch vector to react to the various return codes, so the new one
caused execution to blow past the vector entirely. There were several
lessons learned from that. One was to use dead traps to vcheck what
was returned.


The #DIE macro is available to anyone for free in a MACLIB.ZIP file
located at
http://www.colesoft.com/Downloads/downloads_utilities.htmlhttp://www.colesoft.com/Downloads/downloads_utilities.html




Dave Cole  REPLY TO: dbc...@colesoft.com
ColeSoft Marketing WEB PAGE: http://www.colesoft.com
736 Fox Hollow RoadVOICE:540-456-8536
Afton, VA 22920FAX:  540-456-6658




At 2/13/2012 06:32 AM, Rob Scott wrote:

I have always liked Dave Cole's approach in z/XDC here - he supplies
a #DIE macro that places X'00DEAD' in the code followed by
identification bytes that indicate where in the code the #DIE was
and optional comments



Rob Scott
Lead Developer
Rocket Software
275 Grove Street * Newton, MA 02466-2272 * USA
Tel: +1.781.684.2305
Email: rsc...@rs.com
Web: www.rocketsoftware.com

-Original Message-

From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Martin Truebner
Sent: 13 February 2012 11:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

Thomas (or should I say amateur in asm ;-)

The idea is to produce something that is easy recognisable as done
on purpose and not to muddy the water more for this unexpected
situation.

I for example always have a EX *,* (or an equivalent if there is no
base covering it) after a EXEC CICS RETURN.

It must work- but hey, I have seen horses dying in front of
drugstores (German saying)

--
Martin

Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more
at http://www.picapcpu.de


SV: VarIabLe DD names in VSAM

2012-02-13 Thread Thomas Berg
Why not code: DC X'00'  ?

(Just a curious amateur in asm)



Regards,
Thomas Berg
_
Thomas Berg   Specialist   A M   SWEDBANK




 -Ursprungligt meddelande-
 Från: IBM Mainframe Assembler List [mailto:ASSEMBLER-
 l...@listserv.uga.edu] För McKown, John
 Skickat: den 10 februari 2012 14:10
 Till: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Ämne: Re: VarIabLe DD names in VSAM

 I used to do EX *,0 to get an S0C3. I now do  j *+2  to get a S0C1.

 --
 John McKown
 Systems Engineer IV
 IT

 Administrative Services Group

 HealthMarkets(r)

 9151 Boulevard 26 * N. Richland Hills * TX 76010
 (817) 255-3225 phone *
 john.mck...@healthmarkets.com * www.HealthMarkets.com

 Confidentiality Notice: This e-mail message may contain confidential or
 proprietary information. If you are not the intended recipient, please
 contact the sender by reply e-mail and destroy all copies of the original
 message. HealthMarkets(r) is the brand name for products underwritten and
 issued by the insurance subsidiaries of HealthMarkets, Inc. -The
 Chesapeake Life Insurance Company(r), Mid-West National Life Insurance
 Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM



  -Original Message-
  From: IBM Mainframe Assembler List
  [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Binyamin Dissen
  Sent: Friday, February 10, 2012 6:31 AM
  To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
  Subject: Re: VarIabLe DD names in VSAM
 
  On Fri, 10 Feb 2012 22:06:12 +1100 Shane G
  ibm-m...@tpg.com.au wrote:
 
  :On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:
 
  : Would anyone want to share good/bad comments they've seen ?
 
  :This code is never entered
  :Usually in recovery/error processing code.
 
  What I do is force an 0C6 in such cases. Leaves everything intact for
  debugging.
 
  --
  Binyamin Dissen bdis...@dissensoftware.com
  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.
 
 


Re: SV: VarIabLe DD names in VSAM

2012-02-13 Thread Steve Comstock

On 2/13/2012 3:49 AM, Thomas Berg wrote:

Why not code: DC X'00'  ?

(Just a curious amateur in asm)


Well, the following instruction will be on an
odd boundary, for one. More common, I think:

  DC H'0'








Regards,
Thomas Berg
_
Thomas Berg   Specialist   A M   SWEDBANK





-Ursprungligt meddelande-
Från: IBM Mainframe Assembler List [mailto:ASSEMBLER-
l...@listserv.uga.edu] För McKown, John
Skickat: den 10 februari 2012 14:10
Till: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Ämne: Re: VarIabLe DD names in VSAM

I used to do EX *,0 to get an S0C3. I now do  j *+2  to get a S0C1.

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message. HealthMarkets(r) is the brand name for products underwritten and
issued by the insurance subsidiaries of HealthMarkets, Inc. -The
Chesapeake Life Insurance Company(r), Mid-West National Life Insurance
Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM




-Original Message-
From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Binyamin Dissen
Sent: Friday, February 10, 2012 6:31 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

On Fri, 10 Feb 2012 22:06:12 +1100 Shane G
ibm-m...@tpg.com.au  wrote:

:On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

:  Would anyone want to share good/bad comments they've seen ?

:This code is never entered
:Usually in recovery/error processing code.

What I do is force an 0C6 in such cases. Leaves everything intact for
debugging.

--
Binyamin Dissenbdis...@dissensoftware.com
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.







--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-355-2752
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

* Try our tool for calculating your Return On Investment
for training dollars at
  http://www.trainersfriend.com/ROI/roi.html


Re: VarIabLe DD names in VSAM

2012-02-13 Thread John Gilmore
We have of course been here before.

The idea that a desired USER ABEND is best achieved by triggering a
SYSTEM ABEND that will be minimally confusing, highly unlikely to be
confused with the corresponding real SYSTEM ABEND, does not seem to
want to die.

Why try to trick the system into issuing an ABEND when you can do it yourself?

USER ABENDS are immediately available by coding an ABEND macro
instruction.  They specify a [USER] completion code; and they may,
optionally but desirably, specify a fullword user code too.

This whole discussion of the relative merits of these triggering
mechanisms is thus otiose at best.  The only gotcha that can arise in
connection with such an ABEND macro instruction is that one issued in
AR mode must be preceded by a

|  SYSTATE   ASCENV=AR

macro instruction, but surely those of you who are writing AR-mode
code can cope with this difficulty; and those of you who cannot should
not be doing it.

--
John Gilmore, Ashland, MA 01721 - USA


Re: VarIabLe DD names in VSAM

2012-02-13 Thread Binyamin Dissen
On Mon, 13 Feb 2012 06:52:23 -0700 Steve Comstock st...@trainersfriend.com
wrote:

:On 2/13/2012 3:49 AM, Thomas Berg wrote:
: Why not code: DC X'00'  ?

: (Just a curious amateur in asm)

:Well, the following instruction will be on an
:odd boundary, for one.

Not unless there is some weird assembler option that allows that. I do not
think NOALIGN will do that.

On the other hand, following it with

LABELEQU   *

will cause LABEL to be on an odd boundary. But branch instructions referring
to it should get assembly errors as well.

--
Binyamin Dissen bdis...@dissensoftware.com
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.


Re: SV: VarIabLe DD names in VSAM

2012-02-13 Thread Paul Gilmartin
On Feb 13, 2012, at 06:52, Steve Comstock wrote:

 On 2/13/2012 3:49 AM, Thomas Berg wrote:
 Why not code: DC X'00'  ?

 (Just a curious amateur in asm)

 Well, the following instruction will be on an
 odd boundary, ...

Is this even true if the programmer uses PARM=NOALIGN?

But this is sophistry; see John G.'s wise followup.

-- gil


Re: VarIabLe DD names in VSAM

2012-02-13 Thread Binyamin Dissen
On Mon, 13 Feb 2012 09:05:03 -0500 John Gilmore johnwgilmore0...@gmail.com
wrote:

:We have of course been here before.

:The idea that a desired USER ABEND is best achieved by triggering a
:SYSTEM ABEND that will be minimally confusing, highly unlikely to be
:confused with the corresponding real SYSTEM ABEND, does not seem to
:want to die.

Because it is quite useful.

:Why try to trick the system into issuing an ABEND when you can do it yourself?

:USER ABENDS are immediately available by coding an ABEND macro
:instruction.  They specify a [USER] completion code; and they may,
:optionally but desirably, specify a fullword user code too.

All of which alter the CC, and R15-R1.

User abends are quite useful for known issues - missing DD statement, missing
module, insufficient authority, etc.. But if the code gets a completely
unexpected result there is a need to figure out how to save the environment
before issuing the abend so that the problem can be diagnosed. But where and
how should this be saved?

:This whole discussion of the relative merits of these triggering
:mechanisms is thus otiose at best.  The only gotcha that can arise in
:connection with such an ABEND macro instruction is that one issued in
:AR mode must be preceded by a

:|  SYSTATE   ASCENV=AR

:macro instruction, but surely those of you who are writing AR-mode
:code can cope with this difficulty; and those of you who cannot should
:not be doing it.

Not all issues can be placed into one box. The programmer should have a big
enough imagination to consider other options.

--
Binyamin Dissen bdis...@dissensoftware.com
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.


Re: VarIabLe DD names in VSAM

2012-02-13 Thread John Gilmore
Binyamin is talking nonsense.

A USER ABEND has the same DUMP options available to it that are
available to any other ABEND.

The notion that the default options supplied for, say, a judiciously
chosen SYSTEM OCx ABEND can somehow be better than those chosen in a
considered way for a USER ABEND is not just untenable; it is not even
intellectually respectable.

The search for a SYSTEM ABEND facility the misuse of which will be
minimally deceptive is misconceived.

The set of facilities available via ABEND is globally invariant.
Nothing can be done by faking an OC1 ABEND that cannot be done by
writing one's own ABEND macro instruction.  In the first case one is
constrained by the system's, i.e., someone else's, defaults; in the
second one can make one's own choices.

Analogous facilities usable to produce user ABENDs without trickery
are also available in COBOL, C/C++, and PL/I.


On 2/13/12, Binyamin Dissen bdis...@dissensoftware.com wrote:
 On Mon, 13 Feb 2012 09:05:03 -0500 John Gilmore johnwgilmore0...@gmail.com
 wrote:

 :We have of course been here before.

 :The idea that a desired USER ABEND is best achieved by triggering a
 :SYSTEM ABEND that will be minimally confusing, highly unlikely to be
 :confused with the corresponding real SYSTEM ABEND, does not seem to
 :want to die.

 Because it is quite useful.

 :Why try to trick the system into issuing an ABEND when you can do it
 yourself?

 :USER ABENDS are immediately available by coding an ABEND macro
 :instruction.  They specify a [USER] completion code; and they may,
 :optionally but desirably, specify a fullword user code too.

 All of which alter the CC, and R15-R1.

 User abends are quite useful for known issues - missing DD statement,
 missing
 module, insufficient authority, etc.. But if the code gets a completely
 unexpected result there is a need to figure out how to save the environment
 before issuing the abend so that the problem can be diagnosed. But where and
 how should this be saved?

 :This whole discussion of the relative merits of these triggering
 :mechanisms is thus otiose at best.  The only gotcha that can arise in
 :connection with such an ABEND macro instruction is that one issued in
 :AR mode must be preceded by a

 :|  SYSTATE   ASCENV=AR

 :macro instruction, but surely those of you who are writing AR-mode
 :code can cope with this difficulty; and those of you who cannot should
 :not be doing it.

 Not all issues can be placed into one box. The programmer should have a big
 enough imagination to consider other options.

 --
 Binyamin Dissen bdis...@dissensoftware.com
 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.



--
John Gilmore, Ashland, MA 01721 - USA


Re: VarIabLe DD names in VSAM

2012-02-13 Thread McKown, John
Personally, I do the S0C1 for one reason alone: for debugging purposes. It is 
just simpler to do than coding up a good ABEND macro instruction. I'm not say 
this is for production use of reporting an error to an end user. I do use the 
ABEND and/or DUMP macros for that. But for a what the bleeping is going on 
when I get to this point in my code, I want a dump, then a nice S0C1 works 
well for me. I don't have z/XDC or some other high quality debugging tool.

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM



 -Original Message-
 From: IBM Mainframe Assembler List
 [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of John Gilmore
 Sent: Monday, February 13, 2012 9:01 AM
 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Subject: Re: VarIabLe DD names in VSAM

 Binyamin is talking nonsense.

 A USER ABEND has the same DUMP options available to it that are
 available to any other ABEND.

 The notion that the default options supplied for, say, a judiciously
 chosen SYSTEM OCx ABEND can somehow be better than those chosen in a
 considered way for a USER ABEND is not just untenable; it is not even
 intellectually respectable.

 The search for a SYSTEM ABEND facility the misuse of which will be
 minimally deceptive is misconceived.

 The set of facilities available via ABEND is globally invariant.
 Nothing can be done by faking an OC1 ABEND that cannot be done by
 writing one's own ABEND macro instruction.  In the first case one is
 constrained by the system's, i.e., someone else's, defaults; in the
 second one can make one's own choices.

 Analogous facilities usable to produce user ABENDs without trickery
 are also available in COBOL, C/C++, and PL/I.


 On 2/13/12, Binyamin Dissen bdis...@dissensoftware.com wrote:
  On Mon, 13 Feb 2012 09:05:03 -0500 John Gilmore
 johnwgilmore0...@gmail.com
  wrote:
 
  :We have of course been here before.
 
  :The idea that a desired USER ABEND is best achieved by
 triggering a
  :SYSTEM ABEND that will be minimally confusing, highly
 unlikely to be
  :confused with the corresponding real SYSTEM ABEND, does
 not seem to
  :want to die.
 
  Because it is quite useful.
 
  :Why try to trick the system into issuing an ABEND when
 you can do it
  yourself?
 
  :USER ABENDS are immediately available by coding an ABEND macro
  :instruction.  They specify a [USER] completion code; and they may,
  :optionally but desirably, specify a fullword user code too.
 
  All of which alter the CC, and R15-R1.
 
  User abends are quite useful for known issues - missing DD
 statement,
  missing
  module, insufficient authority, etc.. But if the code gets
 a completely
  unexpected result there is a need to figure out how to save
 the environment
  before issuing the abend so that the problem can be
 diagnosed. But where and
  how should this be saved?
 
  :This whole discussion of the relative merits of these triggering
  :mechanisms is thus otiose at best.  The only gotcha that
 can arise in
  :connection with such an ABEND macro instruction is that
 one issued in
  :AR mode must be preceded by a
 
  :|  SYSTATE   ASCENV=AR
 
  :macro instruction, but surely those of you who are writing AR-mode
  :code can cope with this difficulty; and those of you who
 cannot should
  :not be doing it.
 
  Not all issues can be placed into one box. The programmer
 should have a big
  enough imagination to consider other options.
 
  --
  Binyamin Dissen bdis...@dissensoftware.com
  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.
 


 --
 John Gilmore, Ashland, MA 01721 - USA




Re: VarIabLe DD names in VSAM

2012-02-13 Thread John Gilmore
Binyamin and I see the world differently.  I judge that he is talking
nonsense, and he judges that my arguments are irelevant.  So be it.

On 2/13/12, McKown, John john.mck...@healthmarkets.com wrote:
 Personally, I do the S0C1 for one reason alone: for debugging purposes. It
 is just simpler to do than coding up a good ABEND macro instruction. I'm not
 say this is for production use of reporting an error to an end user. I do
 use the ABEND and/or DUMP macros for that. But for a what the bleeping is
 going on when I get to this point in my code, I want a dump, then a nice
 S0C1 works well for me. I don't have z/XDC or some other high quality
 debugging tool.

 --
 John McKown
 Systems Engineer IV
 IT

 Administrative Services Group

 HealthMarkets(r)

 9151 Boulevard 26 * N. Richland Hills * TX 76010
 (817) 255-3225 phone *
 john.mck...@healthmarkets.com * www.HealthMarkets.com

 Confidentiality Notice: This e-mail message may contain confidential or
 proprietary information. If you are not the intended recipient, please
 contact the sender by reply e-mail and destroy all copies of the original
 message. HealthMarkets(r) is the brand name for products underwritten and
 issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
 Life Insurance Company(r), Mid-West National Life Insurance Company of
 TennesseeSM and The MEGA Life and Health Insurance Company.SM



 -Original Message-
 From: IBM Mainframe Assembler List
 [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of John Gilmore
 Sent: Monday, February 13, 2012 9:01 AM
 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Subject: Re: VarIabLe DD names in VSAM

 Binyamin is talking nonsense.

 A USER ABEND has the same DUMP options available to it that are
 available to any other ABEND.

 The notion that the default options supplied for, say, a judiciously
 chosen SYSTEM OCx ABEND can somehow be better than those chosen in a
 considered way for a USER ABEND is not just untenable; it is not even
 intellectually respectable.

 The search for a SYSTEM ABEND facility the misuse of which will be
 minimally deceptive is misconceived.

 The set of facilities available via ABEND is globally invariant.
 Nothing can be done by faking an OC1 ABEND that cannot be done by
 writing one's own ABEND macro instruction.  In the first case one is
 constrained by the system's, i.e., someone else's, defaults; in the
 second one can make one's own choices.

 Analogous facilities usable to produce user ABENDs without trickery
 are also available in COBOL, C/C++, and PL/I.


 On 2/13/12, Binyamin Dissen bdis...@dissensoftware.com wrote:
  On Mon, 13 Feb 2012 09:05:03 -0500 John Gilmore
 johnwgilmore0...@gmail.com
  wrote:
 
  :We have of course been here before.
 
  :The idea that a desired USER ABEND is best achieved by
 triggering a
  :SYSTEM ABEND that will be minimally confusing, highly
 unlikely to be
  :confused with the corresponding real SYSTEM ABEND, does
 not seem to
  :want to die.
 
  Because it is quite useful.
 
  :Why try to trick the system into issuing an ABEND when
 you can do it
  yourself?
 
  :USER ABENDS are immediately available by coding an ABEND macro
  :instruction.  They specify a [USER] completion code; and they may,
  :optionally but desirably, specify a fullword user code too.
 
  All of which alter the CC, and R15-R1.
 
  User abends are quite useful for known issues - missing DD
 statement,
  missing
  module, insufficient authority, etc.. But if the code gets
 a completely
  unexpected result there is a need to figure out how to save
 the environment
  before issuing the abend so that the problem can be
 diagnosed. But where and
  how should this be saved?
 
  :This whole discussion of the relative merits of these triggering
  :mechanisms is thus otiose at best.  The only gotcha that
 can arise in
  :connection with such an ABEND macro instruction is that
 one issued in
  :AR mode must be preceded by a
 
  :|  SYSTATE   ASCENV=AR
 
  :macro instruction, but surely those of you who are writing AR-mode
  :code can cope with this difficulty; and those of you who
 cannot should
  :not be doing it.
 
  Not all issues can be placed into one box. The programmer
 should have a big
  enough imagination to consider other options.
 
  --
  Binyamin Dissen bdis...@dissensoftware.com
  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.
 


 --
 John Gilmore, Ashland, MA 01721 - USA





--
John Gilmore, Ashland, MA 01721 - USA


Re: VarIabLe DD names in VSAM

2012-02-13 Thread Binyamin Dissen
More real world vs. Ivory Tower, but whatever.

On Mon, 13 Feb 2012 11:11:04 -0500 John Gilmore johnwgilmore0...@gmail.com
wrote:

:Binyamin and I see the world differently.  I judge that he is talking
:nonsense, and he judges that my arguments are irelevant.  So be it.
:
:On 2/13/12, McKown, John john.mck...@healthmarkets.com wrote:
: Personally, I do the S0C1 for one reason alone: for debugging purposes. It
: is just simpler to do than coding up a good ABEND macro instruction. I'm not
: say this is for production use of reporting an error to an end user. I do
: use the ABEND and/or DUMP macros for that. But for a what the bleeping is
: going on when I get to this point in my code, I want a dump, then a nice
: S0C1 works well for me. I don't have z/XDC or some other high quality
: debugging tool.
:
: --
: John McKown
: Systems Engineer IV
: IT
:
: Administrative Services Group
:
: HealthMarkets(r)
:
: 9151 Boulevard 26 * N. Richland Hills * TX 76010
: (817) 255-3225 phone *
: john.mck...@healthmarkets.com * www.HealthMarkets.com
:
: Confidentiality Notice: This e-mail message may contain confidential or
: proprietary information. If you are not the intended recipient, please
: contact the sender by reply e-mail and destroy all copies of the original
: message. HealthMarkets(r) is the brand name for products underwritten and
: issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
: Life Insurance Company(r), Mid-West National Life Insurance Company of
: TennesseeSM and The MEGA Life and Health Insurance Company.SM
:
:
:
: -Original Message-
: From: IBM Mainframe Assembler List
: [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of John Gilmore
: Sent: Monday, February 13, 2012 9:01 AM
: To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
: Subject: Re: VarIabLe DD names in VSAM
:
: Binyamin is talking nonsense.
:
: A USER ABEND has the same DUMP options available to it that are
: available to any other ABEND.
:
: The notion that the default options supplied for, say, a judiciously
: chosen SYSTEM OCx ABEND can somehow be better than those chosen in a
: considered way for a USER ABEND is not just untenable; it is not even
: intellectually respectable.
:
: The search for a SYSTEM ABEND facility the misuse of which will be
: minimally deceptive is misconceived.
:
: The set of facilities available via ABEND is globally invariant.
: Nothing can be done by faking an OC1 ABEND that cannot be done by
: writing one's own ABEND macro instruction.  In the first case one is
: constrained by the system's, i.e., someone else's, defaults; in the
: second one can make one's own choices.
:
: Analogous facilities usable to produce user ABENDs without trickery
: are also available in COBOL, C/C++, and PL/I.
:
:
: On 2/13/12, Binyamin Dissen bdis...@dissensoftware.com wrote:
:  On Mon, 13 Feb 2012 09:05:03 -0500 John Gilmore
: johnwgilmore0...@gmail.com
:  wrote:
: 
:  :We have of course been here before.
: 
:  :The idea that a desired USER ABEND is best achieved by
: triggering a
:  :SYSTEM ABEND that will be minimally confusing, highly
: unlikely to be
:  :confused with the corresponding real SYSTEM ABEND, does
: not seem to
:  :want to die.
: 
:  Because it is quite useful.
: 
:  :Why try to trick the system into issuing an ABEND when
: you can do it
:  yourself?
: 
:  :USER ABENDS are immediately available by coding an ABEND macro
:  :instruction.  They specify a [USER] completion code; and they may,
:  :optionally but desirably, specify a fullword user code too.
: 
:  All of which alter the CC, and R15-R1.
: 
:  User abends are quite useful for known issues - missing DD
: statement,
:  missing
:  module, insufficient authority, etc.. But if the code gets
: a completely
:  unexpected result there is a need to figure out how to save
: the environment
:  before issuing the abend so that the problem can be
: diagnosed. But where and
:  how should this be saved?
: 
:  :This whole discussion of the relative merits of these triggering
:  :mechanisms is thus otiose at best.  The only gotcha that
: can arise in
:  :connection with such an ABEND macro instruction is that
: one issued in
:  :AR mode must be preceded by a
: 
:  :|  SYSTATE   ASCENV=AR
: 
:  :macro instruction, but surely those of you who are writing AR-mode
:  :code can cope with this difficulty; and those of you who
: cannot should
:  :not be doing it.
: 
:  Not all issues can be placed into one box. The programmer
: should have a big
:  enough imagination to consider other options.
: 
:  --
:  Binyamin Dissen bdis...@dissensoftware.com
:  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.
: 
:
:
: --
: John Gilmore, Ashland, MA 01721 - USA
:
:
:

--
Binyamin

Re: VarIabLe DD names in VSAM

2012-02-13 Thread Gerhard Postpischil

On 2/13/2012 10:53 AM, McKown, John wrote:

Personally, I do the S0C1 for one reason alone: for
debugging purposes. It is just simpler to do than coding up
a good ABEND macro instruction. I'm not say this is for
production use of reporting an error to an end user. I do use
the ABEND and/or DUMP macros for that. But for a what the
bleeping is going on when I get to this point in my code, I
want a dump, then a nice S0C1 works well for me. I don't
have z/XDC or some other high quality debugging tool.


When I'm debugging a new or heavily revised program, I have a
#TRAP subroutine to display PSW, registers, and variables. But
for a quick and dirty approach, EX 0,* or B 2, B 4, B 6, are
preferable in that I do not need to save R0 and R1 in storage
that I then need to locate in a dump, as is the case for an
ABEND macro or SVC.

For production programs, I prefer to save the registers, if
useful, issue one or more explanatory messages, and then issue a
user abend.

Gerhard Postpischil
Bradford, VT


Re: VarIabLe DD names in VSAM

2012-02-13 Thread John Gilmore
After describing his own debugging practices, Gerhard Postpischil writes:

begin snippet
For production programs, I prefer to save the registers, if useful,
issue one or more explanatory messages, and then issue a user abend.
/end snippet

and this is enough.

Debugging--as opposed to prior and subsequent systematic testing,
which are not--is a highly personal matter.  Debuggers are and should
be free to use any technique they find effective; they should indeed
be free, as I said here long ago, to consult a haruspex (plural
haruspices) if they judge it helpful to do so (privately, of course,
lest the animal-rights people target their colleagues too).

--
John Gilmore, Ashland, MA 01721 - USA


Re: VarIabLe DD names in VSAM

2012-02-10 Thread Sharuff Morsa3
Referring to Chris's comment -...extensively commented assembler programs
...-  I'm all in favour of well commented code - I believe 'good
comments' should be mandatory. But what is a 'good comment'?  Who hasn't
seen something like:

MVCC89FLA,C60MGT   move C60MGT to C89FLA
or even (shock horror!)
MVCC89FLA,C60MGT   move C89FLA to C60MGT

Is that a useful comment ? It does describe the instruction, but how
useful is the comment ?

Would anyone want to share good/bad comments they've seen ?

Sharuff

smo...@uk.ibm.com

Sent from my laptop





--

Date:Thu, 9 Feb 2012 11:01:21 +0100
From:Chris Mason chrisma...@belgacom.net
Subject: Re: VarIabLe DD names in VSAM.

Tony


snip 
[1] I believe there are some in this list to whom this approach is some
sort
of heresy! (Actually it's probably this sort of mind-set that caused John
actually to try to use the xxxCB macros!) My excuse is contained in a
comment one of my managers made to the effect, he had never seen such
extensively commented assembler programs and he was one of those managers
who really used to be happier as a technician. He was responsible for
installing - in the SE sense of the word - one of the first 360/67s.
... snips
-

Chris Mason


End of ASSEMBLER-LIST Digest - 8 Feb 2012 to 9 Feb 2012 (#2012-30)
**








Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: VarIabLe DD names in VSAM

2012-02-10 Thread Shane G
On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

 Would anyone want to share good/bad comments they've seen ?

This code is never entered
Usually in recovery/error processing code.

   wtf ???.

Shane ...


code comments (Was: VarIabLe DD names in VSAM)

2012-02-10 Thread Tony Thigpen

Code that said:

Mike told me this condition could never happen. If this abend ever
happens, call John at xxx-xxx- and tell him that Mike owes him $100.


Tony Thigpen

-Original Message -
 From: Shane G
 Sent: 02/10/2012 06:06 AM

On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:


Would anyone want to share good/bad comments they've seen ?


This code is never entered
Usually in recovery/error processing code.

    wtf ???.

Shane ...




Re: VarIabLe DD names in VSAM

2012-02-10 Thread Bodoh John Robert
A while back in IBM we had rather strict commenting rules...at least compared 
to what I have seen outside of IBM.

First of all, we had two types of comments: A block comment that was not 
attached to any particular statement and was used as an introductory paragraph 
to a block of code that followed.  The second was a 'remark' which always 
applied to a specific statement.

The rules were simple. If a statement caused the generation of code, it had to 
have a remark.  All data declarations whether a constant, or in a DSECT always 
required a remark.

We also had code inspections by a team of code reviewers and comments were 
reviewed along with the code to ensure that a block comments matched the 
subsequent code and that remarks were clear and reflected what the code was 
accomplishing.  Your example of a remark would be rejected.  A remark had to 
reflect the meaning, purpose, or context of what the code was doing.

The reason for all of this was that were invariably many other people that 
needed to look at the code.  Defects were almost always supported by another 
team and future enhancements to a program were many times performed by the next 
developer go own the program.  The comments and remarks were invaluable to 
these folks in helping to understand the code so changes required could be made 
efficiently and effective without introducing new bugs.

Even if the original developer had to make changes to a program six months 
after developing it and forgot the details of the logic, the comments would 
serve as a reminder of what was going on, made for a quickly getting up to 
speed so the changes could be made.

I know when I had to make changes to a program that poorly commented or had no 
comments, it was a nightmare trying to figure it out.  I even had to go as far 
as adding my own comments to keep to logic of the program clear.  I wasted 
hundreds of man hours doing this.  In the end, it had actually cost the company 
more money to support uncommented code than had the comments been placed there 
to begin with.

I think that people who don't comment their code are selfish, have no regard 
for subsequent people that need to read and understand the code, and don't care 
or understand the big picture and what it means to their employer.  That's 
just my opinion.


John


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Sharuff Morsa3
Sent: Friday, February 10, 2012 5:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

Referring to Chris's comment -...extensively commented assembler programs
...-  I'm all in favour of well commented code - I believe 'good
comments' should be mandatory. But what is a 'good comment'?  Who hasn't
seen something like:

MVCC89FLA,C60MGT   move C60MGT to C89FLA
or even (shock horror!)
MVCC89FLA,C60MGT   move C89FLA to C60MGT

Is that a useful comment ? It does describe the instruction, but how
useful is the comment ?

Would anyone want to share good/bad comments they've seen ?

Sharuff

smo...@uk.ibm.com

Sent from my laptop





--

Date:Thu, 9 Feb 2012 11:01:21 +0100
From:Chris Mason chrisma...@belgacom.net
Subject: Re: VarIabLe DD names in VSAM.

Tony


snip 
[1] I believe there are some in this list to whom this approach is some
sort
of heresy! (Actually it's probably this sort of mind-set that caused John
actually to try to use the xxxCB macros!) My excuse is contained in a
comment one of my managers made to the effect, he had never seen such
extensively commented assembler programs and he was one of those managers
who really used to be happier as a technician. He was responsible for
installing - in the SE sense of the word - one of the first 360/67s.
... snips
-

Chris Mason


End of ASSEMBLER-LIST Digest - 8 Feb 2012 to 9 Feb 2012 (#2012-30)
**








Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: code comments (Was: VarIabLe DD names in VSAM)

2012-02-10 Thread Sam Siegel
LOL
--Original Message--
From: Tony Thigpen
Sender: IBM Mainframe Assembler List
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
ReplyTo: IBM Mainframe Assembler List
Subject: code comments (Was: VarIabLe DD names in VSAM)
Sent: Feb 10, 2012 3:31 AM

Code that said:

Mike told me this condition could never happen. If this abend ever
happens, call John at xxx-xxx- and tell him that Mike owes him $100.


Tony Thigpen

-Original Message -
  From: Shane G
  Sent: 02/10/2012 06:06 AM
 On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

 Would anyone want to share good/bad comments they've seen ?

 This code is never entered
 Usually in recovery/error processing code.

     wtf ???.

 Shane ...




Sent from my Verizon Wireless BlackBerry


Re: VarIabLe DD names in VSAM

2012-02-10 Thread Steve Smith

S0c3 is very nice for a deliberate abend, since it's extremely rare in
its accidental form; so my replacement is EXRL 0,*.

sas

On 2/10/2012 8:10, McKown, John wrote:

I used to do EX *,0 to get an S0C3. I now do  j *+2  to get a S0C1.

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM




-Original Message-
From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Binyamin Dissen
Sent: Friday, February 10, 2012 6:31 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

On Fri, 10 Feb 2012 22:06:12 +1100 Shane G
ibm-m...@tpg.com.au  wrote:

:On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

:  Would anyone want to share good/bad comments they've seen ?

:This code is never entered
:Usually in recovery/error processing code.

What I do is force an 0C6 in such cases. Leaves everything intact for
debugging.

--
Binyamin Dissenbdis...@dissensoftware.com
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.




Re: VarIabLe DD names in VSAM

2012-02-10 Thread Andy Coburn
 S0c3 is very nice for a deliberate abend, since it's extremely rare in its
accidental form; so my replacement is EXRL 0,*


But what a surprise when you've shipped your code to all your customers and
you find one who does not have the execute-extensions facility installed.
Your S0C3 magically becomes a S0C1.

My feeling is that if I can't find anything better to do than force an abend
that I'm not writing good code. How about error messages with return and
reason codes so when the customer calls your help desk saying he got a
S0C3/S0C1 that you have some idea what the problem is? Oh, and invariably
the customer will have deleted the dump if you took one.

This all said because should not occurs WILL occur at some time and some
place.

Andy

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Steve Smith
Sent: Friday, February 10, 2012 8:54 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

S0c3 is very nice for a deliberate abend, since it's extremely rare in
its accidental form; so my replacement is EXRL 0,*.

sas

On 2/10/2012 8:10, McKown, John wrote:
 I used to do EX *,0 to get an S0C3. I now do  j *+2  to get a S0C1.

 --
 John McKown
 Systems Engineer IV
 IT

 Administrative Services Group

 HealthMarkets(r)

 9151 Boulevard 26 * N. Richland Hills * TX 76010
 (817) 255-3225 phone *
 john.mck...@healthmarkets.com * www.HealthMarkets.com

 Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message. HealthMarkets(r) is the brand name for products underwritten and
issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
Life Insurance Company(r), Mid-West National Life Insurance Company of
TennesseeSM and The MEGA Life and Health Insurance Company.SM



 -Original Message-
 From: IBM Mainframe Assembler List
 [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Binyamin Dissen
 Sent: Friday, February 10, 2012 6:31 AM
 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Subject: Re: VarIabLe DD names in VSAM

 On Fri, 10 Feb 2012 22:06:12 +1100 Shane G
 ibm-m...@tpg.com.au  wrote:

 :On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

 :  Would anyone want to share good/bad comments they've seen ?

 :This code is never entered
 :Usually in recovery/error processing code.

 What I do is force an 0C6 in such cases. Leaves everything intact for
 debugging.

 --
 Binyamin Dissenbdis...@dissensoftware.com
 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.




Re: VarIabLe DD names in VSAM

2012-02-10 Thread Tony Harminc
On 10 February 2012 20:54, Steve Smith sasd...@gmail.com wrote:

 S0c3 is very nice for a deliberate abend, since it's extremely rare in its 
 accidental form; so my replacement is EXRL 0,*.

A Square Root exception is also only-deliberate in most non scientific
programs, and shows up on z/OS as a 0E0-1D abend. It's easy to create
in any number of ways, e.g:

LE0,*+4
SQER  0,0

Not that I recommend actually using any of these oh-so-cute but
appalling techniques, you understand...

Tony H.


Re: VarIabLe DD names in VSAM

2012-02-10 Thread Andy Coburn
 This all said because should not occurs WILL occur at some time and some
place.


Apropos of nothing, I have to repeat my all time favorite abend message. It
said Shut her down Clancy; She's a pumpin' mud.

Andy


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Andy Coburn
Sent: Friday, February 10, 2012 9:13 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

 S0c3 is very nice for a deliberate abend, since it's extremely rare in its
accidental form; so my replacement is EXRL 0,*


But what a surprise when you've shipped your code to all your customers and
you find one who does not have the execute-extensions facility installed.
Your S0C3 magically becomes a S0C1.

My feeling is that if I can't find anything better to do than force an abend
that I'm not writing good code. How about error messages with return and
reason codes so when the customer calls your help desk saying he got a
S0C3/S0C1 that you have some idea what the problem is? Oh, and invariably
the customer will have deleted the dump if you took one.

This all said because should not occurs WILL occur at some time and some
place.

Andy

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Steve Smith
Sent: Friday, February 10, 2012 8:54 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: VarIabLe DD names in VSAM

S0c3 is very nice for a deliberate abend, since it's extremely rare in
its accidental form; so my replacement is EXRL 0,*.

sas

On 2/10/2012 8:10, McKown, John wrote:
 I used to do EX *,0 to get an S0C3. I now do  j *+2  to get a S0C1.

 --
 John McKown
 Systems Engineer IV
 IT

 Administrative Services Group

 HealthMarkets(r)

 9151 Boulevard 26 * N. Richland Hills * TX 76010
 (817) 255-3225 phone *
 john.mck...@healthmarkets.com * www.HealthMarkets.com

 Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message. HealthMarkets(r) is the brand name for products underwritten and
issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
Life Insurance Company(r), Mid-West National Life Insurance Company of
TennesseeSM and The MEGA Life and Health Insurance Company.SM



 -Original Message-
 From: IBM Mainframe Assembler List
 [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Binyamin Dissen
 Sent: Friday, February 10, 2012 6:31 AM
 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Subject: Re: VarIabLe DD names in VSAM

 On Fri, 10 Feb 2012 22:06:12 +1100 Shane G
 ibm-m...@tpg.com.au  wrote:

 :On Fri, Feb 10th, 2012 at 9:37 PM, Sharuff Morsa3 wrote:

 :  Would anyone want to share good/bad comments they've seen ?

 :This code is never entered
 :Usually in recovery/error processing code.

 What I do is force an 0C6 in such cases. Leaves everything intact for
 debugging.

 --
 Binyamin Dissenbdis...@dissensoftware.com
 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.




VarIabLe DD names in VSAM

2012-02-08 Thread Kenneth J. Kripke
Use IFGACB macro to map the fields in the ACB.  Establish addressability to the 
generated ACB area and plug the DDNAME into the ACB ddname field.  The other 
macro of interest is IFGRPL for manipulating the RPL.

Ken Kripke
kkri...@mindspring.com


VarIabLe DD names in VSAM.

2012-02-07 Thread Bodoh John Robert
I am writing a subroutine which receives a DDNAME as an argument to use in a 
dynamically create ACB.  I need to put that input DDNAME into an ACB before 
opening it.  I cannot find anyway to specify the DDNAME on GENACB or MODCB that 
will accept anything other than a name that is a character string.  There must 
be a way to do it but I haven't found it.

John


Re: VarIabLe DD names in VSAM.

2012-02-07 Thread Paul Gilmartin

On 2/7/2012 3:25 PM, John Gilmore wrote:

I am missing something here.

What form would you like a DDNAME value to take?


Given that the DDNAME value is a character string, I suspect the OP
would like the macro to take an address of a character string as
an argument.



On 2/7/12, Bodoh John Robertjohn.robert.bo...@irs.gov  wrote:

I am writing a subroutine which receives a DDNAME as an argument to use in a
dynamically create ACB.  I need to put that input DDNAME into an ACB before
opening it.  I cannot find anyway to specify the DDNAME on GENACB or MODCB
that will accept anything other than a name that is a character string.
There must be a way to do it but I haven't found it.


-- gil


Re: VarIabLe DD names in VSAM.

2012-02-07 Thread David Bond
On Tue, 7 Feb 2012 22:17:00 +, Bodoh John Robert wrote:
I am writing a subroutine which receives a DDNAME as an argument to use in
a dynamically create ACB.  I need to put that input DDNAME into an ACB
before opening it.  I cannot find anyway to specify the DDNAME on GENACB or
MODCB that will accept anything other than a name that is a character
string.  There must be a way to do it but I haven't found it.

 GENCB BLK=ACB,DDNAME=(*,VARNAME)

VARNAME  DCCL8'MYDDNAME'

See Subparameters with GENCB, MODCB, SHOWCB, and TESTCB in Chapter 2 of
z/OS DFSMS Macro Instructions for Data Sets SC26-7408.  IIRC it works in
VSE too.

David