I have some programs that analyze these records.  They in fact run on a mainframe, but that is adventitious.  I could run most of them on my Windoze workstation if I judged it sensible to download files of the (large) sizes involved.
 
What is important is that these and other SMF records are, in the jargon, self-defining ones.   Consider the PL/I structure declaration/template
 
declare 1 rec based(recp),
   2 vhi binary fixed(15,0),
   2 csl binary fixed(15,0),
   2 vla(avhi refer(rec.vhi)) binary fixed(31,0),
   2 csv character(acsl refer(rec.csl)) ;
 
declare (avhi, acsl) binary fixed(15,0) ;
 
In an existing instance of the structure/record rec, rec.vla is a fullword array of vhi elements and rec.csv is an SBCS (character) string csl bytes in length.  Moreover, the values of rec.vhi and rec.csl differ in general from one instance of rec to another. 
 
Since PL/I and of course the HLASM, the mainframe High Level ASseMbler), support these records, their analysis in a PL/I or HLASM procedure is straightforward.  In C or Java it is notoriously difficult.  (Note also that while COBOL ODO groups appear to have some of the characteristics of PL/I self-defining refer-containing structures they are in fact very different.)
 
Extended use of assembly language on a workstation is usually ill-advised.  (Most workstation assemblers are so minimalist that they appear to a would-be user to have  had discouraging their use as one of their principal design objectives.)  IBM does make a version of PL/I, implemented originally for OS/2, available for use under Windoze too; and there are also some quondam DEC implementations available.     
If (a) you know some PL/I and (b) you have access to a mainframe or other PL/I compiler and run-time library, I can make some of these programs available to you. 
 
If not, I suggest the use of a package or mainframe SAS (which can also handle such self-defining records, albeit clumsily).
John Gilmore
SystemCraft LLC

The opinions expressed above are mine alone. In particular, they are not necessarily shared by my company or its clients.

Reply via email to