Thomas Berg wrote:
-----Ursprungligt meddelande-----
Från: IBM Mainframe Discussion List
[mailto:[EMAIL PROTECTED] För Don Leahy
Skickat: den 5 mars 2008 17:40
Till: IBM-MAIN@BAMA.UA.EDU
Ämne: Re: SV: Debug Tool know how...
On Wed, Mar 5, 2008 at 9:15 AM, Thomas Berg
<[EMAIL PROTECTED]> wrote:
[mailto:[EMAIL PROTECTED] För Don Leahy
> Skickat: den 5 mars 2008 14:49
We runs ver 7.1 (upgraded recently from 6.1).
If You have some examples of AT CHANGE and LIST with
qualified variables I would be pleased if You can send
any to me.
BTW, I'm trying to use this code in pre-saved PDS-members
to be run automatically in DT, if that make any difference.
Thanks,
Thomas
Fully qualified names work for me:
AT LABEL CXXMU21::>CXXMU21:>CXXMU21:>MAIN-OUTPUT
Where CXXMU21 is my load module name.
This also works for me:
AT LABEL %BLOCK:>MAIN-OUTPUT
And so does
AT LABEL %CU:>MAIN-OUTPUT
But not:
AT LABEL %CU:>%BLOCK:>MAIN-OUTPUT
and
AT LABEL %LOAD::>%CU:>%BLOCK:>MAIN-OUTPUT
Thanks!
Looks like what I'm coding. (Except that I use "AT CHANGE".)
Is that C++ modules ?
Thomas
_____________________________________________________________
Thomas Berg Specialist IT Utveckling Swedbank AB (Publ)
----------------------------------------------------------------------
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
Thomas,
Some experiments with AT CHANGE confirm Don's observations about
qualified names in COBOL. I've found that the Debug Tool 7.1 seems to
allow at most one variable-based name, provided it's the first name
reference in a series of name references. E.g., for a variable named
xyz, in block blk1, in compile unit comp1, in load module lm1, you can
successfully follow AT CHANGE with:
lm1::>comp1:>blk1:>xyz [no debug tool variables]
%block:>xyz [block qualification variable]
%cu:>blk1:>xyz [compile unit qualification
variable]
%cu:>xyz [compile unit
qualification, omitting block specification]
%load::>blk1:>xyz [load module qualification,
with block name]
%load::>comp1:>xyz [load module qualification, with
compile unit name]
%load::>comp1:>blk1:>xyz [load module qualification, with both
compile unit and block name]
Any attempt to precede a debug tool variable reference with either
another debug tool variable reference, or an explicit load module /
compile unit / block name seems to fail. I'm not sure whether this is a
feature or a problem; as you've noted, the documentation leaves some
room for interpretation.
For what it's worth, in COBOL, the compile unit name is the first
PROGRAM-ID in the source module. The block name is the same as the
compile unit name, unless you are referencing variables defined in
nested programs. A variable defined in a nested program's DATA DIVISION
would have the block name of the nested program's PROGRAM-ID, but would
have the compile unit name of the outermost program's PROGRAM-ID. Most
typically (i.e., in the absence of nested programs), compile unit name
and block name are the same, and you would normally only specify one of
the two. Load module name is, of course, the member name of the
executable program in the load library.
Hope this helps,
Hunter Cobb
The Trainer's Friend, Inc.
----------------------------------------------------------------------
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