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

Reply via email to