> -----Ursprungligt meddelande-----
> Från: IBM Mainframe Discussion List
> [mailto:[EMAIL PROTECTED] För Hunter Cobb
> Skickat: den 5 mars 2008 21:28
> Till: [email protected]
> Ämne: Re: SV: SV: Debug Tool know how...
>
> 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.
This seems to contradict Your first ("succesfully") example ?
Or do I missinterpret You ?
>
> 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.
Many thanks for the help!
(With the use of "AT ENTRY" I made some progress...)
But how do ordinary cobol qualification work ?
Like "xyz OF abc OF ghi" etc.
I don't seem to get it right, despite "profreading"
the variable names and quals in the program. Do DT
require ALL quals for a variable ?
Like "xyz OF abc OF def OF ghi OF jkl" despite that
"xyz OF abc OF ghi" would be enough unique for COBOL.
(It's now quite late here, I will continue tomorrow.)
A part of my log:
...
* The ENTRY SISGB10 ::> SISGB10 breakpoint is replaced.
AT ENTRY SISMB10
PERFORM
QUALIFY CU SISMB10 ;
AT CHANGE WB20-CLNR-XX OF WB20-IMPORT-AVTAL-EV OF
SISMB20-DS
PERFORM
LIST WB20-CLNR-XX OF WB20-IMPORT-AVTAL-EV OF SISMB20-DS
;
END-PERFORM ;
AT CHANGE WB20-CLNR-LIKV-XX OF WB20-IMPORT-EV OF SISMB20-DS
PERFORM
LIST WB20-CLNR-LIKV-XX OF WB20-IMPORT-EV OF SISMB20-DS
;
END-PERFORM ;
AT CHANGE CLNR-LIKV OF MOD-BUFFER
PERFORM
LIST CLNR-LIKV OF MOD-BUFFER ;
END-PERFORM ;
END-PERFORM ;
* The Entry breakpoint command for SISMB10 :> SISMB10 has been
* deferred until the CU appears.
* The ENTRY SISMB10 breakpoint is replaced.
* *** Commands file commands end ***
GO ;
GO ;
* The variable WB20-CLNR-XX is undefined or is incorrectly
* qualified.
GO ;
* The variable WB20-CLNR-LIKV-XX is undefined or is incorrectly
* qualified.
GO ;
* The variable WB20-CLNR-XX is undefined or is incorrectly
* qualified.
GO ;
* The variable WB20-CLNR-LIKV-XX is undefined or is incorrectly
* qualified.
GO ;
GO ;
* The variable WB20-CLNR-XX OF WB20-IMPORT-AVTAL-EV OF SISMB20-DS
* is undefined or is incorrectly qualified.
* An attempt to automatically restore an AT CHANGE breakpoint
* failed.
* The variable WB20-CLNR-LIKV-XX OF WB20-IMPORT-EV OF SISMB20-DS
* is undefined or is incorrectly qualified.
* The variable CLNR-LIKV OF MOD-BUFFER is undefined or is
* incorrectly qualified.
GO ;
* CLNR-LIKV OF MOD-BUFFER = X'40000000'
GO ;
* CLNR-LIKV OF MOD-BUFFER = ' '
GO ;
...
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