The question how SMF records can be accessed with any generality is being
fudged.
One can now access some of them some of the time in (modern) COBOL, which
does support the data type FUNCTION POINTER.
COBOL does not, however, support self-defining records, illustrated by the
trivial PL/I construct
declare 1 SDAT based(SDATp), /* self-defining array */
2 sdls signed binary fixed(31,0), /* low element subscript */
2 sdhs signed binary fixed(31,0), /* high element subscript */
2 sdek signed binary fixed(31,0), /* single-element byte count */
2 sdea(0: refer(SDDAT.sdls):1 refer(SDAT.sdhs)) character(1
refer(SDAT.sdek)) ;
which can be used as a sort of DSECT for any character-string array. Such
self-defining records and subrecords abound in SMF output. (COBOL types who
may suppose that COBOL's occurs-depending is a functioonal equivalent of
PL/I's refer are warned that it is not.)
SMF records can be accessed and manipulated using HLASM routines, and this
can be done in PL/I too. It cannot, in general, be done in COBOL or indeed
in C/C++.
SMF-accessing routines that are to see repeated, significant, heavy use
should therefore be written in assembly language. Those written to answer
particular questions should be written in PL/I instead, and if they are to
be written in a statement-level procedural language they must be written in
PL/I.
It is, I think, worth noting explicitly that Ed Gould, alone among
contributors to this thread, did identify this problem.
John Gilmore
Ashland, MA 01721-1817
USA
_________________________________________________________________
http://newlivehotmail.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