Kirk,

You are correct about Histogram being "retro".  I believe it was written
in the early 1970's.  The program was designed to report on various
information related to VL files.  The reason for the HIS004A message is
that the RECFM of the SYSUT1 file is supposed to be some form of "V". If
the RECFM=F there will be no RDWs, BDWs, etc and the result is that
HISTOGRM ends with HIS004A.   

One of the inputs to the program is the position of the deepest key.
If you specify this input parm and you have records that are shorter
than the deepest key, the program will report on how many records will
be shorter than the deepest key. 

John Reda
Software Services Manager
Syncsort Inc.
201-930-8260

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Kirk Talman
Sent: Wednesday, October 05, 2005 11:16 AM
To: [email protected]
Subject: Re: Summarize length of all variable length records in a file?

I love this program.  So retro.  Without the magic handshake on SYSIN, 
SYSUT1 gets 013-18.  If SYSUT1 is RECFM=F file you get:

HIS004A  INVALID DCB OR ACB DATA

And what exactly is a "record too short"?  What does "key length" mean
on 
a flat file?

          HISTOGRM     VERSION 4  JAN. 1981 
HIS024I  LRECL      244   BLKSIZE    27998   RECFM VB 
HIS007I  NUMBER OF BLOCKS..............                  1
HIS008I  TOTAL LENGTH OF ALL BLOCKS....               1711
HIS009I  AVERAGE BLOCK LENGTH..........               1711
 
      BLOCK 
      COUNT 
 
            ..............................................
          1 .*
            ..............................................
HIS010I  NUMBER OF RECORDS.............                 43
HIS011I  TOTAL LENGTH OF ALL RECORDS...               1707
HIS012I  AVERAGE RECORD LENGTH.........                 40
HIS016I  KEY LENGTH....................                 20
HIS015I  AVERAGE SPACE PER RECORD - L6.                 50
HIS014I  RECOMMENDED SEG. SIZE - L7....                 28
HIS017I  LINE WIDTH....................                 20
HIS018I  LONGEST RECORD................                 49
HIS019I  SHORTEST RECORD...............                  5
HIS023I  RECORDS TOO SHORT.............                  6
HIS020I  DEVICE TYPE...................               3390
 
     RECORD 
      COUNT 
 
            ..............................................
          6 .****** 
          6 .****** 
         31 .******************************* 
            ..............................................


Mark Zelden <[EMAIL PROTECTED]> 10/05/2005 10:03 AM wrote

Since you have SYNCSORT, will HISTOGRM work?  I don't think I've run it
in 
15 years, but I just tried and it looks like it is what you want.  Here 
was my test JCL:

//STEP01   EXEC  PGM=HISTOGRM
//*STEPLIB  DD  DSN=syncsort_linklib,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSUT1   DD  DSN=userid.TEST.VB,
//             DISP=SHR
//SYSIN    DD  DUMMY,LRECL=80,RECFM=FB,BLKSIZE=80
//*SYSIN    DD  *
//* KEYL=2,DEVWK=3380,NOBLOCK,NOBIGSTP
<snip>

----------------------------------------------------------------------
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