On 21 Jul 2007 06:10:13 -0700, in bit.listserv.ibm-main you wrote: >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. With the ability to use the construct of MOVE field-name (relative-position, desired-length) to Group-Field, I was able to handle the type 14, 30 and 64 records easily. Only 1 byte binary fields, bit switches and the need for separate DD statements for VB and VBS files were pains. I could code MOVE SMF-RECORD (Accounting-Field-offset, Accounting-field-length) TO WORK-ACCOUNTING-FIELD. > >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 > Clark Morris, semi-retired MVS systems programming (was only in applications on z/OS)
---------------------------------------------------------------------- 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